Senior Embedded Software Engineer - Flight Software

Espace Inc.
Saratoga, CA, United States
about 2 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Compensation
$130,000.0 - $180,000.0
Working hours
Regular working hours
Job source

Tech stack

Application Integration Architecture Automation of Tests Bash Shell Bluetooth C++ (Programming Language) Communications Protocols Software Debugging Linux Memory Management Embedded Software Ethernet Fault Tolerance
+23 more
Firmware Hardware Design Hardware Interface Design Joint Test Action (IEEE Standards) Python (Programming Language) Linux System Administration Multiprocessing Real-Time Operating Systems Software Engineering Transmission Control Protocol (TCP) Toolchain Universal Asynchronous Receiver/Transmitter Wi-Fi Technology Scripting Serial Peripheral Interface Reliability of Systems Git Yocto Information Technology Bare Metal Zigbee Software Version Control Programming Languages

Job description

  • Embedded Software Development: Architect/Design, write, debug, and maintain efficient software for real-time embedded systems, including mission critical Flight Software and communication with other space-specific software subsystems/modules, such as TTC (CCSDS protocol), Power, Thermal, GNC, FDIR, CFDP.

  • Communication Protocols and Specifications: Implement protocols used in space-grade software such as UART, CAN, SpaceWire, SPI, I2C, and Ethernet. Experience with Linux bridging, DSA (Distributed Switch Architecture), and L2 protocols such as RSTP/MSTP, HSR, or FRER for redundant network fabrics is highly valued

  • Networking and Avionics Fabrics: Design and implement L2 Ethernet networks for inter-board communication on spacecraft, including switch bring up, PHY configuration, and topology design. Configure and debug L2 redundancy protocols (RSTP, HSR, FRER) for fault-tolerant fabrics. Implement deterministic networking using TSN features where mission profiles require bounded latency.

  • Application Integration: Integrate and manage provided applications on top of the customized platform software. Design and bring up Ethernet-based avionics networks, including PHY/MAC initialization, switch configuration, and L2 redundancy protocols.

  • Operational Management: Design and implement efficient memory management, process management, software updates, reprogramming and power saving modes for embedded systems. Experience with multi-board Ethernet fabrics (mesh, ring, or tree topologies) for inter-subsystem communication is a plus.

Testing and Support

  • Test Framework Development: Create and maintain automated testing frameworks for embedded systems, including HIL, SIL, PIL.

  • Support: Provide support for debugging of real-time and critical faults.

  • Debugging and Validation: Use tools like oscilloscopes, logic analyzers, and protocol analyzers to test and debug embedded software and hardware interfaces.

Collaboration and Documentation

  • Hardware Interaction: Work closely with global software teams to contribute to the new designs and ensure seamless software-hardware integration.

  • Documentation: Prepare and maintain technical documentation.

Requirements

Do you have experience in Firmware?, Do you have a Master’s degree?, We are seeking a highly skilled and motivated FSW/Embedded Software Developer to design, develop, and optimize software for customized embedded devices, with a strong emphasis on space-related software and algorithms. The role involves designing and developing software for bare-metal, RTOS, and real-time Linux environments, real-time performance, system reliability, and implementing robust recovery mechanisms. You will also contribute to testing and automation., + Hands-on: Proven record of designing and developing significant working software in aerospace applications.

  • Programming Languages: Proficiency in C/C++ and scripting languages like Shell or Bash; familiarity with Python.
  • Embedded Systems: Experience with embedded and multicore platforms and their toolchains. Experience with Yocto is a big plus.
  • Communication Protocols: Knowledge of key hardware and software protocols such as UART, CAN, SPI, I2C. TCP and UDP.
  • Upgrades: Experience with secure firmware updates and reprogramming mechanisms.
  • Debugging Tools: Proficiency with debugging tools like JTAG, GDB, and serial debuggers.
  • Version Control: Expertise with Git or similar version control systems.

Bonus points:

  • Education: Bachelor’s or Master’s degree in Computer Science, Electronics Engineering, or a related field.

*

  • Familiarity with wireless communication technologies (e.g., Wi-Fi, Bluetooth, Zigbee, LoRa).
  • Familiarity with hardware simulation tools and flatsat environments for testing.
  • Familiarity with CI/CD pipelines and automated build/test workflows. Key Attributes

  • Strong analytical and debugging skills.
  • Passion for quality and attention to detail in software development and testing.
  • Ability to work collaboratively in cross-functional and global teams.
  • Commitment to staying updated with the latest in IoT, embedded systems, and testing automation technologies.
  • A willingness to undertake further relevant training.
  • An understanding and commitment to equal opportunities.
  • Time management, self-reliance and willingness to learn.

Apply for this position

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

Apply on indeed.com

Good distractions

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

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · WWC 2025

7:40 min

In-vehicle infotainment systems and graphical functional safety validation

Denis Grahovac · WWC 2021

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:39 min

Experiencing core Linux capabilities for DevOps administration

Michael Cade · LIVE

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

Videos

See all

Related articles

See all