Overview
The Mobile engineer is responsible for designing, developing and maintaining high-quality, performant and scalable mobile applications. The role requires expertise in native and cross-platform mobile development, UI/UX best practices and modern software engineering principles. Engineers must work in an agile, DevOps-driven environment, ensuring high software quality, security and maintainability.
Responsibilities
- Collaborate with Business Analysts (BA) and Product Managers to refine user stories and translate them into technical requirements.
- Work with Quality Assurance (QA) engineers to ensure automated test coverage and proactively fix bugs and defects.
- Partner with DevOps teams to automate build, deployment and release processes for mobile applications.
- Design, develop and maintain intuitive, responsive and accessible mobile applications that provide user experience.
- Improve software quality through Extreme Programming (XP) practices, including pair programming, code reviews and unit testing.
- Implement secure coding practices, ensuring protection against mobile security threats such as insecure data storage and API vulnerabilities.
- Optimize mobile performance, battery efficiency and offline capabilities to enhance user experience.
- Document technical decisions, architectural patterns and best practices for mobile development.
Experience and skills Needed
Technical Skills:
- Degree or diploma in Computer Science, Computer or Electronics Engineering, information technology or related disciplines.
- Experience with Git and modern branching workflows (GitFlow, trunk-based development).
- Proficiency in native mobile development for iOS (Swift, Objective-C) and/or Android (Kotlin, Java).
- Experience with cross-platform development frameworks such as React native or Flutter.
- Strong understanding of mobile UI/UX principles and platform-specific guidelines (Material Design, Human Interface Guidelines).
- Experience with state management solutions for mobile applications.
- Hands-on experience with mobile build systems and dependency management tools (Cocoapods, swift Package Manager or Gradle).
- Experience with frontend web technologies (JavaScript, HTML5, CSS3) for hybrid mobile app development.
- Experience integrating RESTful APIs, GraphQL, and WebSockets for mobile applications.
- Familiarity with mobile databases technologies.
- Experience with CI/CD pipelines for mobile applications (Fastlane, Bitrise, GitHub Actions, Gitlab CI).
- Understanding of mobile security best practices, including secure data storage, encryption, authentication and authorization.
- Knowledge of cloud platforms (AWS, Firebase) Google Cloud, Azure) for backend integration.
- Software engineering Practices: Experience working in Agile teams (Scrum, Kanban) with stro0ng collaboration skills.
- Knowledge of Extreme Programming (XP) practices such as TDD, pair programming and continuous refactoring.
- Strong understanding of mobile test automation frameworks (Appium, espress, XCUITest, Detox).
- Adherence to software craftsmanship principles, ensuring clean, maintainable and efficient code.
Bonus Experience (Added Advantage)
- Experience working in an Agile and UX-driven development environment.
- Hands-on experience with progress web apps (PWAs) and mobile web optimizations.
- Experience integration mobile applications with authentication mechanisms (OAtuth, JWT, OpenID Connect, Biometrics).
- Knowledge of mobile app distribution, App Store/ Google Play deployment, and release management.
- Familiarity with edge computing and 5G optimizations for mobile applications.
- Experience with augmented reality (AR) or virtual reality (VR) mobile development (ARKit, ARCore, unity).