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; these include:
Search/Geocode: enable users to find their desired locations using a query.
Reverse-Geocode: Translates a Geo-location to a brief human-readable address.
Tile: the map itself, which is the first thing users see.
Traffic/Routing: Calculate Traffic and Provide optimal route and ETA between two or more locations on the map road graph.
Map Data: collect map data from various sources, enrich it, and provide it to the above services.
About the role Map’s software engineers are a small 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.
Responsibilities
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
Requirements
Mandatory Qualifications
Bachelor’s degree in Computer Engineering or relevant field
Must have 2+ years of software engineering industry experience
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
Experience in some of the programming languages such as Golang, Java, Python, Node.js or C++
Proficiency in Linux and bash scripting
Ability to work as a team player
Proficiency in using Git as source version control
Preferred Qualifications (optional)
Proficiency in software engineering topics
Exposure to some or all of these technologies: Docker, Openshift, ELK Stack, Postgres, Cassandra, Kafka, and Tile38
Familiarity with map, location and navigation concepts
Familiarity with OpenStreetMap
Familiarity with OSRM, Valhalla or other routing engines
Machine Learning knowledge
Proficiency in algorithms
معرفی شرکت
اسنپ محصولی ایرانی است که از تیمی خلاق، جوان و تحصیلکرده قدرت میگیرد و در تلاش است تا صنعت فناوری اطلاعات و ارتباطات را به زندگی روزمره جامعه پیوند بزند.
اهداف بزرگی در سر داریم و بلند پروازیم. قصد داریم اسنپ را به بهترین راهکار برای سفرهای درونشهری ایران تبدیل کنیم و در این راه به کمک افراد خلاق، سختکوش و بلندپرواز احتیاج داریم. اگر چنین خصوصیاتی دارید خوشحال میشویم که رزومه خود را برایمان ارسال کنید.