Senior Embedded Software Engineer, Hardware Emulation
New Yesterday
Overview
The Embedded SW Engineer, Hardware Emulation Team develops hardware-in-the-loop testing infrastructure for testing the flight electronics used on the Joby aircraft. The emulators themselves are embedded systems which emulate the behavior of sensors, actuators, and other peripheral devices on the aircraft. Emulator development is cross-disciplinary, often requiring a keen understanding of topics such as motor control, sensor modeling, networking, digital signals, physical system modeling, embedded systems and automation.
Responsibilities
Embedded C++ developers for the HW Emulation Team will be responsible for thoroughly understanding the electrical and software architecture of the aircraft and developing emulators that provide appropriate functional testing and fault injection capabilities. This will involve frequent collaboration with members from other teams including Systems Engineering, Flight Physics, Simulation, FPGA Development, Electrical Engineering, Automation, Flight Software, Software Verification, and Certification.
We seek innovative self-starters who enjoy learning and working collaboratively. Developing modular, maintainable and well-documented software architectures is paramount.
Required
BS in electrical engineering, computer science, computer engineering, mechatronics or similar field and 7+ years of industry experience. An advanced degree and 5+ years of industry experience will be considered as well as a very strong demonstratable portfolio of designed and implemented embedded software code could be considered.
Expert knowledge of C++.
Expert knowledge of object-oriented programming methodology and multi-layered system architectures.
Experience with communication protocols including I2C, CAN, SPI, UART, etc.
Hands-on experience with test and measurement equipment such as oscilloscopes, logic analyzers, protocol analyzers, voltmeters, etc.
Ability to write software based on board schematics, datasheets, and hardware design documents.
Ability to comprehend complex system requirements to provide emulation software requirements.
Ability to understand written code in complex systems, perform code analysis, and distill information effectively.
Experience with version control systems (e.g., Git).
Basic familiarity with Python.
Desired
Experience with safety-critical embedded systems is a plus
Experience with unit testing, integration testing, and hardware-in-the-loop testing is a plus.
Experience with DO-178C or similar assured software development process is a plus.
Please still apply if you don’t meet all items in the desired section! Studies have shown that women and people of color are less likely to
- Location:
- Santa Cruz