Who we are:

Launched in November 2019, the UAE’s EDGE is one of the world’s leading advanced technology groups, established to develop agile, bold and disruptive solutions for defence and beyond, and to be a catalyst for change and transformation. It is dedicated to bringing breakthrough innovations, products, and services to market with greater speed and efficiency, to position the UAE as a leading global hub for future industries, and to creating clear paths within the sector for the next generation of highly-skilled talent to thrive. With a focus on the adoption of 4IR technologies, EDGE is driving the development of sovereign capabilities for global export and for the preservation of national security, working with front-line operators, international partners, and adopting advanced technologies such as autonomous capabilities, cyber-physical systems, advanced propulsion systems, robotics and smart materials. EDGE converges R&D, emerging technologies, digital transformation, and commercial market innovations with military capabilities to develop disruptive solutions tailored to the specific requirements of its customers. Headquartered in Abu Dhabi, capital of the UAE, EDGE consolidates more than 25 entities into five core clusters: Platforms & Systems, Missiles & Weapons, Space & Cyber Technologies, Trading & Mission Support, and Homeland Security.

Requirements:

Bachelor's degree in Computer Science, Software Engineering, or a related field. (Master's degree or Ph.D. preferred.) Minimum 8 years of experience in desktop software development, with a proven track record of designing and implementing desktop software applications. Proficiency in desktop software development languages and frameworks, such as C++, Java, C#, .NET, Python, Qt, or Electron. Strong understanding of software architecture principles, design patterns, and best practices for desktop application development. Experience with user interface design and development using GUI frameworks (e.g., WinForms, WPF, GTK+, Qt), and familiarity with UI/UX design principles. Knowledge of software development tools and practices, including integrated development environments (IDEs), build systems, testing frameworks, and debugging tools. Excellent problem-solving and analytical skills, with the ability to troubleshoot complex software issues and propose effective solutions. Effective communication and interpersonal skills, with the ability to collaborate effectively with cross-functional teams and stakeholders. Leadership abilities, including the ability to lead software development teams, prioritize tasks, and drive technical excellence and innovation.

Responsibilities:

Software Architecture: Lead the design and architecture of desktop software applications, defining system architecture, component design, and software interfaces to meet functional and non-functional requirements. Software Development: Develop high-quality desktop software code using programming languages such as C++, Java, C#, or Python, following best practices, coding standards, and design patterns. User Interface Design: Design intuitive and user-friendly graphical user interfaces (GUIs) for desktop software applications, focusing on usability, accessibility, and visual aesthetics. Feature Development: Lead the development of new features and functionality for desktop software applications, including requirements analysis, design, implementation, testing, and deployment. Performance Optimization: Identify performance bottlenecks and areas for optimization in desktop software applications, and implement performance improvements to enhance responsiveness, efficiency, and scalability. Code Review and Quality Assurance: Conduct code reviews and quality assurance activities to ensure code quality, reliability, and maintainability, and enforce coding standards and best practices within the software development team. Version Control and Configuration Management: Manage source code repositories, branches, and releases using version control systems (e.g., Git), and implement configuration management processes to track changes and dependencies. Cross-Platform Development: Develop desktop software applications for multiple platforms, including Windows, macOS, and Linux, and ensure compatibility, portability, and consistency across different operating systems. Technical Leadership: Provide technical leadership and guidance to software development teams, including mentoring junior engineers, conducting technical training, and promoting knowledge sharing and collaboration.

Bonuses

Another info