Senior Engineer - Software
Apply now »Date: 14 Apr 2025
Location: Abu Dhabi, AE
Company: EDGE Group PJSC
About KATIM
KATIM is a leader in the development of innovative secure communication products and solutions for governments and businesses. As part of the Space & Cyber Technologies cluster at EDGE, one of the world’s leading advanced technology groups, KATIM delivers trust in a world where cyber risks are a constant threat, and fulfils the increasing demand for advanced cyber capabilities by delivering robust, secure, end-to-end solutions centered on four core business units: Networks, Ultra Secure Mobile Devices, Applications, and Satellite Communications. Our talented team of cross functional experts continually takes-on new challenges. We work with the energy of a start-up yet the discipline of a large business to make solutions and products work for our customers at scale.
In this role you will be responsible for software design, implementation, testing, debugging and deployment of security focused products and apps. We believe in short feedback loops, well designed and documented APIs, test driven development, automation whenever possible.
The successful candidate will join a talented team of experienced software engineers, working on challenging projects and mentor and set examples for the entire engineering community to elevate KATIM team's culture and effectiveness.
Key Responsibilities
• Design, code, test, and maintain software solutions that meet or exceed customer expectations.
• Collaborate with cross-functional teams to define, design, and ship new features.
• Contribute to the architectural decisions for software projects, ensuring scalability, maintainability, and performance.
• Collaborate with architects to design solutions that align with overall system architecture.
• Conduct and participate in code reviews to maintain code quality and ensure adherence to coding standards.
• Implement and advocate for best practices in software development and testing.
• Analyze and troubleshoot complex software issues, providing effective solutions.
• Collaborate with the team to identify and address technical challenges.
• Work closely with product managers, UX/UI designers, and other stakeholders to understand and refine software requirements.
• Collaborate with cross-functional teams to integrate software components seamlessly.
• Provide technical leadership and guidance to the development team.
• Mentor junior engineers, fostering a culture of knowledge sharing and continuous learning.
• Create and maintain technical documentation, including design documents, API documentation, and release notes.
• Ensure documentation is up-to-date and accessible to the development team.
• Identify and address performance bottlenecks in the software.
• Optimize code and algorithms for efficiency and scalability.
• Collaborate with cross-functional teams to solve complex problems and deliver high-quality software solutions.
• Work proactively to address challenges and find innovative solutions.
• Participate in Agile/Scrum development processes, including sprint planning, backlog grooming, and retrospective meetings.
• Contribute to the continuous improvement of development processes and methodologies.
Education and Minimum Qualification
• BS in Computer Science, Computer Engineering, Mathematics or related field, or equivalent experience in industry / Masters preferred.
• Minimum 7+ years of experience
• 5+ years of professional experience developing publicly available mobile and desktop apps (Android, iOS, macOS, Windows)
• 2+ years of experience in Flutter and Dart
• 1+ years of experience in Rust
• Experience with writing Flutter Unit/widget/integration tests
• Experience with Concurrency – Isolates Dart experience
• Experience with state management approaches (BLoC, Provider, etc)
• Particiapted in the release of at least 2 publicly available apps to google play / Apple appstore from feature inception to launch using automated tooling like Jenkins, Gradle, Fastlane, Pods.
• Solid understanding and experience in software development best-practices and secure coding
Key Skills
• Common software architectural practices and principles (MVC, MVP, MVVM, Clean, SOLID)
• Knack for creating readable, well crafted, maintainable code and documentation.
• Proficient in writing modular, testable, tested, performant Dart code using bestpractices such as TDD, focusing on automated end to end quality.
• Proficient with Dart (Flutter)
• Familiarity with Rust.
• Extra points for experience in design and development of C/C++ SDK’s
• Knowledge of the mobile landscape, architecture, trends, and emerging technologies used in creating performant, resilient, and robus Mobile apps (Android, iOS)
• Proficient application knowledge and strong development experience involving cryptographic algorithms/protocols.
• Proficiency with CI and CD tools and techniques to keep the development branch always in a releasable state.
• Strong written and verbal communication skills, including the ability to sell complex topics with members of management at all levels.
• Familiarity with development and configuration tools (Git, Jira, Jenkins, etc.)
• Self-motivated and driven; takes ownership of personal and team goals
#KATIM
Job Segment:
Testing, Computer Science, User Experience, Developer, Technology