Overview
Joby's energy storage and distribution system is the heart of our electric aircraft: the battery packs that power flight, the Battery Management System (BMS) software that keeps them safe, healthy, and performant, and the Battery Ground Support Equipment (BGSE) that turns an eVTOL aircraft around in minutes. Together they form one energy ecosystem, engineered around the demands of commercial eVTOL service: flight safety, charge rate, thermal conditioning, automated operation, and deep integration between aircraft and ground infrastructure.
In this role, you'll be a key contributor to Joby's energy storage and distribution system software team, dedicated to C++ software development across both the aircraft BMS and the BGSE charging system. You will be responsible for developing, testing, and deploying software across these domains, will be a key contributor to their architecture and technical roadmap, and will provide technical guidance to other engineers on the team. Since this software must meet stringent safety requirements, your code will be held to high safety and regulatory standards — it will fly on real aircraft and charge them at real vertiports. Apply if you're excited about taking responsibility for the software at the center of commercial electric aviation's energy systems.
Responsibilities
You will be responsible for designing and implementing the embedded C++ software that runs on our aircraft battery management system and battery ground support equipment, and for advancing these software areas: contributing to their architecture and roadmaps alongside the software lead, translating complex multi-domain problems into well-scoped workstreams, and providing technical guidance to other engineers through design reviews, code reviews, and mentorship. You'll also collaborate with systems engineers, battery engineers, algorithm engineers, and hardware designers to author software requirements and integrate complex systems. You will be involved in all facets of our software design and development.
- Develop, test, and verify safety-critical embedded C++ software for the aircraft battery management system: battery monitoring and protection functions, fault detection and diagnostics, and low-level software interfacing with battery monitoring circuitry.
- Develop, test, and optimize embedded C++ software across the BGSE charger's domains, including electrical and power control, thermal management, safety functions, and communications.
- Integrate algorithms developed by Joby's algorithm teams into production embedded C++ software, partnering closely on interfaces, performance, and verification.
- Contribute substantially to the software architecture and technical roadmap across the BMS and BGSE areas, in close partnership with the software lead — proposing architecture and design directions, identifying opportunities, scoping workstreams, and helping keep development on schedule.
- Develop the software that connects the charger, the aircraft battery, and Joby's backend infrastructure, ensuring robust and reliable data exchange — including the charge control interactions between aircraft and ground systems.
- Define and maintain software interfaces with aircraft-side, hardware, algorithm, and backend teams.
- Provide technical guidance to other engineers: design and code reviews, mentorship, and establishing team standards for testing, automation, and release practices.
- Work with cross-functional teams (battery cell and pack, electrical, thermal, systems, aircraft software, operations) to decompose system requirements into software requirements and refine operational constraints.
- Ensure software meets certification standards through rigorous documentation, verification (including software- and hardware-in-the-loop testing), and compliance activities.
- Debug complex issues across the hardware/software boundary on live high-voltage systems — in the lab, on the aircraft, and in the field at operational sites.
Required
- Bachelor's degree in Computer Science, Electrical Engineering, Robotics, or a related STEM field and 8+ years of relevant experience, OR Master’s Degree and 6+ years of experience, OR PhD and 3+ years of experience
- Expert-level modern C++ and real-time operating systems and/or embedded Linux.
- Has taken a problem statement or area, developed it into a project or roadmap, and delivered — with multiple embedded software projects seen through to completion.
- Deep understanding of microcontroller/microprocessor architectures and hands-on experience debugging embedded targets.
- Networking and communications experience (Ethernet/UDP/TCP, CAN).
- Experience providing technical guidance to other engineers through design/code review and mentorship.
- Experience with git, CI/CD, and automated testing (unit, integration, or HIL).
- Experience developing to formal requirements for safety-critical or high-reliability systems.
- Prior experience with Python.
- Strong communication and documentation skills.
Desired
- Familiarity with the following:
- EV charging systems / EVSE (DC fast charging, CCS, ISO 15118, OCPP, MCS)
- Battery systems and BMS (state-of-charge/state-of-health estimation, charge algorithms)
- High voltage systems
- Thermal management and liquid cooling control
- Aviation software standards (DO-178C, ARP4754A)
- Linux
- Experience thriving in a fast-paced, quick-iteration hardware environment.
Additional Information
Compensation at Joby is a combination of base pay and Restricted Stock Units (RSUs). The target base pay for this position is $155,900 - $227,300/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.