Embedded Software Engineer
- Posted
- 11 Sept 2025
- Last verified at source
- 9 hours ago
We are looking for an Embedded Software Engineer to design and develop the flight computers and software stacks that power our satellite missions. You will work on real-time embedded systems for every spacecraft subsystem including power, communication, ADCS, thermal, and payload control. This role demands hands-on development across hardware bring-up, firmware, and mission-critical software that must perform reliably in space.
Key Responsibilities:
- Architect, implement, and validate embedded software for on-board computers and subsystem controllers.
- Develop low-level drivers for sensors, actuators, radios, and communication buses (I2C, SPI, UART, CAN).
- Implement real-time task scheduling, fault detection, and redundancy mechanisms for mission-critical reliability.
- Work closely with avionics hardware engineers for board bring-up, hardware-software integration, and debugging.
- Develop communication protocols for satellite telemetry, telecommands, and payload data handling.
- Contribute to software-in-the-loop (SITL) and hardware-in-the-loop (HIL) test setups for mission validation.
Required Skills & Qualifications:
- B.E./B.Tech or M.E./M.Tech in Electronics, Computer Science, Aerospace, or related field.
- 2–6 years of experience in embedded software/firmware development.
- Strong proficiency in C/C++ and real-time embedded systems programming.
- Experience with bare-metal programming and RTOS (e.g., FreeRTOS, Zephyr).
- Solid understanding of digital electronics, microcontrollers, and processor architectures (ARM Cortex-M/R, RISC-V).
- Experience handling FPGAs, including integration with embedded systems and hardware–software co-design.
- Familiarity with debugging tools like JTAG, SWD, logic analyzers, and oscilloscopes.
- Proficient in Git, CI/CD pipelines, and automated testing practices.
- Knowledge of fault tolerance, watchdogs, and redundant system design in embedded systems.
Nice to Have (Preferred):
- Experience with space-grade or high-reliability systems (radiation-hardened processors, fault-tolerant software).
- Knowledge of communication protocols for satellites
- Exposure to ADCS algorithms, sensor fusion, or real-time control systems.
- Experience in satellite flight software frameworks or cubesat missions.
- Familiarity with Python/Matlab for simulation and data analysis.
- Understanding of aerospace software standards.
- Willingness to work extended hours and/or weekends as needed.