About the role:
We are looking for an Android Engineer to work on our native mobile Android apps for Tajawal and Almosafer (travel booking apps) to help scale them to the next level. You will be a part of a well structured and fun mobile engineering team which follows agile processes, development best practices, and allows you to grow and gain experience.
- Build innovative product features for the Almosafer and Tajawal Android apps.
- Conduct code reviews to ensure a code of the highest quality
- Unit-test code for robustness, including edge cases, usability, and general reliability.
- Take part in planning meetings with a truly agile team to break down user stories into technical tasks
- Provide increasingly accurate estimations for the tasks to be done
- Collaborate with other developers, product managers, designers, and QA engineers to deliver the best product possible
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- Bachelor’s degree or higher in Computer Science or a related field
- 3-5 year of experience in the development of Android apps that use web services (for example with REST and JSON)
- Strong experience with Kotlin (Java is nice to have)
- A strong understanding of design patterns
- Extensive knowledge of Unit Testing frameworks (J-Unit), ideally some understanding of Automation testing.
- Up-to-date with the latest android libraries and components (Architecture components, Room, Lifecycle, Jetpack…. )
- Have published one or more Android apps in the app store.
- Knowledge about CI/CD systems such as Jenkins, Fastlane or Circuit CI
- Expert knowledge of asynchronous programming (Kotlin Coroutines, LiveData, or RxJava).
- Knowledge about different architecture patterns MVVM, MVP.
- Experience with git or other version control systems, and how collaboration happens between team members (Code Review, PRs, branching mechanisms, ...)
- Experience with dependency injection concepts e.g: Koin, Dagger2.
- Great communications skills