Embedded Software Engineer - Flight Stack
Job descriptionKnightwerx is seeking a highly skilled and experienced Embedded Software Engineer to develop, integrate, and optimize the flight control stack for a small unmanned electric aircraft. We balance innovation with reliability in a fast-paced environment. You’ll work closely with aeromechanical, avionics, and autonomy teams to deliver robust, safe, high-performance flight software from prototype through production.Work ExperienceBachelor’s degree in Computer Science, Electrical Engineering, Aerospace Engineering, or equivalent experience5+ years professional experience developing embedded software for UAV flight-control or similar safety-critical systemsDemonstrated ability to design, implement, and test real-time embedded software for flight control and avionicsHands-on experience with UAV autopilots (e.g., PX4, ArduPilot) and flight testingExperience with international interoperability standards like STANAG 4586Strong knowledge of MAVLink, RTPS and other UAV communication protocols.Experience with uORB, FastDDS, or similar frameworks for real-time communications in UAV systemsFamiliarity with mission planning, geospatial systems, and mapping software.AttributesAbility to work effectively in a team environment, collaborating with cross-functional teams and contributing to collective goalsDemonstrates a positive attitude towards feedback, actively seeking input from others to improve User Experience (UX)Innovative, hands-on, and practicalMulti-disciplined, problem solver, driven by engineering analysisGoal driven, learns from mistakes, and closes the loop on the design processPrimary DutiesDevelop, integrate, and maintain real-time flight-control software for UASImplement control loops, state estimation, and sensor fusion for stable, precise flightIntegrate avionics hardware, navigation sensors, payload/power modules, and comms into the flight stackConduct SIL/HIL simulations and bench testing; validate flight performance and failsafesSupport flight tests: pre-flight checkout, in-flight telemetry monitoring, post-flight log analysisCollaborate with aerodynamics, propulsion, autonomy, and systems teams to tune performanceMaintain configuration management, version control, and documentation to safety/quality standardsTasksImplement and optimize flight-control/estimation algorithms for embedded targetsDevelop and maintain features for mission planning, autopilot management, and vehicle controlCreate intuitive and responsive user interfaces (UI) for controlling and monitoring UAVsImplement and test new features based on user feedback and technological advancementsEnsure the software is scalable, maintainable, and efficientParticipate in the development and documentation of software design, code, debugging, troubleshooting, and test proceduresSkillsKnowledge of cybersecurity principles and practices in software developmentExperience with version control systems (Git) and build tools (CMake)Proficiency in programming languages such as C++, Python, and/or RustFamiliarity with Qt, React, or similar frameworks for GUI developmentStrong understanding of real-time communication protocols and back-end integrationExperience with RTOS (FreeRTOS, ChibiOS, NuttX, or similar), PX4/ArduPilot internals, messaging (uORB, MAVLink), and real-time middleware (RTPS/FastDDS)Simulation/tooling: MATLAB/Simulink, Gazebo, or equivalent; strong debugging/profiling/optimization skillsNice to have: awareness of STANAG 4586/interoperability concepts and airworthiness/safety practices, and experience with containerization and container managementRequirementsMust have US citizenshipOn-site, collaborative work environment