Our client is a venture-backed defense technology company designing and manufacturing high-performance unmanned aerial systems. Their aircraft are combat-tested, iterated at startup speed, and built for production at scale. The culture is fast, hands-on, and focused on getting capability into the field in months, not years.
The Flight Software Manager is a new seat. You will lead the team that owns the mission-critical software running on the aircraft: flight controls, avionics, payload integration, datalink, and onboard health, plus the interfaces that autonomy and ground systems depend on. The team is three engineers today and will grow to roughly ten over the next year. You will hire and lead that team, own the architecture and release cadence, and build the test environment the stack needs.
The current stack is Betaflight-based. The company is evaluating PX4 and other options as the foundation for its next generation of larger platforms. You will own that decision and its execution. Automated and unit testing are early; standing up SITL/HITL and real test coverage is a first-year priority. This is a hands-on management role; you will be in the code.
Responsibilities
- Lead and grow the flight software team from three to roughly ten engineers, including hiring, mentorship, and performance management
- Own the architecture and delivery of the airside flight-software stack across multiple vehicle platforms
- Lead the evaluation and selection of the next-generation flight stack and own the migration from the current Betaflight-based codebase
- Build the team's test strategy from the ground up: unit and integration testing, CI/CD, and SITL/HITL in partnership with the Test organization
- Drive predictable, safe software releases for mission-critical systems and steward the long-term health of the codebase
- Set and uphold engineering quality practices, including code review, testing standards, and release discipline
- Define and maintain the software interfaces consumed by autonomy, ground control, and adjacent teams
- Act as the interface between the team and senior leadership: manage expectations upward and clear execution blockers for the team
- Stay hands-on in the code, particularly during the stack transition