Role Overview
We are looking for a Senior Software Engineer to develop, integrate, and maintain embedded flight-control software for advanced autonomous platforms.
The role is highly hands-on, covering real-time embedded development, autopilot integration, hardware/software integration, platform security, system bring-up, debugging, validation, and testing. You will work with multidisciplinary engineering teams to deliver secure, reliable, production-quality software throughout the full development lifecycle.
Key Responsibilities
- Develop and maintain embedded flight-control software using C/C++ for real-time systems.
- Integrate software with sensors, communication interfaces, processors, and hardware peripherals.
- Perform platform bring-up, software integration, debugging, validation, and performance optimization.
- Participate in bench testing, simulation, hardware-in-the-loop activities, system integration, and field/flight testing.
- Contribute to software architecture, technical design reviews, code reviews, and engineering documentation.
- Integrate and maintain embedded security, secure boot, and trusted execution capabilities.
- Use Git-based development workflows, including branching, merging, pull requests, code reviews, and release management.
- Support CI/CD pipelines, automated builds, testing, software packaging, and firmware deployment.
- Work closely with hardware, systems, security, test, manufacturing, and DevOps engineering teams.
- Support software quality, defect resolution, static analysis, security verification, and continuous improvement activities.
Experience
- 8+ years of embedded software engineering experience.
- 5+ years working with flight controllers, autopilot software, avionics, or comparable safety-critical embedded systems.
- Hands-on experience taking embedded software through development, hardware integration, testing, validation, and production release.
- Experience within autonomous systems, aerospace, robotics, UAVs, or other complex real-time embedded environments.
Technical Skills
- Advanced C/C++ programming for real-time embedded systems.
- Python for tooling, scripting, test automation, and engineering workflows.
- Hands-on experience with autopilot / flight-control stacks such as PX4 or equivalent.
- Experience with MAVLink and Ground Control Station integration using QGroundControl or similar platforms.
- Strong experience with RTOS environments such as NuttX, including scheduling, POSIX, IPC, memory protection, and device drivers.
- Embedded development experience on ARM Cortex-based platforms.
- Hands-on software and hardware integration experience.
- Embedded security experience including ARM TrustZone, OP-TEE, Trusted Firmware, secure boot chains, eFUSE, and OTP.
- Experience with embedded communication interfaces including CAN-FD, SPI, I2C, and UART.
- Understanding of secure coding standards including MISRA C and SEI CERT.
- Knowledge of cryptographic technologies including TLS, AES, RSA, ECC, PKI, and key management.
- Strong experience with Git and collaborative source-code management workflows.
- Working knowledge of CI/CD, DevOps, build systems, automated testing, and firmware release processes.
- Experience with static analysis and software security tools such as Coverity, SonarQube, Black Duck, or equivalent.
- Working knowledge of MATLAB or similar engineering tools for testing, data analysis, simulation, and validation.
- Strong debugging, analytical, and problem-solving capabilities within complex embedded environments.
Education & Certifications
- Bachelor's degree in Computer Science, Electronics, Electrical Engineering, Aerospace Engineering, or a related technical discipline.
- Master's degree or PhD is advantageous.
- Knowledge or certification relating to safety-critical software standards such as DO-178C and/or ISO 26262 is highly desirable.
- Experience with MATLAB or equivalent tools for test and validation workflows is preferred.
Industry / Domain
Autonomous Systems | Flight Control | Embedded Software | Safety-Critical Systems | Embedded Security