Software Engineer II (Android)
Dubai, UAE - Careem NOW
Careem is the everyday Super App for our region. 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.
Who we are?
Careeem NOW are the ones who bring food to your door, and soon we'll be delivering anything on demand with our new Shop & Courier services. We're laying the groundwork for launching last-mile deliveries across foods, groceries, pharmacies and so much more - and it's all happening with the power of big data, along with a a talented can-do team and strong creative minds to help us revolutionize delivery in the region.
Our engineers are our backbone. You'll be empowered to tackle real-time challenges facing last mile logistics, in return, your work will create tangible solutions for restaurants, captains and customers across the region!
What you'll be doing:
Our Android developers have a passion to push mobile technologies to the limits. As an Android Developer, you will work with our team of talented engineers to design and build the next generation mobile applications in a scalable manner.
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
- Design and build advanced, scalable applications for the Android platform.
- Work with the product and design teams to understand end-user requirements and use cases and translate them pragmatic and effective technical solutions.
- 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.
- Own end-to-end product modules/features from requirement to going live.
- Design and review code, troubleshoot and act as a consultant to team members on technical matters.
- Gather requirements by interacting directly with the end users and advocate delightful user experiences.
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- Unit-test code for robustness, including edge cases, usability, and general reliability.
- Use core animation to create engaging motion effects and intuitive interfaces.
What you'll need to succeed:
- 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 multi-threading.
- 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.
- Experience on testing frameworks, including Robolectric and Espresso.
What you'll get in return:
- A strong culture of ownership
- Working in an international environment with colleagues from 70+ nationalities
- Flexible working hours
- Unlimited (paid!) holidays
- 20% off Careem rides and free Careem credits awarded monthly for company growth
- Medical insurance
- Regular performance appraisals and feedback
- Working with the latest technologies on some of the biggest challenges in the region
Careem provides 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.