Middle/Senior Python-разработчик в команду Добычи данных

Местоположение и тип занятости

НовосибирскПолный рабочий деньМожно удаленно

Компания

Все организации города, их контакты, адреса, время работы + трехмерная карта + маршруты проезда

Описание вакансии

Условия работы

Мы собираем данные для справочника 2ГИС. Компании-партнёры 2ГИС делятся с нами данными о своём территориальном устройстве: где находятся их филиалы, по какому расписанию они работают, как с ними можно связаться и прочей ценной информацией. А мы переводим это знание на язык, понятный нашим внутренним системам: парсим, анализируем, приводим к единому виду.
Форматы, в которых мы получаем данные, многообразны: от хорошо документированных и структурированных REST API до заполняемых человеком Excel-файлов. Но мы готовы к большему — если нам до сих пор не прислали фотографию рукописного перечисления ларьков с хот-догами, вставленную в документ Word, то это ещё не значит, что такого не случится завтра. 

Что надо делать:

Если тебя радует (ну или хотя бы не пугает) возможность: 

  • брать порцию хаоса на входе и превращать этот хаос в упорядоченное знание, которое поможет десяткам миллионов пользователей 2ГИС; 
  • писать автотесты, деплоить и мониторить свой код; 
  • выделять время на техдолг, чтобы потакать своему внутреннему перфекционисту и делать сервисы технически совершеннее,

то ты попал по адресу. 

Что мы умеем и предлагаем:

  • В работе ориентируемся не на стек и его ограничения, а на поиск действительно классных и работающих решений. Не боимся экспериментировать и постоянно тестируем новые гипотезы, опираясь на опыт всей команды.
  • Сейчас, в основном, пишем на Python, но с другими языками тоже работаем. Из веб-фреймворков используем FastAPI. Запускаем свои приложения на Linux через Gunicorn. На других системах не запускаем вообще. Пишем статически типизированно, и Mypy нам в этом помогает. Данные храним в PostgreSQL, задумываемся о внедрении SQLAlchemy. Любим структурные логи, шлём их в ELK. 
  • Не доверяем никому, даже себе, поэтому всё проверяем по JSON-схемам. Чтим RFC, JSON:API и другие стандарты. Тесты пишем сами на pytest'е, иногда даже получается TDD. Крутим это всё богатство в Docker и k8s. Ansible для Infrastructure as Code, Jenkins для CI/CD. 

Что ждём от тебя:

Знакомство с чем-то из списка выше, больше — лучше. Готовность не пасовать перед новыми задачами, которые непонятно как делать. 

Немного об R&D 2ГИС:

У нас комфортные офисы и удобный график работы. Кто-то приходит в 9, кто-то в 10. Главное, чтобы ты выполнял задачи в срок и был на связи с коллегами.
Спокойно относимся к удалёнке. Если захочешь работать из офиса — поможем с релокацией в Новосибирск. Для комфортной работы предоставляем на выбор несколько вариантов техники и ОС. Для удалёнки — доставим и поможем настроить.