Senior Backend Software Engineer

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 role

The engineering team at Snapp is looking for an experienced software engineer to help us develop cloud-native backend services for our extremely large and ever-growing customer base. We are the largest ride-hailing startup in the region, and our primary programming language is Go.

A successful candidate would be self-driven and excited to learn, develop, and deliver distributed software systems at scale. He or she will have a keen technical aptitude, excellent communication skills, and enjoys achieving results in a fast-paced, dynamic environment. Currently, our primary programming language is Go, but if you have experience building for scale, and the mindset to learn, we are willing to train.


Primary responsibilities and skills include the following areas:

  • Building highly scalable, highly available web services to handle millions of transactions per day in a cloud-native environment (we have our own cloud and we control everything from top to bottom)
  • Working on an agile team using CI / CD best practices to deliver the highest quality software possible quickly
  • experiment, test, fail fast, and learn as you go, we are not looking for a cookie-cutter solution to the complex problems we solve, and being remote means we are looking at someone who is self-driven
  • Have an analytical mind, back your decisions with data, empathy for users, a strong focus on quality and optimization


  • 5+ years of professional enterprise development experience
  • 1+ years of people management experience, hiring and managing engineers
  • Experience in partnering with product and program management teams and bring customer perspective to the table

Experience With One Or More Of The Following

  • Engineering at Web scale, experience with REST, JSON
  • GRPC, GraphQL, Haproxy/Nginx
  • Experience with monitoring, analytics, and tracing tools (Prometheus/Grafana, Loki/ELK, Opentracing)
  • Testing and Mocking in Golang, Docker

Nice To Have Qualifications

  • DevOps exposure (strace, tcpdump, grep), Automated testing, building Kubernetes, Cloud Native Applications, Git, Consul, Ansible, Helm
  • Experience with MQTT Broker (EMQX)
  • Experience with Redis, Databases (Mysql or PostgreSQL), Queues (NATS or Kafka)