Embedded Software Engineer

The Hire
Washington, DC, United States
2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience required
1 year minimum
Compensation
$250,000.0
Working hours
Regular working hours
Languages
English
Job source

Tech stack

ARM Architecture Booting (BIOS) C++ (Programming Language) Communications Protocols Software Debugging Embedded Software Firmware FreeRTOS GNU Linker Universal Asynchronous Receiver/Transmitter State Machines DO-178B

Job description

The current codebase is Rust-on-Embassy, but we’re language-agnostic on the role - strong C, C++, or Rust embedded engineers are equally welcome.

What you’ll do

  • Own firmware end-to-end: drivers, state machine, communication protocols, command surface, bring-up, qualification, OTA / programming flow.
  • Build the host-testable simulation surface. The state machine should be testable on a laptop without flashing a board - and stay that way.
  • Work shoulder-to-shoulder with the HW engineer on bring-up, register-map ergonomics, and timing.
  • Carry the firmware through environmental qualification (thermal, EMC, vibration).
  • Define and enforce the firmware-side safety case.

Requirements

Do you have experience in Universal asynchronous receiver-transmitter (UART) protocol?, * 5+ years of professional embedded firmware on ARM Cortex-M (or comparable) - in C, C++, or Rust.

  • Deep comfort with interrupts, DMA, clocks, timers, low-power modes, linker scripts, memory maps.
  • Strong with I²C, SPI, UART, USB CDC and debugging using scope / logic analyzer.
  • Experience building state machines for real-world hardware.
  • Discipline around testability and host testing.
  • Working English, written and verbal.

Nice to have

  • Rust embedded experience - Embassy, embedded-hal, defmt, probe-rs, RTIC, no_std ecosystem.
  • Modern C++ embedded (C++17/20 in firmware).
  • Async firmware experience (Embassy, Zephyr, FreeRTOS).
  • Safety-critical firmware background: ISO 26262, DO-178C, IEC 61508, etc.
  • Bootloader / DFU / secure-boot work.
  • FPV / small-UAV firmware: Betaflight, MAVLink, INAV.
  • C FFI / SDK bindings.

How we work

Small team, weekly hardware iterations, real boards on every desk. We expect concise, testable, safety-focused firmware development.

Required

5+ years of professional embedded firmware on ARM Cortex-M (or comparable) - in C, C++, or Rust.

Deep comfort with interrupts, DMA, clocks, timers, low-power modes, linker scripts, memory maps.

Strong with I²C, SPI, UART, USB CDC and debugging using scope / logic analyzer.

Experience building state machines for real-world hardware.

Discipline around testability and host testing.

Nice to have

Rust embedded experience - Embassy, embedded-hal, defmt, probe-rs, RTIC, no_std ecosystem.

Modern C++ embedded (C++17/20 in firmware).

Async firmware experience (Embassy, Zephyr, FreeRTOS).

Safety-critical firmware background: ISO 26262, DO-178C, IEC 61508, etc.

Bootloader / DFU / secure-boot work.

FPV / small-UAV firmware: Betaflight, MAVLink, INAV.

C FFI / SDK bindings., * ARM Cortex-M (or comparable) - in C, C++, or Rust: 5 years (Required)

  • low-power modes, linker scripts, memory maps.: 1 year (Required)

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:19 min

Orchestrating over-the-air firmware updates for vehicle modules

Denis Grahovac · World Congress 2021

8:07 min

Transitioning from web development to constrained hardware engineering

Philipp-Alexander Blum · LIVE

2:13 min

Evaluating Rust for modernizing embedded C firmware

Michael Friedrich Michael Friedrich · World Congress 2026 Europe

2:20 min

Utilizing custom firmware for variable torque manipulation

Daniel Meilak Daniel Meilak +1 · World Congress 2026 Europe

43 sec

Software engineering journey and local Manchester roots

Jonathan Tang · Coffee With Developers

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

Videos

See all

Related articles

See all