In office
Not Available
About the job
Position Summary
We are seeking an experienced Senior Software Developer with strong modern C++ and Android/Linux systems programming expertise to design, develop, and maintain high-performance, reliable software. The ideal candidate is a hands-on software engineer who enjoys writing production code, solving complex technical challenges, and building resilient software systems.
Candidates should have a strong foundation in C++, Linux and/or Android development, with experience in concurrency, memory management, networking, and system-level debugging. Experience in aeronautics, avionics, robotics, or other embedded and performance-critical environments is highly desirable.
This role is focused on software development and implementation, rather than software testing or integration engineering.
Key Responsibilities
- Design, develop, and maintain production-quality software using modern C++ and Android technologies.
- Develop and optimize system-level software for Linux and Android environments.
- Implement multithreaded and concurrent applications with a focus on performance, stability, and efficient memory management.
- Design and develop resilient software services that handle timeouts, retries, failures, and communication interruptions.
- Implement effective logging, telemetry, and diagnostic capabilities to support system observability and troubleshooting.
- Debug complex software issues across operating system, application, networking, and service layers.
- Contribute to software architecture, code reviews, development standards, and engineering best practices.
Required Qualifications
- 5+ years of professional software development experience, with a strong emphasis on hands-on coding and implementation.
- Strong proficiency in modern C++, including resource and memory ownership, concurrency, and performance optimization.
- Experience developing software for Linux and/or Android environments, including systems-level programming.
- Practical experience with multithreading, networking, debugging, and troubleshooting complex software issues.
- Demonstrated ability to build reliable and resilient software services, including handling timeouts, retries, error conditions, and service-level logging or telemetry.
- Strong problem-solving skills and the ability to independently investigate and resolve complex technical challenges.
Preferred Qualifications
- Experience developing software for embedded systems, edge devices, or resource-constrained computing environments.
- Familiarity with cross-platform application integration concepts and interactions between applications, services, and underlying operating systems.


