Senior Embedded Software Engineer
Job description
About the role
You will architect and maintain the core software stack that drives E-Space's next generation of satellite electronics, ensuring deterministic execution and fault tolerance in the harshest environments. This role demands a systems-level thinker who can translate complex mission requirements into resilient embedded firmware that operates across multiple abstraction layers from bare-metal to real-time Linux. You will own the full lifecycle of space-grade embedded software, from initial specification and architectural design through implementation, verification, and on-orbit support. The position requires close collaboration with hardware engineers, algorithms teams, and mission architects to optimize performance, power, and reliability for constrained satellite payloads. You will be responsible for implementing low-latency communication protocols and data handling routines that ensure secure and actionable connectivity from space. Your work will directly enable the global network by writing the low-level code that allows satellites to collect, process, and downlink critical intelligence reliably. This is an opportunity to leave a tangible mark on a rapidly evolving constellation where software integrity is mission-critical. You will champion best practices in coding, testing, and documentation to raise the standard of engineering excellence across the organization.
Key facts
What you'll do
Architect and develop bare-metal firmware modules that interface directly with satellite payload hardware using C and assembly-level optimizations.
Implement real-time software drivers for communication protocols and sensors, ensuring deterministic timing and minimal jitter for critical space applications.
Design and maintain scheduling policies and interrupt handling routines that guarantee hard real-time performance for onboard processing tasks.
Port and optimize algorithms to run efficiently on resource-constrained embedded processors while meeting stringent power and thermal budgets.
Integrate a real-time Linux environment with RTOS components, creating robust middleware that abstracts hardware complexity for application layers.
Develop comprehensive testing and automation frameworks for hardware-in-the-loop and software-in-the-loop validation of embedded flight units.
Collaborate with systems engineers to define fault management strategies, ensuring rapid recovery mechanisms and system resilience during orbital operations.
Analyze performance telemetry from deployed satellites to identify software bottlenecks and drive iterative improvements to flight software.
Lead code reviews and static analysis processes to enforce strict coding standards that mitigate risk in safety-critical aerospace environments.
Document software architectures, APIs, and integration procedures to support long-term maintenance and seamless team collaboration.
Mentor junior engineers by providing technical guidance on embedded best practices, debugging techniques, and real-time systems design principles.
Participate in the definition of hardware requirements, providing critical feedback on component selection and interface specifications for future satellite generations.
Champion continuous integration practices tailored to the embedded domain, enabling frequent and reliable software deployments to orbital assets.
Drive the adoption of automated validation suites that verify software correctness under a wide range of simulated space conditions.
Requirements
Must possess a Bachelor's degree in Computer Science, Electrical Engineering, or a related technical field, or equivalent practical experience.
Demonstrate extensive experience with embedded C/C++ development for resource-constrained microcontrollers and real-time operating systems.
Showcase a strong understanding of real-time operating systems such as VxWorks, FreeRTOS, or similar aerospace-grade platforms.
Require proven experience with bare-metal programming, including direct hardware register manipulation and low-level driver development.
Need expertise in debugging complex software issues using tools such as JTAG debuggers, logic analyzers, and serial protocol analyzers.
Expect solid knowledge of communication protocols commonly used in aerospace, including SpaceWire, CAN, and MIL-STD-1553 implementations.
Demand meticulous attention to detail and the ability to manage multiple critical tasks in a fast-paced, deadline-driven environment.
Require the capability to write deterministic code that meets stringent reliability and safety standards for space missions.
Nice to have
Experience with radiation-hardened or single-event upset mitigation techniques is strongly preferred.
Familiarity with DO-178C or ISO 26262 processes and safety certification requirements is a significant advantage.
Knowledge of space mission operations, ground data systems, or telemetry/telecommand workflows is highly valued.
Experience with secure communication frameworks and cryptographic implementations in embedded environments is preferred.
Practical notes
This role is based in Saratoga, California, and requires in-office presence during standard business hours.
Travel to launch sites, test facilities, or customer locations may be required up to 25 percent of the time.
Candidates must be eligible to work in the United States without sponsorship at this time.