Embedded Systems Developer/engineer

Develops and maintains embedded software and firmware for specialized hardware platforms, focusing on low-level components, real-time behavior, and hardware integration. Requires C/C++ (ideally Rust) programming, experience with embedded interfaces, and Linux image customization.

What you'd actually do

  1. contribute directly to the design, development, testing, and long-term maintenance of embedded software and firmware that runs on specialized hardware platforms.
  2. translate system requirements into implementable designs, build and integrate low-level components, and ensure the resulting solutions are deterministic, reliable, and performant in real-world operating conditions—often with tight constraints on memory, compute, power, and timing.
  3. write efficient, high-quality C/C++ (or similar C-family) code (and, ideally, Rust) for firmware, drivers, and hardware-facing application logic.
  4. work with senior engineers to make sound technical tradeoffs around real-time behavior, interrupt handling, concurrency, and resource management, and you’ll contribute to establishing and following coding standards that support safety, maintainability, and portability across hardware variants.
  5. support development on a real-time operating system (RTOS) or bare-metal environments and help validate system behavior under stress, edge cases, and fault conditions.

Skills

Required

  • embedded software development
  • firmware development
  • C/C++ programming
  • Rust programming
  • hardware/software integration
  • embedded interfaces and buses (SPI, I²C, UART, CAN, GPIO)
  • memory-mapped peripherals
  • performance tuning on constrained devices
  • building and customizing Linux images
  • integrating and deploying FPGA bitfiles
  • real-time operating system (RTOS) development
  • bare-metal development
  • debugging
  • root-cause analysis
  • configuration management
  • cross-compilation toolchains
  • continuous integration

Nice to have

  • Git

What the JD emphasized

  • Must be able to obtain and maintain the required TS/SCI clearance for this role