Senior Software Developer
NewRole Overview
We are looking for a senior embedded engineer to develop, integrate, and maintain secure flight controller software for autonomous UAVs — from RTOS-based autopilot development to secure boot and trusted execution on ARM SoC platforms. You will work closely with multidisciplinary teams to deliver reliable, high-quality software throughout the product lifecycle.
Industry / Domain
Autonomous UAV Systems / Embedded Security
Functional Activities
-
Develop and maintain embedded software using C/C++ for real-time systems.
-
Integrate software with sensors, communication interfaces, and hardware peripherals.
-
Perform software integration, bring-up, debugging, validation, and performance optimization.
-
Participate in system integration, bench testing, simulation, and flight-testing activities.
-
Contribute to software architecture, design reviews, and technical documentation.
-
Use Git-based version control workflows, code reviews, branching, merging, and release management.
-
Support CI/CD pipelines, build automation, software packaging, and deployment activities.
-
Collaborate with hardware, systems, test, manufacturing, and DevOps teams.
-
Support software quality initiatives, defect resolution, and continuous improvement activities.
Experience
- 8+ years in embedded software
- 5+ years in flight controller, autopilot, or safety-critical avionics.
Technical Skills
-
Strong proficiency in C/C++ programming for real-time embedded systems; Python for tooling and test automation.
-
Autopilot stack expertise (e.g., PX4) and MAVLink/GCS integration (QGroundControl or similar).
-
Experience with RTOS (e.g., NuttX) and embedded OS environments. scheduling, POSIX, IPC, memory protection, drivers on ARM Cortex.
-
Experience in software and hardware integration activities.
-
Experience in Embedded security: ARM TrustZone, OP-TEE, trusted firmware, secure boot chains, eFUSE/OTP.
-
Peripheral and build know-how: CAN-FD/SPI/I2C/UART
-
Secure coding (MISRA C, SEI CERT), cryptography (TLS, AES/RSA/ECC), PKI/key management.
-
Hands-on experience with Git, source code management, and collaborative development workflows.
-
Understanding of CI/CD, DevOps concepts, build systems, and automated testing.
-
Experience using static code analysis and software security tools (e.g., Coverity, SonarQube, Black Duck) for code quality, security, and compliance verification.
-
Strong analytical, debugging, and problem-solving skills.
Education and Certification Requirements
-
Bachelor's degree in Computer Science, Electronics, Electrical, Aerospace Engineering, or a related field. Advanced degrees (Master's or PhD) are preferred.
-
Safety-critical software certifications (DO-178C, ISO 26262); MATLAB for test and validation workflows.