Are you excited about building high-performance robotic systems that can perceive, learn, and act intelligently alongside humans? The Robotics AI team is creating new products and technologies that make this possible, at Amazon scale.
The Robotics AI software team is seeking broad, curious senior engineers to join our diverse, full-stack team. In addition to holistically designing, building, and delivering end-to-end robotic systems, our team is responsible for the core infrastructure and tools that serve as the backbone of our robotic applications, enabling roboticists, machine learning scientists, and software engineers to collaborate and deploy systems in the lab and in the field. Our work spans Real Time software, machine learning engineering, big data, simulation, and more.
In this particular role you will work closely with both world leading scientists and product teams across Amazon, translating research into real robotics systems deployed across our fulfillment network.
Architect, design, and implement robotic software applications, infrastructure, and tools.
Work with stakeholders across hardware, science, and operations teams to iterate on systems design and implementation.
Create robust, high-quality, well-tested software to interface with and control sensors, actuators, and other hardware.
Collaborate with machine learning and robotic controls experts to implement and deploy algorithms, such as machine learning models.
Profile, tune, and optimize system performance.
Create re-usable software and systems to accelerate robotics development.
Maintain high standards by participating in reviews, designing for fault tolerance and operational excellence, and creating mechanisms for continuous improvement.
Mentor junior team members.
A Bachelor's degree in Computer Science, Computer Engineering, or equivalent combination of technical education and work experience.
7+ years of software development experience, with background in design patterns, data structures, and test-driven development.
Proficiency developing production-quality software in languages such as C++, Python, or Java.
Proficiency with professional software engineering practices & standard practices for the full software life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
Master's or advanced degree in Computer Science, Computer Engineering or related technical discipline.
10+ years of software development experience.
Experience in one or more relevant technical areas: robotics, computer vision, machine learning, sensors, Real Time systems, Embedded systems, distributed systems, simulation, high-performance scientific computing, or building infrastructure for engineering/science users.
Expertise in machine learning toolchains and techniques, such as TensorFlow or MxNet.
Expertise building and testing Real Time or safety-critical systems, such as aerospace, automotive, or medical devices.
Experience with interdisciplinary developments that involve hardware, software, and algorithm co-design.
Experience supporting large-scale infrastructure and tool development for scientific/engineering users.
Strong fundamentals in operating systems, Embedded systems, or systems programming.
Independent and Entrepreneurial showing the ability to work with minimal direction.
Demonstrated experience incubating and productionizing new technology, working closely with research scientists and technical teams from idea generation through implementation.