Autonomy Embedded Engineer
Company Overview
Joby Advanced Development designs, develops, and flight-tests novel aircraft using a software-first autonomy approach. We build and deploy autonomy, perception, planning, and radar systems across conventional, electric, and hydrogen-electric aircraft in both CTOL and VTOL configurations.
Overview
Joby's Advanced Development group is looking for an engineer to own and grow our hardware-in-the-loop and test-automation capability for novel aircraft and flight automation systems.This role is responsible for the fidelity, coverage, and reliability of the pipeline that allows us to test all new changes to our redundant compute system ahead of deployment.You will work closely with the core software team, flight controls, avionics, and flight test engineers who depend on this infrastructure.We're looking for someone who thrives in fast-paced environments, takes full ownership of infrastructure the whole flight software org relies on, and consistently delivers high-impact results.
Responsibilities
- Develop and maintain the test infrastructure, fault injection frameworks and annunciation mechanisms required for in-the-loop testing
- Develop software in the loop, hardware in the loop and aircraft in the loop simulation infrastructure: in-the-loop scenario runner, simulated peripherals, and per mode configuration
- Bring up, debug, and maintain the physical HITL rigs, and keep rig hardware and configuration matched to the real aircraft they stand in for
- Build and extend hardware-CI pipelines that deploy flight software to rig hardware and run pass/fail, timing, and platform-log checks automatically, with results stored for trend tracking
- Write and maintain Bazel-based C++ and Python scenario and unit tests, including property-based tests, that exercise the flight software against realistic sensor, actuator, timing, and network-transport conditions
- Integrate new sensors and actuators into both the simulated and hardware-in-the-loop environments over their native buses (CAN, UART/RS-485, I2C, SPI, ARINC 429, Ethernet)
- Triage rig and CI failures: separate simulation-fidelity gaps from rig hardware faults from real flight-software bugs, and drive each to the right owner with a reproducible case
- Work with flight test and controls engineers to convert observed flight behavior into repeatable in-the-loop scenarios, closing the loop between flight data and pre-flight validation
Required
University degree in computer science, computer engineering, electrical engineering, mechatronics, or a similar field; or a strong portfolio of embedded / test-automation software and 5+ years relevant industry experience
Strong C++ and Python, and fluency with Git
Experience building or maintaining hardware in the loop or comparable automated test infrastructure that runs real embedded hardware in CI
Working knowledge of embedded communication buses (CAN, UART/RS-485, I2C, SPI, or similar) at the level needed to debug them with a scope or logic analyzer
Understanding of real-time and safety-critical software concepts: deterministic fixed-rate execution, timing budgets, redundancy, and what makes a test of such a system trustworthy
Experience with a hermetic build system (Bazel or equivalent) and a CI system (Buildkite, Jenkins, GitHub Actions, or equivalent)
Experience with Linux, including remote deployment and debugging on embedded Linux targets
A passion for clean, long-lived, and readable object-oriented software architecture. Not just working code, but code built to survive years of extension by other engineers
This position must meet US export control compliance requirements, therefore a candidate must qualify as a “US Person” as defined by 22 C.F.R. § 120.15. “US Person” includes US Citizens, lawful permanent residents, refugees, or asylees.
Desired
- Property-based testing experience
- Experience with pub/sub or message-bus middleware for distributed embedded software (DDS, ROS 2, or a custom transport)
- Hands-on experience with servos, motor controllers, or other actuators on serial or CAN buses
- Experience designing or reviewing simple electrical hardware (PCBs, harnesses, breakout boards) to support test rigs
- Experience analyzing flight or test log data at scale (SQL, Databricks, or similar) to find regressions or derive new test cases
- Rust experience
- Aerospace, automotive, or robotics safety-critical industry experience
Compensation at Joby is a combination of base pay and Restricted Stock Units (RSUs). The target base pay for this position is $136,100 - $202,600/yr. The compensation package will be determined by job-related knowledge, skills, and experience.
Joby also offers a comprehensive benefits package, including paid time off, healthcare benefits, a 401(k) plan with a company match, an employee stock purchase plan (ESPP), short-term and long-term disability coverage, life insurance, and more.
Additional Information
Joby Aviation is an equal opportunity employer.
