Embedded Software Engineer - Special Purpose Software

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

Joby Aviation is seeking an Embedded Software Engineer to design and implement embedded software for their aircraft, focusing on reconfiguring existing systems for manufacturing and test applications. The role requires a strong background in C++, object-oriented programming, microcontroller architectures, and communication protocols.

What you'd actually do

  1. design and implement versions of all our existing embedded systems currently on the Joby aircraft to be specific for a range of manufacturing and test applications
  2. deep understanding of the various embedded systems on the aircraft and how to creatively reconfigure them for new applications and usages

Skills

Required

  • University degree in electrical engineering, computer science, computer engineering, mechatronics, physics, mathematics, robotics, or similar field; or, a strong portfolio of designed and implemented embedded software, or 3+ years of relevant industry experience
  • Demonstratable knowledge of C++ and object-oriented programming and methodology with some experience with multi-layered system architectures
  • Understanding of hardware from an embedded software engineer's perspective
  • Experience with modern integrated development environments and debuggers
  • Hands-on experience with test and measurement equipment such as oscilloscopes, logic analyzers, protocol analyzers, voltmeters, etc.
  • Understanding of modern microcontroller and microprocessor architectures such as ARM Cortex-M0/M3/M4/A8/A9
  • Knowledge of and experience with communication protocols including I2C, CAN, SPI, UART, etc.

Nice to have

  • Knowledge of and experience with real-time operating systems
  • Experience with safety-critical embedded systems
  • Exposure to the software development process and modern software engineering techniques
  • Experience with DO178C process, requirements authoring and verification