Overview
Job Description
We are looking for a highly talented Senior Backend Engineer to join our team in Riyadh. If you are looking for a place where you can gain hands-on experience and create a direct impact, then this may be the place for you! The ideal candidate will have a track record as a significant individual contributor as well as a strong team player, supporting a team, and working closely with the management teams to drive strategic initiatives forward across the region.
Responsibilities
- Take part in architectural decision-making on a platform that is used by millions of people.
- Actively participate in migrating our monolithic application into Microservices.
- Design, improve and secure the overall backend architecture to support massive growth in users and products without compromise.
- Work with Docker containers, Kubernetes manifests, and Google Cloud Platform.
- Coach and mentor other team members as a senior member of the team and member of our Backend Chapter.
- Support Design Driven Development, SOLID Principles, Event-driven Architecture, Algorithms and automated tests (unit, integration and functional).
- Understand development lifecycle and collaborate with cross-functional and agile teams.
- Participate in the continuous and common effort of test coverage, refactoring and documentation.
- Demonstrate code review, debugging and investigation skills regularly.
Qualifications
- 5+ years of experience in backend development using GoLang, Ruby on Rails (RoR), Java, or Python.
- Strong database expertise with PostgreSQL and NoSQL databases. Solid understanding of normal forms, ACID principles, isolation levels, indexing, query optimization, and memory caching (Redis, Memcached).
- Proficiency in monitoring, alerting, and logging tools such as Grafana.
- Deep understanding of software architecture, including Domain-Driven Design (DDD), microservices, Kubernetes, and containerization.
- Experience with monolithic migration.
- Strong testing mindset with experience writing unit and integration tests to ensure code quality and reliability.
- Adaptability and problem-solving skills – ability to navigate ambiguity, work in a dynamic, fast-paced environment, and make informed decisions.