Software Engineer – Android
Careem is the leading technology platform for the greater Middle East. A pioneer of the region’s ride-hailing economy, Careem is expanding services across its platform to include payments, delivery and mass transportation. Careem’s mission is to simplify and improve the lives of people and build a lasting institution that inspires. Established in July 2012, Careem operates in more than 120 cities across 15 countries and has created more than one million job opportunities in the region.
About the role
Our Android developers have a passion to push mobile technologies to the limits. As an Android Developer, you work with our team of talented engineers to design and build the next generation mobile applications in a scalable manner.
The aim of the Team is to make Careem Rewards the main Loyalty provider of the region. You will be scaling the current architecture to support Careem growth across all vertices (Ride hailing, Bus, Now, Bike, Pay and SuperApp).
As an Android Developer:
- You design and build advanced, scalable applications for the Android platform.
- You work with the product and design teams to understand end-user requirements and use cases and translate them pragmatic and effective technical solutions.
- You integrate with our backend services (JSON, REST, etc.) to make sure we are delivering a great mobile user experience that is super-fast for end users.
- You own end-to-end product modules/features from requirement to going live.
- You design and review code, troubleshoot and act as a consultant to team members on technical matters.
- You gather requirements by interacting directly with the end users and advocate delightful user experiences.
- You continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- You unit-test code for robustness, including edge cases, usability, and general reliability.
- You use core animation to create engaging motion effects and intuitive interfaces.
- 3+ years of software programming experience.
- 3+ years of Android application development, with extensive knowledge about Java, collections, algorithms and well-known application frameworks.
- Strong understanding of interactive application development paradigm under Android, memory management, file I/O, network programming, concurrency and multithreading.
- Experience in Android-specific application development and publishing Android apps in the play store.
- Good understanding of design patterns, such as builder, facade and Observer.
- Good knowledge about the latest framework and techniques, including RxAndroid, Lambda expressions and dependency injection.
- Good understanding of the full mobile development life cycle. Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies.
- Experience in working with third-party libraries and APIs.
- Good experience on testing frameworks, including Robolectric and Espresso.
- Strong and innovative approach to problem solving and finding solutions. Flexible and proactive/self-motivated working style with strong personal ownership of problem resolution.
- Excellent communicator (written and verbal, formal and informal).
- Highly accountable and takes ownership, with collaborative attitude, and a lifelong learner.
Nice to have
- Ideal candidate will also have knowledge on iOS development
What do we offer you?
Working in an international environment with colleagues from 70+ nationalities, ownership culture, flexible working hours, unlimited (paid!) holidays and the latest technologies
Careem gives equal opportunities. All aspects of ownership including the decision to hire, promote, discipline, or discharge, will be based on merit, competence, performance, and business needs. We celebrate diversity and are committed to creating an inclusive environment for everyone.