At Careem, we are driven by the purpose of simplifying the lives of people and building an awesome organisation that inspires. Based in Dubai, we started our journey as a pioneer of the Middle East’s ride-hailing economy. Today, Careem is the region’s everyday Super App operational in 13 countries and over 100 cities. The Super App provides a host of daily services that people need to move around, to order things and to transfer money in one unified smartphone app. Our goal is to simplify people’s daily lives so that they can spend their precious time and mindshare on things that really matter and on realizing their potential
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 join the Fraud Prevention team with a unique combination of distributed real-time services as well as data preparation pipelines and batch ETLs. These large scales, distributed systems are integrated with all Careem services and handle everything from user requests to payment processing. It means you will work with one of the most loaded systems. Realtime service relies on preliminary data aggregation, which involves data ETL based on Spark, Hive, etc. This means an opportunity to work on virtually any type of computer science and software engineering problem, particularly in the areas of large scale distributed systems and big data. Our tech stack is mainly Java/Kotlin, Python, Node/Typescript, Docker, AWS, Spark, MySQL, DynamoDb and a long tail of other technologies
This role is for a position in Lahore, Pakistan
Key responsibilities include:
- Write high quality, performant and reliable code while working on defined tasks/bugs independently.
- Work independently to understand functional specifications and deliver complete features.
- Participate in the on-call rotation and be willing to jump in and help resolve any incidents within the defined SLA.
- Participate in team agile processes and practices, contribute to their continuous evolution.
- Work closely with other engineers on the team to build highly scalable and robust backend services.
- Bachelor's Degree in Computer Science or other related technical field.
- 10+ years of professional experience in Software Development building scalable microservices.
- Experience with Computer Science fundamentals including data structures, algorithms, complexity analysis.
- Experience working in an Agile/Scrum environment to deliver high-quality software against aggressive schedules.
- Master's Degree in Computer Science or other related technical field.
- A deep familiarity with the AWS services (Elastic Beanstalk, RDS, Elastic Search, Dynamo)
- Experience with distributed systems at scale in a cloud based environment.
- An understanding of how front end frameworks work.
- Experience with Reactive programming in Java, Spring Boot, and a deep understanding of DI frameworks.
- Experience in rapid prototyping and other fast iteration methods for product development.
- Willingness to roll up your sleeves and do what's necessary to drive your projects to completion.
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
- Strong focus on customers and operational excellence.