Software Developer (E2) - Product Engineering
About Us
Founded in 2014, Kindred is a robotics and artificial intelligence (AI) company that develops robots to solve real-world problems. Its mission is to enhance the lives of human workers with the power of AI robotics. Kindred’s cutting-edge technology is the foundation of a number of proprietary platforms, including CORE with AutoGrasp™, developed to operate robots autonomously in dynamic environments. Its team of scientists, engineers and business operators have set a new standard for reinforcement learning for robots. The company is located in Toronto and is part of the UK-based Ocado Group plc.
About The Role
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.
What you bring
2 or more years of professional experience in software development, with a strong focus on designing and implementing scalable, high-performance software solutions and well-crafted APIs on edge and cloud-native architectures, both greenfield and evolving
Competency in programming languages such as C++ and Python, along with a good understanding of software engineering principles, design patterns, and best practices
Excitement at the prospect of getting your hands dirty with a variety of technologies and tools, ranging from low-level hardware communication protocols to cloud infrastructure for machine learning
Capacity to tackle varied challenges and adaptable to changing priorities, balancing a long-term mission with short-term requirements
Value collaboration over individual ways of working and are comfortable being challenged by others
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!