Software Engineers - Distributed Systems

CareemยทBerlin Area, Germany

Careem is the leading ride-hailing service in MENA and newest Tech Unicorn. With 30% monthly growth, we now operate in 90+ cities across 13+ countries and host over 15 million users. With our recent Series D funding of $500 we are scaling our Berlin office at the speed of lightning. (Based in the Sony Center)


We are looking for experienced software engineers at all levels to join our team of talented engineers that share a common interest in distributed backend systems, their scalability and continued development.

You will be responsible for the software architecture, design and development of the software systems that make-up the Careem engine. These large scale, distributed systems handle everything from user requests to payment processing.

Our tech stack is Java 8 and Spring Boot, Micro-Service Architecture, NoSQL DBs, iOS & Android applications, Front-end (ReactJS) and AWS infrastructure.

Key responsibilities include:

  • Software architecture and design of our distributed backend system to meet the challenging functional, scalability and reliability requirements for our fast growing business
  • Execute full software development lifecycle
  • Work in a team with highly talented software engineers
  • Write clean, reusable, testable, and maintainable code
  • Mentoring of junior team members
  • Integrate components into a fully functional & validated system
  • Document designs and review code
  • Serve as (or grow into) a subject matter expert
  • Continuously strive for higher quality and productivity


  • Experience in multi-tiered distributed systems, web services, APIs, and relational & NoSQL databases
  • Extensive backend programming experience in one or more of the following: Java, C/C++, Python.
  • Strong competencies in data structures, algorithms, software design and OOP.
  • Ability to: effectively articulate technical challenges and solutions; deal with loosely defined problems and fast changing requirements & think abstractly.
  • A solid foundation in computer science, with strong competencies in data structures, algorithms and software design.
  • Able to take individual ownership of a project from start to finish.

Nice to have:

  • Experience with Micro-Services.
  • Experience with Amazon Web Services.
  • Bachelors or higher degree in Computer Science or related disciplines