Engineering FAQ
Engineering FAQ
Engineering FAQ
many questions.
A short document responding to the ‘Mmmms and arrrr’s’ you might
have on first encounter with a Careem Recruitment Partner. Detailing
core teams, projects and technologies.
Who are we?
‘Careem’ is the leading ride hailing & technology platform in the MENA region. We are
currently operating in 14 counties and in 100 cities with 25+ million registered users.
After our recent investment of $500m, we are now the 180th unicorn globally. Our
investors include the likes Didi (world largest ride hailing business, recently bought out
Uber from China, Rakuten (3rd largest ecommerce company globally after eBay and
Amazon) and Daimler (one of the largest car manufacturers).
Working style
• Flexible
• Home-working
• Office-working
• Flexible hours.
Team overviews & Projects.
Marketplace
(Careem’s core platform)
Technologies:
Java 8, Spring Boot, Redis, AWS, (DynamoDB, SQS, Kinesys, Elastic beanstalk,
ECS, Batch …) Javascript, TypeScript, NodeJS, Docker, Python, Scala. Soon to be
using: Kotlin or Go, JavaRx or Reactor, Kafka & Kubernetes
• Accurate ETA
To make a good dispatching decision it’s critical to have most accurate prediction
of the travel time between captain and customer. Taking into account city specific,
time of the day and traffic, customer and client profiles. For this you will use, 3d
part map providers, Open street Maps and build in-house ML models to further
increase accuracy.
• Efficiency
Every city is different, so every product must be tuned in the most optimal way,
Manual process is not possible with our scale, thus we need efficient tools to
optimize our products for every city. This includes training models, automatic A/B
testing. Offline simulation of city dynamics. Another topic here is customer prices
and captain earnings – finding the balance which creates a healthy and competitive
market.
Cycle of work
1) Conceptualize feature of experiment
2) Implement MVP and launch a test in a few of the cities
3) Iterate on the MVP to build the good product
4) Mature, re-architect, refactor and rollout to the full market
Opportunity
• Working on the core of Careem on a very difficult and complex problem with instant
feedback from the market.
Positions
• Backend engineer, Data Scientists, Data Analyst (all levels), Technical Lead,
Engineering Manager
Platform team
The platform team is dealing with common services the other business areas build on
top of and the scalability and reliability of the system. Currently the team consists of
about 20 + Engineers (in Berlin) which are separated into 3 different projects which are
in active development and we expect even more responsibilities as we continue to
grow.
Technologies
AWS, Java 8, SpringBoot, MySQL, DynamoDB, Elastic BeanStalk, Elastic Search,
SQS, Redis, Docker, Maven, Jenkins, Git.
Projects
• Related to high availability and scalability of the system a mixture of new
development and system enhancements.
Opportunity
• Better understanding of how to design and implement systems that scale. Taking
decisions that affect the whole engineering organisations.
Positions
• Back-end engineers at all levels, Technical Leads, Engineering Managers.
Careem Pay team - Berlin
This team is working on a payment platform that could be used for Careem or any
other company as a payment method. It consists in a Ledger system (such as banks
have), wallet and digital payment platforms and for Careem ride hailing a Captain
payment platform. In Berlin currently the team has 4 people. The main challenge is
build a financial distributed software that keeps the data consistent and is able to
handle millions of transactions per day.
• It uses Agile and Scrum ideas with a very collaborative and fun environment.
• As for the architecture, we’re implementing as real Event Sourcing, DDD and
microservices with functional and reactive implementations.
Technologies
Java 8, Spring Boot, AWS infrastructure (DynamoDB, SQS, Redis, Aurora MySQL),
Jenkins, Docker, Maven, Git
Loyalty team
This team is working on implementing Loyalty business capability and platform that
could be used across different verticals (ride hailing, food delivery, wallet etc.).
Currently, team consists of 12 people (PM, mobile and backend) and gives a lot of
attention to collaboration and understanding user, business and problems we’re trying
to solve.
Also, having a Lean mindset in combination with Trunk Based Development (CI)
and CD enables us to iterate quickly with our customers on the experiments and
hypothesis we’re trying to test in order to find and deliver the value for our users.
As for the architecture, we’re implementing Event Sourcing (scaling to 150 mil
events per months) together with CQRS and DDD.
Technologies
Java 8, Spring Boot, Android/iOS, AWS infrastructure (Elastic BeanStalk,
DynamoDB, SQS), Jenkins, Docker, Maven, Git
Web platform
The ultimate goal of the web platform team is to grow web development culture in the
company. They work on multiple cross-team collaboration initiatives which have been
started to eliminate effort duplication and to facilitate code reusability. It’s also planned
to use this team to development end-user products, to battle-test and demonstrate
current best practices in web development industry.
Technologies
ES6+, Babel, TypeScript, React, Redux, Jest, WebdriverIO, CSS Modules, PostCSS,
Webpack, TSLint/ESLint, Prettier, Yarn, Lerna, Jenkins, Docker
Projects
• @careem/ui-lib (Library of shared front-end UI components, for reusing code
across projects and teams)
• Careem For Business (web application for corporate administrators, to make it
easier for them to manage certain aspects of corporate-specific services, provided
by Careem)
• Front-End Chapter (Collaboration forum to drive front-end web development
culture inside the company
Opportunity
To play a key role in defining web development culture inside Careem, as it growth
to become an internet company of the region. We want to create a solid base for
many projects to come, since we have ambitious plans to extend the number of
different services we offer. Members of the team are encouraged to start
initiatives, which have significant impact on how web projects are developed in
Careem.
Front-end/Full stack/UI
Working on growth & scalability of our core platform(s) revisiting apps and using
evolving technologies for feature development including greenfield projects. Every
time we design a new feature we usually end up using new technologies and
revamping our architecture to be more reliable, scalable and offer a better end user
experience. We’d rather take that little bit of extra time to future proof our work rather
revisiting it at a later date. We go through a process of Feature Docs, technical RFCs,
Development, Dev Testing, Stating, UAT, Deployment to Production & finally roll out to
different cities.
Technologies
Java, PHP, Python, AWS, MySQL, Dynamo, Redis Caching, NodeJS, Angular, React
Projects
• Captain Portal (Platform used for Captain to access Data on earnings, trips,
available hours, acceptance rate, ratings)
• Captain Earnings (Platform used for Captains to access data on earnings, trips and
available hours, daily, weekly, monthly. Captain Portal V2)
• Incentive Inbox (Platform used for Captains to access upcoming and current
incentives such as bonuses, guarantees, peaks)
• Limo Portal (Platform used by Limo Companies / Vendors to view and manage
their fleet and earnings)
• Supply Gate (Platform used by applicants wishing to become a Careem Captain)
Opportunity
• An opportunity to work with new technologies like React or Progressive Web Apps
on the Front End. Work on a cutting edge Backend which is built to scale & take
some time out to architect the best possible engineering solutions emerging in the
industry to stay a head.
Positions
Positions available at all levels across front-end & full-stack
Infrastructure engineering
Technologies; AWS, Jenkins, Terrafor, Ansible, Saltstack, NewRelic, Prometheus,
Sensu, Java Stack, MySQL & Postgres, ElasticCache/Redis, Docker, Kubernetes
Projects
• Infrastructure as a code Project to bring all the infrastructure resources under
code control
• Kubernetes implementation across the board
• Dockerization of services
• Making CI/CD standard and implement for all microservices
Challenge
Taking care of scaling, as the scale of Careem is massive and every feature/tool
should keep that in focus.
Positions
This is a newly established team we are hiring at all levels.
Communication team
This team is working on implementing Communication business capability and
platform that could be used across all verticals (ride hailing, food delivery, wallet etc.)
and also can also be sold to third parties as a service. Currently the team consists of 5
people (PM and backend) and frontend people are expected to join soon.
• It uses Agile and Scrum ideas with a very collaborative and fun environment.
• As for the architecture, we’re implementing as real Microservices with functional
and reactive implementations.
Technologies
Java 8, Spring Boot, AWS infrastructure (SQS, S3), Jenkins, Docker, Maven, Git,
Mustache Template Engine, Push notification infrastructure
Careem identity service
This is a new forming team which is working on Careem Identity Service. Careem
Identity will allow users to use Careem Identity to have access to our Careem
ecosystem of products. Careem Identity manages all aspects of user profile such as
locations, preferences, active profiles, ACL, loyalty and wallets. Our users can use
Careem Identity to pay for gas, send money to family, use his Careem wallet to make
Careem rides. We work as a technical partner for our internal teams and external
customers where our coding abilities, communication skills, desire to solve complex
problems and passion for scale helps us to find a right solutions and build an awesome
product.
The team consists of 4 people (PM and engineers) and working on completely new
product. Team is using agile ideas with a strong focus on code quality and automation.
Technologies
Java 8, Spring Boot, AWS, Jenkins, Terraform
Team size
3 in Berlin (New team forming), Several in Dubai
Key Projects
• New Test Automation Pipeline
• New automed release pipeline
• New iOS Captain App
Challenges
Code scalability, Performance Optimizations, Automation, Code Architecture,
reuse, and modularity
Opportunity
To help us push limited of Swift and iOS given our demanding app requirements
Android (ADMA App – Android Capt. App).
Technologies
Android, Java, Kotlin, Realm, Daggar, RxJava2
Team size
Berlin 2 (new team forming), Dubai several
Key projects
• Architecting core portions of the app business logic, etc
• Redesigning the UI
• Cleaning up and enhancing code base
• Adding new features and enhancing functionality
Challenges
Lots of complex architectural problems and challenges
Opportunity
Massive ability to drive technical direction and solve major technical problems
whilst impacting a huge number of peoples livelihood.
Additional info:
https://www.crunchbase.com/organization/careem
https://www.careem.com/en-ae/our-story/