About This Role
This role involves developing complex avionics software that merges hardware and embedded applications for cutting-edge Unmanned Aerial Vehicles (UAVs). The engineer will work in a high-paced environment with a cross-functional team, focusing on designing and developing software systems that utilize modern aerospace sensors and state-of-the-art UAV avionics.
Responsibilities
- Develop high-quality C/C++ code tailored specifically for X-Bat aircraft, ensuring optimal performance, reliability, and safety
- Lead cross-functional teams to create systems of software features to implement advanced robotic avionics capabilities
- Own complex software capabilities from design to production
- Participate in architecture, design, and code reviews
- Integrate software from multiple departments, including firmware, software test and verification, Autonomy AI, and Ground Control Stations (GCS)
- Develop software systems to implement and integrate interfaces to modern avionics sensors, sub-systems, and payloads
- Facilitate the design process for updates to the software system architecture
- Use modern software development tools and processes to capture existing architecture and design future architectures
- Collaborate to define and extend systems engineering processes
- Report status, risks, accomplishments, and expectations to senior leadership
- Design and implement systems capable of conducting tests across various environments, including virtualized hardware and hardware-in-the-loop simulations, to facilitate thorough evaluation of software functionality and performance
- Develop innovative tools to enhance the frequency and reliability of software deployment, test execution, and data analysis within a continuous integration and release system, fostering improved efficiency and productivity in software development workflows
- Create prototypes to validate critical design concepts and assess technical limitations, providing tangible evidence of feasibility and informing decision-making processes
Requirements
- Strong embedded software development experience in C/C++
- Strong understanding of Object-Oriented Programming and modern C++ features
- Strong knowledge of embedded software, BSPs, or other systems software components
- Strong understanding of computer architecture, operating systems, and network protocols fundamentals
- Demonstrated track record of assuming ownership over development processes and features and delivering outstanding outcomes
- Experience producing high-quality technical documentation, including architecture, detailed designs, and test plans
- Proven track record of successfully shipping products, showcasing the ability to navigate through development cycles, overcome obstacles, and deliver high-quality solutions to meet project deadlines and exceed client expectations in a fast-paced environment