Software Developer (E2), Product Engineering at Ocado Group
Toronto, ON, Canada -
Full Time


Start Date

Immediate

Expiry Date

05 Oct, 25

Salary

0.0

Posted On

05 Jul, 25

Experience

0 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Code, Kinematics, Containerization, Cuda, Distributed Systems, Computer Science, Linux, Calibration, Static Analysis, Dynamics, Programming Languages, Opencl, Kanban, Testing

Industry

Computer Software/Engineering

Description

ABOUT US

We are Ocado Technology (previously part of the Kindred acquisition) and we empower global grocery retailers with cutting-edge cloud, robotics, AI, and IoT. Our intelligent automation product engineering development center is in Toronto, Canada, where a team of brilliant engineers are developing disruptive material handling systems for the online grocery industry and other retail verticals. We aim to enhance the lives of human workers with the power of AI robotics, by developing robots to solve real-world problems. If you are excited about the cross-section where machines meet humans, about the future of work, retail and supply chains, and want to help transform the grocery logistics industry, we are interested in getting to know you.

TECHNICAL SKILLS

  • Ability to develop code that is clear, efficient, and maintainable within time and resource constraints on Linux
  • Exposure to modern software development processes such as design documentation, code reviews, CI/CD, testing, project management workflow, and source control conventions
  • Good analytical, problem-solving, communication, and organisation skills
  • Bachelor’s degree in Computer Science or equivalent professional experience

BONUS QUALIFICATIONS

  • Familiarity with robotics middleware and tooling
  • Competency in Go
  • Hands-on experience designing safe, reliable manipulator systems: kinematics, dynamics, calibration, grasp synthesis, collision avoidance, and compliance with ISO functional-safety standards
  • End-to-end machine-learning practice: data ingestion and preprocessing, feature engineering, model training/tuning with PyTorch, TensorFlow, or JAX, rigorous evaluation, and A/B or multivariate experimentation
  • MLOps and DevOps proficiency, containerization, CI/CD, automated testing, model versioning, on-device telemetry, and observability dashboards
  • Application of advanced ML to real-time robotic control: imitation learning, RL-based skill acquisition, adaptive behaviour optimisation, and online trajectory refinement
  • Passion for clean code and collaborative engineering: design reviews, static analysis, Agile/Scrum or Kanban workflows, and mentoring peers on best practices
  • Understanding of multiple programming languages and paradigms and the judgment to choose the right tool for the task
  • Skill in building digital twins and high-fidelity simulations to accelerate development, testing, and data generation
  • Background in high-performance and distributed systems: GPU programming with CUDA or OpenCL, multi-threaded and lock-free designs, message-passing architectures, and eventual-consistency patterns
    Even if you don’t know everything above, we still want to hear from you!
Responsibilities

As a Software Developer on the Software Product Engineering team, you will have the exciting opportunity to design, implement, and maintain cutting-edge software solutions, across multiple codebases, that integrate AI with complex hardware components within robotic pick-and-place systems. You will navigate and reconcile considerations for immediate and future product needs, encompassing but not limited to scalability, maintainability, performance, reliability, security, safety, compliance, and robustness, even in situations where the requirements may be unclear or evolving. You’ll collaborate cross-functionally with roboticists, software and machine learning developers, hardware engineers, quality assurance, researchers, and product managers & support experts in Toronto and other offices. You’ll develop solutions in our lab, define validation testing routines, cut releases, and deploy, monitor, RCA, and optimise them on our fleet of robots. In this role, you will be part of an on-call rotation in order to service our customers.
The ideal candidate demonstrates strong technical and intellectual abilities, quickly learns new skills, and proactively tackles complex problems with innovative thinking. They take ownership of their work, prioritize effectively, and consistently deliver results while maintaining a strong sense of accountability. With a solid understanding of the broader business context, they remain adaptable and focused under pressure and change. Clear and confident in both verbal and written communication, they collaborate effectively with internal teams and contribute meaningfully to shared goals.

Loading...