Software Engineer - Product

Ocado Group

About the job

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 co-located in San Francisco and Toronto and is part of the UK-based Ocado Group plc.

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 San Francisco/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.

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++, Go, 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 collaborative 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 experience

Bonus Qualifications:

  • Additional breadth or depth of experience in programming languages and paradigms. 
  • Can learn fast, and are flexible working with different problem domains and projects
  • Background in robotic manipulation, large-scale data analysis/visualisation platforms, low-level device driver development, embedded systems & communication protocols, simulations, full-stack development, concurrent/parallel/distributed systems, machine learning, and computer vision

Even if you don’t know everything above, we still want to hear from you!

Read Full Description
Confirmed 16 hours ago. Posted 30+ days ago.

Discover Similar Jobs

Suggested Articles