Backend Software Engineer (Java, Kotlin)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
В команде 2GIS World мы занимаемся разработкой множества сервисов, которые отвечают за непрерывный сбор, обработку, нормализацию и доставку подготовленных мировых картографических и справочных данных до внутренних систем.
У нас дружный коллектив, в котором обсуждаем способы решения задач, выбор архитектуры, делимся техническим и бизнес опытом. Каждым может предложить идеи и высказать свое мнение по любому вопросу.
Мы идем в ногу со временем, используем новейшие технологии и не боимся экспериментировать.
Наше окружение использует docker, деплоится с помощью ansiblе, а работает и скейлится в k8s.
При этом нам очень важен мониторинг боевых сервисов и мы делаем его в prometheus.io. Сообщаем критичные проблемы прямо в slack в специальный канал. Когда же нам нужно посмотреть динамику по данным на графиках, то на помощь нам приходит grafana, а если нужно покопаться в логах, то выручает ELK.
Большая часть кода всех сервисов написана на Kotlin и Java8, но мы готовы рассматривать кандидатов, писавших на C#/Scala/etc и имеющих большое желание попробовать что-то новое.
Чем предстоит заниматься:
- Сложными творческими задачами, не имеющими единственно верного решения;
- Обработкой картографических данных из разных источников;
- Интеграцией новых источников данных;
- Обеспечением бесперебойной работы сервисов;
- Разработкой новых сервисов и расширением функциональности существующих сервисов;
- CodeReview кода разработчиков и QA.
Мы ждем от вас:
- Понимания принципов ООП / SOLID;
- Написания поддерживаемого, структурированного и масштабируемого кода;
- Понимания принципов работы SQL, опыта написания/поддержки сложных запросов;
- Умения разбираться и работать с чужим кодом, работать в команде;
- Опыта написания многопоточных приложений;
- Опыта написания модульных и функциональных тестов;
- Опыта использования систем контроля версий (Git);
- Умения аргументировать вносимые предложения и принятые решения;
- Умения анализировать и исправлять проблемы производительности;
- Знания теории алгоритмов и структур данных и умения применять их на практике.
Будет плюсом:
- Опыт работы в *nix операционных системах;
- Знакомство с технологиями для реализации CI/CD gradle, jenkins, ansible, docker, k8s;
- Опыт работы с PostgreSQL;
- Опыт работы с очередями (RabbitMQ, Kafka);
- Опыт работы с гео-данными (PostGIS/JTS);
- Опыт разработки на Python/Golang.
Немного об R&D 2ГИС:
У нас комфортные офисы и удобный график работы. Кто-то приходит в 9, кто-то в 10. Главное, чтобы ты выполнял задачи в срок и был на связи с коллегами.
Мы спокойно относимся к удалёнке и помогаем с релокацией в Новосибирск. Для комфортной работы предоставляем на выбор несколько вариантов техники и ОС. Для удалёнки — доставим и поможем настроить.
Зарплата вовремя, полностью белая и индексируемая. Размер готовы обсуждать индивидуально.