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
On the surface, Snapp’s ride-hailing technology may seem simple: a user requests a ride from the app, and a driver arrives to take their destination. Behind the scenes, however, a giant infrastructure consisting of hundreds of services and terabytes of data supports each and every trip on the platform. At the heart of this infrastructure, both map data and services enable the most basic features powering our business. In our early days, we used third-party services such as Google Maps, but these services lack the customizations and localizations that our business needs. Furthermore, there are the usual risks of using third-party services outside Iran and their relatively high costs. The Maps Team at Snapp is looking for Software Engineer to join us and help create a set of new services that are customized to our business needs.
About the role
Map’s software engineers are a group of people who directly impact the daily lives of more than a million users in Iran. As a Software Engineer, you are the architect, designer, and coder of your project. You will struggle with lots of open source projects and contribute back when you can. In addition, you work closely with our engineers to ensure
system consistency and improve the user experience. In a nutshell, you will build highly scalable services supporting the enormously growing load of Snapp. We are looking for the type of person who feels uncomfortable when a day
goes by without achieving something impactful. Someone who is driven to get things done and views obstacles as an exciting challenge that demands a creative solution.
• Design, develop, test, deploy, maintain, and improve the software.
• Design and implement scalable and robust applications.
• Help to define roadmap and architecture based on technology and business needs.
• Participate in code reviews to ensure code quality and distribute knowledge
• Share your knowledge by giving brown bags, tech talks, and evangelizing appropriate tech and engineering best practices
• Can help lead large projects from idea to positive execution
• Act on feedback to learn and grow
• Unblock, support and effectively communicate across teams to achieve results
• Bachelor’s degree in Computer Science or relevant field
• 2+ years of software engineering industry experience
• Proficiency and Experience with Golang or Java
• Familiarity with message brokers such as Kafka and NATS
• Exposure to some or all of these technologies: Docker, Kubernetes, ELK Stack, Redis and PostgreSQL
• Teamwork skills with a problem-solving attitude
• Effective communication skill with a positive attitude
• Strong understanding of good design principles
• Comfortable with an agile, flexible approach to feature development
• A strong “Automation First” mentality
• Proficiency in Linux and bash scripting
• Ability to work as a team player
• Proficiency in using Git as source version control
• Familiarity with Information Retrieval Concepts
• Familiarity with Text Processing and Natural Language Processing
• Familiarity with PostGIS and OpenStreetMap