At Careem, our mission is to simplify the lives of people, initially through solutions that make transportation reliable, and over time, through disruptions in payments and logistics. In the process, we want to build an organization that inspires and become a world-class institution.
Careem (Berlin & Dubai's $3.1 Billion Dollar Start-up) recently acquired by Uber, focusing on Ride Hailing & Logistics for the Middle East and Northern Africa Markets. We now operate in 130 cities across 15 countries and host over 30 million users.
We are building out a world class team of engineers, and we'd love to see if you're a good fit for our open, inclusive and friendly culture.
ABOUT THE ROLE:
You’ll be part of the Super App front-end team, which have an end-to-end responsibility of building and delivering the front-end of the Careem Super App – a key pillar in the Careem strategy to become the region’s everyday Super App!
Our Android developers have a passion to push mobile technologies to the limits. As an Android Developer, you work with a team of exceptionally talented engineers to design and build the Careem Super App!
In addition to adhering to exceptionally high engineering standards, you are expected to build the application in a largely scalable manner, high quality, good application performance and applying best-in-class usability standards and practices.
Our product sits on top of many modern technologies, including Java, Kafka, Redis, Amazon S3, DynamoDB, and Elasticsearch. You and your team will touch many technologies including AWS, Docker, Jenkins, Consul, Redis, Kafka, and Postgres
Technologies we use: Android, Java, Kotlin, Realm, Dagger, RxJava2.
- 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.
- 5+ years of Android application development with extensive knowledge about Java, collections, algorithms and well-known application frameworks.
- Knowledge and experience of Kotlin, RxJava and Dagger will all be useful.
- 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 technical, 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.
- Competitive salary
- Unlimited annual leave
- Entrepreneurial working environment
- Flexible working arrangements
- Mentorship and career growth