About Salvo Software
Salvo Software is a global development studio with offices in the U.S., Mexico, and India. We design and deliver advanced technology solutions for clients across different industries. Our team specializes in building high-performance, safety-critical systems with a focus on reliability, innovation, and real-time performance.
We are expanding our aerospace engineering division and seeking an Embedded Software Engineer to develop and test mission-critical software for next-generation flight computers and autonomous systems.
Role Overview
As an Embedded Software Engineer at Salvo Software, you will play a key role in designing, developing, and verifying embedded software for flight control and mission systems. This is a hands-on role that requires deep technical expertise in C programming, embedded systems, and microcontroller-based development. You will collaborate closely with cross-functional hardware and avionics teams to ensure the reliability, performance, and compliance of embedded software aligned with aerospace standards.
Key Responsibilities
- 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).
- 7+ 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.
Preferred Qualifications (Bonus)
- Experience with NXP i.MX RT series or similar high-performance MCUs.
- Familiarity with aerospace software standards (e.g., DO-178C).
- Experience with embedded Linux or other real-time operating systems.
- Knowledge of avionics architectures or flight control systems.
- Proficiency with Git, CI/CD, and modern development pipelines.
- Experience with Assembly language for optimization and low-level system tuning.
- Familiarity with Guidance, Navigation, and Control (GNC) applications.
- Passion for advancing autonomous aerospace technology and wildfire mitigation systems through software innovation.