Airborne Software Engineer
Job Summary
The Airborne Software Engineer is responsible for designing, developing, integrating, and testing software for airborne mission systems supporting DoD programs. This role focuses on C/C++ development, hardware/software integration, and test automation in secure, closed-area environments.
Key Responsibilities
Software Development & Implementation: Design, develop, and maintain airborne software in C/C++ for mission, sensor, and avionics-related functionality. Write clean, maintainable, and well-documented code following secure coding standards and program-specific guidelines. Implement and maintain software components that interface with hardware, operating systems (primarily Linux), and networked systems. Develop Python scripts and utilities to support automated testing, data collection, and integration workflows.
Testing, Integration & Optimization: Develop and execute unit tests and automated unit test scripts; analyze results and resolve defects. Participate in hardware/software integration activities, including lab bring-up, interface verification, and system-level debugging. Review and act on static/dynamic code analysis and security scan results to improve code quality and compliance. Support performance and reliability tuning of airborne software under real-time or near real-time constraints.
Troubleshooting & Support: Diagnose complex software defects across the stack (application, OS, hardware interfaces) in lab and integration environments. Support integration events, flight readiness activities, and defect resolution in a fast-paced, mission-driven environment. Document issues, root cause analyses, fixes, and preventive actions in accordance with program standards.
Project Management & Collaboration: Collaborate with systems, hardware, test, cybersecurity, and program management teams to refine requirements and design solutions. Participate in agile development processes (e.g., sprint planning, daily stand-ups, retrospectives) and provide accurate status updates. Use GitLab and related tools for source control, code review, issue tracking, and CI integration.
Documentation, Compliance & Security: Produce and maintain technical documentation, including software design descriptions, interface specifications, and test procedures. Ensure compliance with internal software development processes, DoD/industry standards, and cybersecurity requirements. Operate within a secure, closed-area environment, adhering to all information assurance and security protocols.
Qualifications
Education: Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, or related field; or a combination of education and relevant experience.
Experience: Typically 3+ years of software engineering experience, with emphasis on embedded, real-time, or mission-critical systems.
Clearance: Secret Required
Required Skills
Strong proficiency in C and/or C++ for embedded or mission system development.
Experience developing on Linux, including use of command line tools, build systems, and debuggers (e.g., gdb).
Hands-on hardware/software integration and debugging experience (e.g., working with drivers, interfaces, and lab equipment).
Ability to review and respond to static code analysis and security scan results.
Experience creating and executing unit tests and test scripts (Python strongly preferred for automation).
Strong analytical, debugging, and problem-solving skills in complex technical environments.
Effective communication and teamwork skills within cross-functional engineering teams.
Ability to work full-time in a secure, on-site closed area.
Preferred Skills
Experience with: Airborne, avionics, or aerospace/defense software programs.
Real-time operating systems (RTOS) and/or low-level hardware interfaces.
Continuous Integration (CI) using GitLab CI or similar tools.
Jira, Confluence, and similar engineering collaboration tools.
Knowledge of: DoD software and security standards and secure coding practices.
Networking protocols, messaging, and data buses common in airborne systems.
Model-based design or simulation tools (where applicable).
Relevant certifications (e.g., Security+, embedded systems, Linux) are a plus.