Senior Kotlin Developer for the World Match&Load Team
The World Match&Load team is responsible for developing services that ensure the continuous collection, processing, and delivery of mapping and reference data from various external sources to internal 2GIS systems.
Within the team, we discuss solution approaches, choose architecture, and share technical and business expertise. Everyone can propose ideas and express their opinion on any matter. We use modern technologies and are not afraid to experiment.
The majority of the code for all services is written in Kotlin, but we are open to considering candidates with Java experience who have a strong desire to try something new.
Tech Stack and Environment
- Kotlin (JVM), Python (ETL), Airflow (DAG orchestration);
- PostgreSQL, ClickHouse, Kafka;
- Docker, GitLab CI, Kubernetes;
- Prometheus/ELK/Grafana;
- Jira, Confluence, Mattermost.
What you'll be doing
- develop and enhance services for processing data from external sources: collection → matching and normalization → delivery to internal systems;
- integrate new sources, ensure the quality and stability of deliveries;
- ensure uninterrupted service operation: monitoring, alerts, identifying the causes of degradation, resolving performance issues;
- participate in solution design, task decomposition, and estimation for incoming team tasks;
- participate in code reviews, architecture, and technical solution discussions.
What we expect from you
- commercial experience in backend/data service development using Kotlin (or Java with a readiness to switch to Kotlin);
- hands-on experience with PostgreSQL, understanding query optimization (execution plans, indexes, bottlenecks);
- hands-on experience with ClickHouse;
- experience with Kafka and/or other message brokers;
- experience operating services in Kubernetes (requests/limits, liveness/readiness), CI/CD (GitLab CI), containerization (Docker), as well as experience with Helm (ability to write and maintain custom Helm charts for service deployment);
- ability to analyze and fix application and database performance issues;
- experience writing unit and integration tests;
- ability to understand and work with legacy code, work in a team, argue proposals and decisions;
- knowledge of algorithm and data structure theory, and the ability to apply them in practice.
Will be a plus
- experience working with *nix operating systems;
- experience working with geo-data and PostGIS/JTS (this is part of the tasks, but not mandatory for everyone);
- experience in Python development for ETL/data processing (maintainable code, structuring, error handling);
- experience with Airflow: developing and maintaining DAGs for regular pipelines;
- practice in building monitoring/analytics systems: metrics/alerts in Prometheus, dashboards in Grafana, log analysis in ELK.
Why it's great to work with us
2GIS is an accredited IT company. You can work remotely from any city in Russia. If you prefer a hybrid format, we have offices in Moscow, Saint Petersburg, and two great offices in Novosibirsk. We also have coworking spaces in several cities.
- fully official ("white") salary;
- additional vacation days for tenure in the company;
- voluntary health insurance and the possibility of online consultations with a therapist, neurologist, psychologist, and medical agent;
- internal hackathons, meetups, podcasts, and the large-scale 2FEST festival for the entire RnD department.