Join Amazon Robotics' Embedded software team to tackle one of the most exciting challenges in robotics: creating intelligent safety systems that enable humans and robots to work safely side-by-side. We're looking for embedded software engineers who want to work at the intersection of hardware and software, writing code that powers our global fleet of fulfillment robots. Your embedded software will run on a large-scale fleet of robotics systems deployed across our global fulfillment network. The code you write directly supports warehouse associates in their daily work, enables efficient order fulfillment, and advances the capabilities of autonomous robotics in real-world operations. In this role, you'll collaborate across multiple engineering disciplines, working with mechanical, electrical, cloud software, fleet management, manufacturing, cybersecurity and field support teams. You'll explore the latest development of AI and secure edge development on resource-constrained embedded systems while adhering to rigorous safety standards and implementing deterministic behavior that protects people interacting with automated robotic solutions. Key job responsibilities
Design and develop embedded software for safety-critical robotics systems using modern languages (C/C++/Rust, or willingness to learn), with a focus on writing clean, maintainable code that meets safety and reliability standards
Leverage modern development tools including AI-assisted coding tools and LLMs to enhance productivity, code quality, and development velocity
Collaborate across disciplines with hardware engineers, manufacturing teams, robotics specialists, and software developers to deliver integrated solutions from concept through deployment and field support
Contribute throughout the product lifecycle following agile software development approach to capture requirements, design software architecture, implement, test, deploy and maintain embedded systems firmware
Engage in collaborative code reviews to share knowledge, learn from peers, and collectively improve code quality, system reliability, and user experience
Debug and optimize embedded systems in both lab and field environments, developing creative solutions to complex hardware-software integration challenges
Mentor and grow alongside team members through knowledge sharing, technical discussions, and collaborative problem-solving