Job Context/Purpose
As a QT Developer, your primary responsibility will be the design, development, and testing of software systems, such as Ground Control Stations and Data Acquisition Systems. Additionally, you will collaborate with firmware developers to ensure seamless integration with your software. You will also collaborate with other cross-functional teams, including, avionics engineers, and product designers to create cutting-edge UAV technologies and solutions.
Team Responsibilities
GUI Development
-
Design and develop high-performance, user-friendly Graphical User Interface (GUI) applications using the Qt (C++) framework, with emphasis on ease of operation, performance, cross-platform support, scalability, and adherence to software standards.
Ground Control Station (GCS) Development
-
Develop intuitive and reliable GCS frontends and backends using Qt (C++), ensuring seamless deployment across multiple platforms and compatibility with UAV systems.
System Architecture Design
-
Contribute to designing and building new software architectures from scratch to deliver secure, efficient, reliable, scalable, and maintainable solutions.
Testing and Validation
-
Develop comprehensive test plans and conduct rigorous engineering and field testing of developed software.
-
Perform performance testing and compliance testing to ensure safety, reliability, and conformance to industry standards.
Technical Documentation
Preparation of high-quality technical documentation, including:
-
Design reports
-
Test matrices
-
Test analysis reports
-
Detailed architecture and system diagrams
Additional Functions
Collaboration & Communication
-
Work closely with multidisciplinary teams—including embedded systems engineers, avionics experts, flight mechanics specialists, and product designers.
-
Communicate project progress, challenges, and technical recommendations clearly to stakeholders.
Educational Qualifications
-
Bachelor’s or Master’s degree in Computer Engineering, Electronics Engineering, Electrical Engineering, or a related field.
Technical Competencies
-
Strong understanding of Object-Oriented Programming and OOP principles.
-
Solid Operating Systems fundamentals.
-
Proficiency in C, C++, Python, with the ability to quickly adapt to new programming languages.
-
Knowledge of the architecture of QGroundControl (QGC) and Mission Planner.
-
Experience working with the Qt framework, including QML and UAV-specific interface design considerations.
-
Strong communication and networking fundamentals.
-
Familiarity with embedded systems and serial communication protocols.
-
Experience developing applications on Linux.
-
Good understanding of communication protocols such as TCP and UDP, along with associated interface standards.
-
Familiarity with UAV application protocols such as MAVLink.
-
Experience optimizing performance in resource-constrained environments.
-
Strong grasp of data structures and algorithms for solving practical engineering problems.
Behavioural Competencies
-
Strong analytical and problem-solving skills, with the ability to quickly learn new technologies and complex software systems.
-
High attention to detail and accuracy in software and avionics documentation.
-
Effective collaborator with the ability to support multidisciplinary teams when needed.
-
Adaptability and flexibility to work in a fast-paced, evolving UAV development environment.