Senior Software Engineer – Identity Team

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

We are looking for Software Engineers 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 over 40 million users!

Identity Team tech stack is Java, Spring Boot, Kotlin, Micro-Service Architecture, SQL and no-SQL DBs, iOS and Android applications, web front-end and AWS infrastructure.

The aim of the Team is to make Careem the main identity 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 a Software Engineer you will:

  • Design software architecture of our distributed backend system to meet the challenging functional, scalability and reliability requirements for our fast-growing business.
  • Work in a team with highly talented software engineers
  • Write clean, reusable, testable, and maintainable code following TDD (code quality and coverage is very high)
  • Mentoring of junior team members
  • Integrate components into a fully functional & validated system
  • Develop and implement software verification and quality assurance procedures
  • Document designs and review code
  • Serve as (or grow into) a subject matter expert
  • Continuously strive for higher quality and productivity

Requirements

The ideal candidate will have a passionate commitment to improving the lives of people, an insane focus on excellence and customer service, and a strong alignment with our core values: being bold, focused, agile and collaborative.

  • 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
  • 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
  • Interest in going full stack (doesn't have to be an expert). We're looking for T-shaped professionals that can help us out with reducing hand-offs and minimising lead time to make an impact.
  • Good to have – Oauth2, openid connect, JWT knowledge, GDPR knowledge, information security, open standards for authentication and authorisation.

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.

Apply for this Job

* Required