Embedded Software Engineer
Core
Design, implement, and maintain embedded firmware and electronics integration for autonomous underwater vehicles (AUVs) and surface vessels, ensuring robust hardware-software operation in harsh marine environments.
Role type
Senior Embedded Systems Engineer (Hardware/Software Boundary)
Builds
Autonomous underwater vehicles (Mako), autonomous surface vessels (Leviathan), and automated launch/recovery systems (Kraken) for defense, commercial, and scientific missions.
Domain
Ocean robotics, autonomous systems, defense, and marine science.
Deliverable
production ML models | product features | infrastructure
Required skills
C/C++ (bare-metal/RTOS), microcontroller architecture, device drivers (UART/CAN/Ethernet/ADC), hardware bring-up, real-time control loops, PCB debugging, RTOS (FreeRTOS/Zephyr/NuttX), MISRA C/BARR-C standards, Git/CI/CD.
Preferred skills
PCB design (schematic/layout), robotic/autonomous system architectures, underwater/marine system experience, signal processing/DSP, Python for test automation, FPGA/HDL design, OTA/firmware update infrastructure, discrete control systems (PID/state-space).
Technologies
FreeRTOS, Zephyr, NuttX, CAN bus, Ethernet, UART, ADC/DAC, oscilloscopes, logic analyzers, soldering tools, Git.
Responsibilities
Prototype embedded hardware from modules and custom PCBs; debug and rework PCBs using diagnostic tools; contribute to PCB design and review; design and maintain embedded firmware for sensors, actuators, and power management; bring up new hardware with BSPs and bootloaders; build communication stacks (Serial, Ethernet, CAN, acoustic modems); implement real-time control and data acquisition; develop logging, diagnostics, and fault-handling; support field deployments and post-mission triage; drive production readiness and calibration; verify and correct AI-generated embedded software; create internal software libraries.
Seniority
Mid-Senior, hands-on IC