Full Job Description
Help us build the software stack underneath Frontier AI & Robotics: the layer between hardware and the AI policies running on it. You'll work end-to-end across the stack, from bringing up sensors and actuators at the HW/SW boundary, to hardening the multi-process runtime that ties them together, to shipping the framework changes that let the rest of the team move faster.
This is a generalist role with a real systems edge. We need someone equally at home down at the sensor and OS boundary (drivers, IPC, real-time behavior, profiling) and up in robotics application code (most of it Python). You'll spend stretches of a few days to a few weeks each on things like bringing up a new sensor at the protocol layer, chasing a flaky USB camera at the kernel boundary, generalizing the camera stack, cutting perception latency, porting code onto edge compute, or chasing a DDS/ROS 2 performance regression.
You'll work with sharp, motivated engineers across hardware, ML research, controls, and ops on continuously changing problems at the frontier of AI and robotics. The role rewards engineers who communicate clearly, invest in cross-team relationships, and ship.
Key job responsibilities
- Bring up and integrate sensors, actuators, and edge compute across diverse robotics hardware platforms.
- Build and improve the multi-process Python and ROS 2 runtime: process management, IPC, observability, lifecycle.
- Diagnose and fix bottlenecks across the stack: middleware performance (DDS, ROS 2), perception pipeline latency, edge inference throughput, system-level resource contention.
- Generalize one-off solutions into reusable infrastructure (camera stacks, telemetry pipelines, edge deployment tooling) that scales across hardware platforms and use cases.
- Port code onto the constrained edge-compute platforms our robots run. Make it work, then make it work well.
- Identify gaps in the team's velocity, whether that's a missing piece of infrastructure or a fragile sensor that nobody has time to fix, and close them.
- Make proper tradeoffs between prototyping and production software.
BASIC QUALIFICATIONS
- Bachelor's degree in computer science or equivalent
- 5+ years of software development experience
- Experience with C++/Python interop or other hybrid-language stacks.
- Experience as a tech lead, mentor, or technical owner of an engineering team or significant component. Experience designing and shipping software systems that run across distributed processes, edge devices, or real-time constraints.
- Experience working closely with hardware, ML, or controls teams as the software counterpart.
PREFERRED QUALIFICATIONS
- Experience with low-level driver work and sensor bring-up across protocols (I2C, SPI, USB, MIPI, CAN).
- Experience optimizing data plane performance: DDS tuning, kernel networking, shared memory IPC, real-time scheduling.
- Experience with ROS 2 or other robotics middleware in production.
- Experience deploying ML inference at the edge under latency and memory constraints.
- Experience with multi-process Python lifecycles and writing performant Python (asyncio, multiprocessing, NumPy/JAX vectorization, GIL-aware design).
- Web application or full-stack web experience is a bonus.
Our compensation reflects the cost of labor across several U.S. geographic markets. The base pay for this position ranges from $150,000/year in our lowest geographic market up to $300,000/year in our highest geographic market. Pay is based on a number of factors, including market location, and may vary depending on job-related knowledge, skills, and experience. Amazon is a total compensation company. Dependent on the position offered, equity, sign-on payments, and other forms of compensation may be provided as part of a total compensation package, in addition to a full range of medical, financial, and/or other benefits. For more information, please visit https://www.aboutamazon.com/workplace/employee-benefits. Applicants should apply via our internal or external career site.