San Francisco OR Toronto, Ontario, Canada †-†Permanent
Our client is on a mission to build human-like intelligence in machines.
Since 2014, they've been paving the way for a world filled with more powerful and helpful AI systems. They bring together reinforcement learning, machine learning, and remote human guidance to create intelligent robots that solve real-world problems alongside humans in complex, changing environments like today's supply chain.
As a Software Developer, you will work within an agile Engineering Team, that works with rapid iterations and continuous improvement, to create the most intelligent robotics system for our customers. Youíll collaborate cross-functionally with roboticists, software and machine learning developers, researchers, product managers, and mechanical engineers, to design, build, and support software features, across multiple codebases, for robot control, motion planning, perception, sensor fusion, human-robot interaction, and device drivers. With a focus on product performance, safety, usability, scalability and maintainability, youíll test these features in our lab, cut releases for QA, and deploy, experiment, monitor and optimize them on the fleet of robots in production.
Every day will bring new and exciting challenges on the job while you:Design and develop software against functional and system requirements
Work closely with a cross-functional team to understand and clarify requirements
Ensure architectural integrity and product quality across team efforts
Design, code, test, debug, and document software components
Assist troubleshooting problems in development and production environments
Mentor, grow, and motivate junior team members, interns, and peers
Our client is hiring Developers at multiple levels ranging from Associate to Staff Engineer
Must Have Skills:
- Expertise in designing, developing and operating complex software solutions, both greenfield and evolving
- Significant development experience in modern C++, Python, and/or Go, on Linux
- Reliable production of quality software within time and resource constraints
- Complete familiarity with modern software development processes such as design documentation, code reviews, CI/CD, testing, project management workflow, and source control conventions
- Excellent analytical, problem solving, communication and organization skills
- Dedication to meeting project deadlines and an ability to propose well-reasoned options under pressure
- Excellent understanding of the organizationís goals and objectives
- Bachelor's degree in computer science, computer engineering or equivalent
Depending on level, you will have 2- 8+ years of varied and progressive professional experience
Nice to Have Skills:
- Specific expertise in any of: control systems, real-time systems, distributed systems, machine vision, machine learning, robotic manipulation, material handling, industrial automation, physical or discrete event simulation, applied statistics and design of experiments, data visualization
- Any mechanical, electrical or mechatronic design, assembly, and hardware-in-the-loop testing experience