About the job
As a Software Development Engineer III on the AMS Motion team, you will lead the technical direction for critical components of our autonomous navigation stack, including task planning, motion planning, control, and navigation software. You will own team-level architecture decisions and drive the evolution of our production robotics systems, developing generalizations that enable our robots to operate safely and efficiently across diverse environments and use cases. You will play a key role in architecting and implementing next-generation ML and AI-based motion planning and task planning systems, with your work directly impacting thousands of fully autonomous robots operating alongside people in fulfillment centers worldwide. You will be a technical leader within a collaborative team of Applied Scientists and Software Development Engineers, providing architectural guidance and mentorship to engineers at all levels. You will work strategically across teams including Perception, SLAM, Infrastructure, Fleet Management, and Coordination Services to deliver robust, scalable, and highly reliable autonomous navigation solutions. You will lead projects that require the work of multiple engineers, ensuring cohesive integration and technical excellence.
Responsibilities
Designing motion planning and task planning systems that generalize to new scenarios and environments
Developing and improving motion planning algorithms
Building and owning training pipelines for machine learning-based motion planning
Leading development metrics and analysis frameworks and proactive alarming tools to diagnose motion planning and navigation issues
Leading cross-functional alignment on software interfaces with Perception, SLAM, Infrastructure, and Fleet Management
Setting code quality standards, writing exemplary C++, TypeScript, Python, and ROS/ROS2 code
Mentoring engineers through design reviews and code reviews that elevate team capabilities
Qualifications
Minimum
5+ years of non-internship professional software development experience
5+ years of leading design or architecture (design patterns, reliability and scaling) of new and existing systems experience
5+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
5+ years of programming with at least one software programming language experience
Experience as a mentor, tech lead or leading an engineering team
Preferred
Bachelor's degree in computer science or equivalent
Expertise with C++ or TypeScript in production environments
Experience with robotics frameworks such as ROS or ROS2
Experience implementing autonomous navigation systems (motion planning, perception, SLAM), or task planning and action generation from machine learning models
Experience with machine learning frameworks (TensorFlow, TensorRT, PyTorch) and integrating ML models into production systems
Experience with embedded systems or real-time software development