About the Role:
In this position, you will develop and maintain Ground Control Station (GCS) software using the Qt Framework and QML, focusing on intuitive and high-performance GUI development. You will participate in the full software development lifecycle, including planning, design, coding, testing, integration, and deployment. Collaboration with hardware and embedded systems teams is crucial to ensure seamless integration of software with connected and networked components. Additionally, you will perform integration testing to validate system functionality, reliability, and performance.
Ready to apply for roles like this?
Unlock the company name and direct application link. Subscribers get instant access to fresh jobs across Dubai, Abu Dhabi and Riyadh, many with visa support.
Unlock employer & apply directly
Responsibilities:
- Develop and maintain GCS software with a focus on high-performance GUI development.
- Participate in the entire software development lifecycle: planning, design, coding, testing, integration, and deployment.
- Collaborate with hardware and embedded systems teams for seamless software integration.
- Conduct integration testing for system functionality, reliability, and performance validation.
- Document software architecture, design decisions, and requirement specifications for clarity and traceability.
- Create and maintain user guides and technical documentation for end users and internal teams.
- Write and maintain unit tests to ensure high-quality, reliable, and maintainable software.
- Work closely with cross-functional teams to define technical requirements and deliver scalable solutions.
- Ensure adherence to coding standards and best practices in safety-critical environments.
Qualifications:
- Bachelor’s or Master’s degree in Engineering (Electrical, Electronics, Computer) or Computer Science.
- Minimum 10 years of software development experience (or 7+ years with a Master’s degree).
- At least 5 years of hands-on experience in C++ development.
- Strong expertise in Qt Framework, Qt QML, and GUI-based application development.
- Proven experience working with large and complex codebases.
Technical Competencies:
- Strong proficiency in C++ and object-oriented programming principles; solid understanding of design patterns.
- Deep expertise in Qt Framework, Qt QML, and GUI development.
- Experience in integration and unit testing, especially within embedded systems environments.
- Good understanding of networking protocols such as TCP, UDP, and IP.
- Hands-on experience with Linux-based development environments and familiarity with Python for supporting tools and automation.
- Experience with continuous integration tools such as Jenkins.
- Understanding of real-time operating systems (RTOS) and real-time software design concepts.
- Familiarity with communication protocols such as UART, SPI, I2C, CAN, and Ethernet.
- Awareness of safety-critical software standards such as DO-178C, ISO 26262, and RTCA guidelines.
- Experience handling large or legacy codebases, including refactoring and integration.
- Strong debugging, performance optimization, and testing skills.
- Knowledge of version control systems such as Git.
- Familiarity with Agile or Scrum methodologies is an added advantage.