Embedded Software Engineer (Associate, Experienced, or Senior)
Core
Designing, developing, and testing low-level software/firmware for real-time space-based computers to interact with hardware on ARM-based SoCs.
Role type
Embedded Software Engineer (Real-time/Firmware)
Builds
Space-based computer systems and firmware for defense and space missions
Domain
Aerospace / Embedded Systems / Real-time Computing
Deliverable
production ML models | product features | dashboards & analysis | research | client delivery | infrastructure | physical/clinical work
Required skills
C/C++, Real-time Operating Systems (RTOS), Embedded Linux kernel, Board Support Package (BSP) development, Device drivers, ARM architecture, SoC boot flow, Register-level programming, AXI/NoC protocols
Preferred skills
Assembly language, Cache coherence protocols, Memory hierarchies, DevOps tool chains (Artifactory/Gitlab), SoC validation test plans, Agile development
Technologies
Linux, RTOS, ARM Cortex-A/R/M, AXI, NoC, C, C++, Gitlab, Artifactory
Responsibilities
Design and implement BSP components for Linux/RTOS on RISC processors; Write and optimize device drivers for memory controllers and peripherals; Collaborate with hardware engineers to define register maps and initialization sequences; Architect software abstractions for memory-mapped accelerators and interconnect fabrics; Write detailed documentation for boot flows and register-level programming; Develop custom tools for configuration automation and testing.
Seniority
Associate to Senior, hands-on IC