The RoleWe're looking for an Embedded Software Engineer to take ownership of real-time software for spacecraft subsystems, including power distribution, thermal control, and related avionics boards. You'll join a small embedded team where your work spans the full lifecycle: board bring-up, driver and application development, hardware/software debugging, and supporting reliable firmware updates for hardware in the field and on orbit. This is a high-ownership role: after ramp-up, you'll be the standing owner of a meaningful piece of our embedded software stack.
Responsibilities- Own embedded software for spacecraft subsystems from concept through on-orbit operations
- Design, develop, and debug real-time embedded software for microcontroller-based avionics boards in both FreeRTOS and bare-metal environments
- Implement low-level drivers, peripheral interfaces, and real-time control loops for power distribution, thermal control, sensors, and actuators
- Build and maintain software supporting board bring-up as well as safe, robust in-field and in-flight firmware update mechanisms
- Integrate with and develop robust command and telemetry infrastructure
- Work deeply at the software-to-hardware boundary: read schematics, understand pinouts, drive physical hardware, and diagnose issues that could originate in firmware or hardware
- Build robust, fault-tolerant systems with attention to reliability, determinism, and performance in constrained environments
- Support board bring-up, hardware integration, and hardware-in-the-loop (HITL) testing
- Develop automated test frameworks and validation tooling for embedded systems
- Collaborate closely with electrical, avionics, and software teams to define system architecture and interfaces
- Investigate anomalies, perform root cause analysis, and implement fixes across hardware/software boundaries
- Contribute to system-level design, including fault detection, isolation, and recovery (FDIR) strategies
Basic Qualifications- 3+ years of experience (or equivalent practical experience) in embedded software or firmware development
- Strong programming skills in C/C++ for embedded systems
- Experience developing for embedded microcontrollers, including work with RTOS-based (e.g., FreeRTOS) and/or bare-metal environments
- Comfort working at the hardware boundary: reading schematics, using debugging tools (JTAG, oscilloscopes, logic analyzers), and reasoning about electrical behavior
- Experience with hardware/software integration and board bring-up
- Ability to own a subsystem largely independently after ramp-up
Preferred Qualifications- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field
- Experience developing embedded software for aerospace, automotive, robotics, or other high-reliability systems
- Experience with common embedded communication protocols (SPI, I2C, UART, CAN) and embedded networking stacks
- Experience building or working with firmware update and bootloader systems for deployed or remote hardware
- Understanding of fault-tolerant design, redundancy, and high-reliability system architecture
- Experience with HITL testing and system validation
- Familiarity with Python or scripting for test automation and tooling; interest or experience in Rust for embedded development is a plus
- Experience working in fast-paced, high-ownership environments with rapid iteration cycles
- Exposure to radiation-tolerant design considerations for space systems
Compensation and BenefitsThe salary range for this position is
$130,000 - $185,000 annually.
The actual base salary offered will depend on factors such as job-related skills, experience, qualifications, and internal equity.- Equity in Cowboy Space Corp.
- Employees and their eligible dependents may enroll in medical, dental, and vision insurance
- 401(k) retirement savings plan
- Paid time off
- 10 paid holidays per calendar year
- Paid parental leave
- Relocation assistance if applicable
- Daily lunch in the office and a fully stocked kitchen with beverages and snacks