Machine Learning Engineer | Map

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 Team

On the surface, Snapp’s ride-hailing technology might appear straightforward: a user requests a ride from the app, and a driver arrives to transport them. However, underpinning this simplicity is a complex infrastructure comprising hundreds of services and terabytes of data that support every trip on our platform. Central to this infrastructure is the map data and services that power our core functionalities. Initially, we relied on third-party services like Google Maps, but these solutions fell short in customization and localization for our specific needs. Additionally, there are challenges with using third-party services outside Iran and their associated costs. The Maps Team at Snapp is looking for a Machine Learning Engineer to join us in developing a suite of new, customized services tailored to our business requirements.

About Role

Map’s software/data/ML engineers are a group of people who directly impact the daily lives of more than a million users in Iran.
As an ML Engineer, you will play a pivotal role in designing, developing, and maintaining robust data pipelines, systems, and applications that drive data-driven decision-making across the organization. You will collaborate closely with cross-functional teams including data scientists, analysts, and software engineers to ensure the availability, accessibility, and integrity of our data assets.


  • Responsibility:
  • Machine Learning Model Development: Develop machine learning algorithms and custom data models for cleansing, integrating, and evaluating large datasets.
  • End-to-End ML Pipeline Optimization: Build scalable and efficient machine learning pipelines and workflows for data gathering, processing, feature engineering, model training, and evaluation.
  • Model Deployment and Monitoring: Deploy trained models in a production environment, ensuring robust monitoring and performance tracking.
  • Practical Problem-Solving: Apply problem-solving skills to real-world applications.
  • Cross-functional collaboration: Work closely with product managers and software engineers.
  • Effective Prioritization: Manage multiple and competing priorities effectively.
  • Strong Communication Skills: Exhibit excellent written and verbal communication skills in English.
  • Documentation: Maintain comprehensive documentation of models, code, and processes to ensure knowledge sharing and best practices.

Requirements

  • Minimum of 3 years of relevant work experience.
  • Understanding of various machine learning techniques and algorithms (supervised, unsupervised, reinforcement learning) and their respective real-world benefits and limitations.
  • Proficiency in Python and experience with common data science packages.
  • Experience with relational databases (SQL) such as PostgreSQL and ClickHouse.
  • Experience with big data computing tools like Apache Spark.
  • Experience with streaming data processing tools like Apache Kafka and Kafka Streams.
  • Experience with MLOps tools and pipelines such as Apache Airflow, MLflow, Feature Stores, Seldon, and DVC.
  • Experience with orchestration infrastructure tools like Docker and Kubernetes.
  • Preferred Qualification
  • Familiarity with map-based data and applications.
  • Software engineering experience, including object-oriented programming, clean coding, design patterns, and other programming knowledge.