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
What will be keeping you busy?
We’re in search of a Back-End Software Engineer that specializes in server-side components. In this role, you’ll primarily bring a depth of knowledge on basic algorithms and data structures. As a Back-End Software Engineer, on any given day you might be architecting new features for our customers, refactoring existing code to be more scalable, and seeing changes through to completion in a live environment.
- Strong computer science fundamentals including data structures, algorithms, complexity analysis, object-oriented design, and distributed systems.
- Design and create services and system architecture for your projects, and contribute and provide feedback to other team members.
- Help improve our code quality through writing unit tests, automation, and performing code reviews.
- Collaborate with a multidisciplinary team of Back-End Software Engineers, Project Managers, and System Administrators.
- Participate in brainstorming sessions and contribute ideas to our technology, algorithms, and products.
- Work with the product and design teams to understand end-user requirements, formulate use cases, and then translate that into a pragmatic and effective technical solution.
- Dive into difficult problems and successfully deliver results on schedule.
- 4+ years of relevant experience
- Proven experience as a backend engineer
- Ability to work in a remote setup
- Ability to independently own and deliver features from start to finish
- Understand both how to write tests and the value of automated testing
- Experience with all phases of the software development life cycle, best practices, and Agile Software Development.
- Solid OOP and software design knowledge – you should know how to create software that’s extensible, reusable, and meets desired architectural objectives.
- Experience with Java, Ruby, or Golang and the willingness to learn new technologies
- Establish Back-End Software Engineer best practices
- Experience with Linux/Unix and scripting languages like Python
- Knowledge in database systems and NoSQL databases such as DynamoDB
- Experience with CI/CD processes and tools (e.g. Jenkins)
- Experience with containerization technologies (e.g. Docker)
- Experience with AWS is a plus (e.g. ECS, EC2, S3, DynamoDB, etc…)
What do we offer you?
Working in an international environment with colleagues from 70+ nationalities, a flat hierarchy, flexible working hours, unlimited (paid!) holidays, the latest technologies and full ownership!