Senior Software Engineer - User

Job description

About Snapp

Snapp is the pioneer provider of ride-hailing mobile solutions in Iran that connects smartphone owners in need of a ride to Snapp drivers who use their private cars offering transportation services. We are ambitious, passionate, engaged, and excited about pushing the boundaries of the transportation industry to new frontiers and be the first choice of each user in Iran.

About the team
The User team is responsible for designing, developing and maintaining the micro-services related to the users of Snapp, including drivers and passengers. Areas such as registration, login, authentication, profile and more are within the scope of this team. Considering the high number of Snapp users and the sensitivity of the processes related to authentication, we face exciting challenges in the User team in a big scale. Continuous learning, mutual respect and being impactful are some of the key values of the User team.

About Role

As a senior software engineer you will collaborate with other engineers, product managers, designers, and testers to deliver high-quality code that meets the business requirements and user expectations. You will also mentor junior developers, conduct code reviews, and contribute to the continuous improvement of the backend architecture and performance. You will be expected to have strong technical skills, problem-solving abilities, and communication skills, as well as a passion for learning and innovation.


  • Effective communication with a positive and confident attitude
  • Helping to ensure effective coding practices
  • Writing unit and integration tests, as well as code reviews and pair programming
  • Designing and implementing distributed, scalable, high-performance micro-service-based applications
  • Working with cloud-native infrastructure technologies
  • Maintaining and dismantling legacy code
  • Developing and maintaining microservices


 Mandatory Qualifications

  • Experience in one of the programming languages like Golang, Python, C#, C++
  • Experience in building Restful Web services
  • Experience using GIT for source version control and CI/CD
  • Strong understanding of SQL and relational databases (MySQL, PostgreSQL) and best practices for database design
  • More than four years of related experience in backend engineering
  • Comfortable with an agile, flexible approach to feature development
  • Experience in unit testing
  • Familiar with Containers, Docker and k8s
  • Familiar with concurrency concepts

Preferred Qualifications (optional)

  • Familiarity with NoSQL databases
  • A strong “Automation First” mentality
  • Familiar with DevOps culture and GitOps
  • Familiar with Linux