Hardware Emulation Engineering Lead

Joby Aviation Joby Aviation · Robotics · Santa Cruz, CA · Software

Joby Aviation is seeking a Hardware Emulation Engineering Lead to develop hardware-in-the-loop testing infrastructure for the flight electronics used on their aircraft. The role involves leading a team to understand aircraft architecture and develop emulators for functional testing and fault injection.

What you'd actually do

  1. direct and contribute to the small team responsible for thoroughly understanding the electrical and software architecture of the aircraft and developing emulators that provide appropriate functional testing and fault injection capabilities
  2. Develop modular, maintainable and well-documented software architectures
  3. frequent collaboration with members from other teams including Systems Engineering, Flight Physics, Simulation, FPGA Development, Electrical Engineering, Automation, Flight Software, Software Verification, and Certification
  4. write software based on board schematics, datasheets, and hardware design documents
  5. comprehend complex system requirements to provide emulation software requirements

Skills

Required

  • BS in electrical engineering, computer science, computer engineering, mechatronics or similar field and 7+ years of industry experience
  • 2+ years prior experience leading an embedded engineering development team
  • 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

Nice to have

  • Experience with safety-critical embedded systems
  • Experience with unit testing, integration testing, and hardware-in-the-loop testing
  • Experience with DO-178C or similar assured software development process

What the JD emphasized

  • Expert knowledge of C++
  • Expert knowledge of object-oriented programming methodology and multi-layered system architectures
  • 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