About the job
As a Software Development Engineer II on the Autonomous Mobility Motion team, you will own critical components of task planning, motion planning, control, and navigation software. You will work on supporting and evolving our production robotics systems, developing generalizations that enable our robots to operate in new environments and use cases. You will also have an opportunity to be involved in development of ML and AI-based motion planning and task planning systems. Your work will directly impact thousands of fully autonomous robots operating safely alongside people in fulfillment centers worldwide.
Responsibilities
- Design, develop, and deploy software for task planning, motion planning, and control systems for autonomous mobile robots
- Build scalable, generalizable, and highly reliable systems with comprehensive metrics monitoring and regression alarming
- Support production robotics systems deployed across Amazon's fulfillment network, troubleshooting issues and implementing improvements
- Develop generalizations that enable autonomous navigation capabilities to scale to new environments and use cases
- Collaborate with Applied Scientists to integrate machine learning models into production motion planning and control systems
- Work with cross-functional teams (Perception, SLAM, Infrastructure, Fleet Management) to deliver end-to-end autonomous navigation solutions
- Contribute to the full software development lifecycle including design, implementation, testing, deployment, and operational support
- Write high-quality, maintainable code primarily in C++ and TypeScript, with exposure to Python, Java, ROS/ROS2, TensorFlow, TensorRT, and PyTorch
Qualifications
Minimum
- 3+ years of non-internship professional software development experience
- 2+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Bachelor's degree or foreign equivalent in Computer Science, Engineering, Mathematics, or a related field
Preferred
- Experience 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