About the role
- Design, develop, and maintain embedded software for flight computers and mission-critical systems.
- Implement and optimize code in C for microcontrollers (ARM Cortex-M or similar).
- Develop and integrate device drivers, bootloaders, and middleware for peripherals (UART, SPI, I2C, CAN, GPIO).
- Integrate algorithms related to navigation, control, and sensor data processing into embedded applications.
- Debug software directly on custom hardware, working closely with hardware engineers to identify and resolve integration issues.
- Perform unit, integration, and system-level testing of embedded software to ensure reliability and compliance with real-time performance requirements.
- Participate in system architecture design, peer code reviews, and continuous improvement initiatives.
- Ensure adherence to aerospace and safety-critical software development standards (e.g., DO-178C).
Requirements
- Bachelor’s degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field (or equivalent experience).
- 3+ years of professional experience in embedded software development.
- Advanced proficiency in C programming for embedded systems.
- Strong hands-on experience with ARM Cortex-M or similar microcontrollers.
- Proven background in embedded system design, debugging, and real-time performance optimization.
- Experience with RTOS (e.g., FreeRTOS) for scheduling and task management.
- Proficiency with debugging tools such as JTAG, SWD, oscilloscopes, and logic analyzers.
- Strong understanding of deterministic real-time software design principles.
- Excellent collaboration and communication skills across multidisciplinary teams.
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard skills
C programmingembedded software developmentdevice driversbootloadersmiddlewarereal-time performance optimizationRTOSdeterministic real-time software designdebuggingsystem architecture design
Soft skills
collaborationcommunicationproblem-solvingteamworkpeer code reviewscontinuous improvement
Certifications
Bachelor’s degree in Computer EngineeringBachelor’s degree in Electrical EngineeringBachelor’s degree in Computer Science