Software Engineer - Backend

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 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 Team:

Our mission at Shared Services, one of the vital verticals at Snapp, is to create in-house tech solutions for other verticals in the company and direct users. We strive to offer scalable and intelligible services by developing reliable and practical solutions for various goals including application config repository, feature flag management, and dynamic price control. Our team is focused on innovation and delivering meticulous features and plays a key role in driving the overall success of Snapp.

Responsibility:

  •  Write well-crafted, well-tested, readable, performant, and maintainable code.
  •  Be responsible for, designing, developing, deploying, monitoring, operating, and maintaining existing or new elements of our systems and   infrastructure.
  • Conduct code reviews to ensure code quality and knowledge distribution through effective communication.
  • Actively participate in Scrum and team meetings.
  • Collaborate with cross-functional partners like product managers and other vertical engineers efficiently to ensure the best possible outcomes
  •  Proactively document steps and processes in design and development phases.

Requirements

  • Experience with or the ability to quickly adapt to the Go language ecosystem.
  • A commitment to writing clean, maintainable, and efficient code.
  • Experience using Git for source version control
  • Familiarity with SQL and relational databases (MySQL, PostgreSQL)
  • Familiarity with NoSQL databases (Redis, MongoDB)
  • Familiarity with CI/CD
  • Familiarity with telemetry monitoring tools (Prometheus, Otel, Grafana)
  • General knowledge of Linux/Unix-based systems
  • Having good communication and conflict-resolution skills
  • Proficiency in English for team collaboration and technical documentation.

Preferred Qualification:

  • Familiarity with Cloud-Native application development (Kubernetes, Docker)