Senior Embedded Software Engineer

Matternet
Mountain View, CA, United States
20 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
6 years minimum
Working hours
Regular working hours

Tech stack

Bluetooth Low Energy (Bluetooth) C++ (Programming Language) CMake Static Program Analysis Code Review Communications Protocols Datasheets Software Debugging Device Drivers Linux on Embedded Systems Embedded Software Firmware
+15 more
Global Positioning Systems (GPS) Real-Time Operating Systems Software Engineering Universal Asynchronous Receiver/Transmitter Serial Peripheral Interface PIC Microcontroller Test-Driven Development (TDD) Peripherals Git Bare Metal Build Tools Lidar Software Version Control GNSS Docker

Job description

Matternet is building the future of delivery with autonomous drone networks that move critical goods faster, cleaner, and at lower cost. We work with partners across healthcare, logistics, food, and retail to deliver everything from medical items to everyday essentials, safely and reliably.

We’re seeking a Senior Embedded Software Engineer to develop the firmware and embedded software layer that sits between our aircraft and ground asset hardware and the higher-level software stack. Working across microcontrollers, embedded Linux, and the buses and peripherals that connect them, you’ll bring up new hardware, own the drivers and firmware that make sensors and actuators reliable, and harden the embedded systems our delivery ecosystem depends on for every flight. This is a senior individual-contributor role with real ownership: you’ll own embedded subsystems end-to-end, from board bring-up through flight test and regulated change control, working closely with Electrical, Mechanical, and Onboard Software teams.

In this role, you will:

  • Design, build, test, and maintain firmware and embedded software for Matternet’s aircraft and station embedded systems, spanning microcontroller firmware and embedded Linux on ARM
  • Own the hardware/software boundary: bring up new boards and peripherals, write and debug device drivers, and integrate sensors and peripherals (e.g. encoders, motors, IMUs, LIDAR/RADAR, and similar)
  • Select and integrate microcontrollers, communication buses (CAN, SPI, I2C, UART, BLE), and peripherals appropriate for new features and hardware revisions
  • Drive embedded software verification and release, from bench and simulation testing through flight test and deployment across production fleets
  • Debug at the hardware/software boundary when needed, including hands-on use of oscilloscopes and logic analyzers, and reviewing board-level schematics and datasheets with Electrical Engineering
  • Provide senior technical support, triaging and resolving field and flight-test issues tied to embedded subsystems
  • Collaborate with stakeholders across Electrical, Mechanical, Onboard Software, Operations, Safety, and Production

Requirements

  • 6+ years of production embedded software/firmware engineering

  • Strong C/C++ design and programming skills, with solid software engineering practice across the hardware/software/network development lifecycle (code review, source control, build systems, test-driven development, static analysis)
  • Proficiency with embedded Linux for ARM (kernel, device drivers, board support) as well as bare-metal/RTOS firmware development
  • Deep functional knowledge of communication protocols (CAN, SPI, I2C, UART, BLE) and experience selecting the right protocol and hardware for a given application
  • Experience selecting microcontrollers and bringing up new peripherals, sensors, and actuators (motors, encoders, and similar)
  • Comfortable reading board-level schematics and datasheets, and debugging at the signal level using oscilloscopes and/or logic analyzers
  • Proficiency with version control and peer code review workflows (e.g., Git)
  • Excellent technical communication and strong cross-disciplinary teamwork in a fast-paced environment, * UAV, autonomous robotics, aerospace, or other safety-critical regulated experience
  • Experience with Real-Time Operating Systems (RTOS)
  • Familiarity with an autopilot stack such as ArduPilot or PX4, and UAV/avionics technologies (ADS-B, GPS/GNSS, LIDAR, perception sensors)
  • Experience with build systems such as CMake, Make, or Waf, and containerized build/test environments (Docker)
  • Experience optimizing C/C++ algorithms for high data throughput
  • Experience with battery management systems or smart battery ICs
  • Experience using AI coding assistants to accelerate development
  • Relevant mechanical, aerospace, or electrical engineering experience

Work Environment:

  • This is an in-person role based at Matternet Headquarters, with access to our flight test facility
  • The ability to work and communicate efficiently online with a hybrid team is critical to success

Apply for this position

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

Apply on apply.workable.com

Good distractions

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

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

2:17 min

Validating lidar sensor models against real noise

Ulrich Wurstbauer +1 · LIVE

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

2:08 min

Processing physical environment data with lidar models

Oliver Zimmert · LIVE

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

Videos

See all

Related articles

See all