⚠︎ Архивная вакансия
Эта вакансия была перемещена в архив. Возможно она уже не актуальна и рекрутер больше не принимает отклики на эту вакансию. Вы можете  найти актуальные похожие вакансии

Python - разработчик

Прямой работодатель  ЛитРес  ( litres.ru )
Москва, Россия
Миддл • Сеньор
Информационные технологии • Разработка • Python • Ecommerce
18 февраля 2022
Релокация • Работа в офисе
Опыт работы от 1 года до 3х лет
Работодатель  ЛитРес 
Описание вакансии

ЛитРес – лидер рынка электронных книг в России и СНГ.

Мы создаем книжные продукты более 16 лет. Каждый месяц 12,5 млн человек покупают, читают или слушают книги у нас.

В группу компаний входят: онлайн-магазин litres.ru, приложения «Литрес: Книги!» и «Литрес: Слушай», сервис для чтения по подписке MyBook, платформа для новых авторов «Литрес: Самиздат» и для чтецов – «Литрес: Чтец», социальная сеть для читателей LiveLib и другие сервисы.

Мы учредили первую в России премию в области электронных и аудиокниг «Электронная буква».

В связи с расширением команды ищем Python разработчика:

О технологиях

Наша команда переводит монолит на микросервисы. Монолит на Perl, сервисы — на асинхронном Python 3.9 и FastAPI. Для этой вакансии Perl знать не нужно.

У нас настроены пайплайны на Gitlab CI, в которых запускаются MyPy, Flake, Black и интеграционные тесты на PyTest. Сервисы на FastAPI в тех же пайплайнах собираются в образ Docker и деплоятся в кластер Kubernetes.

Клиенты общаются с сервисами по REST, используем спецификацию OpenAPI, в шаблоне типового проекта настроен Swagger

Базы — MySQL, ORM через асинхронную SQLAlchemy, кэши на Redis. Для поискового индекса будем использовать Elasticsearch.

Мониторинги - Sentry, Prometheus, Grafana

Ожидается > 3k rps только на само апи, так что нас можно назвать хайлоадом, любой неоптимальный sql запрос или квадратичный алгоритм вместо линейного сразу же сказывается на производительности приложений.

Команда

В команде 6 разработчиков, которые от квартала к кварталу объединяются в разные группы для достижения квартальных целей (при этом команда/дейли/ретро общие, просто делим проекты друг с другом). Эта вакансия для разработчика, который бы помог с построением поиска на Elasticsearch в группе из двух человек.

Про процессам раз в неделю планирование и ретро, то что приоритетно выбираем в начале недели. Каждый день обсуждаем затыки на дейли.

  • База знаний, статус проекта - Confluence, Miro, Jira
  • Общение - Slack, Google Meet

Испытательный срок

За время испытательного срока, в первые три месяца, нужно будет исправить два бага в продакшен-поиске (баги предоставим), сделать удобным изменение маппинга индекса и прочитать одну книжку. Это критерии прохождения испыталки, но не единственные задачи.

В перспективе предстоит прикрутить к поиску историчность, персонализацию, админку и интернационализацию. Не обязательно в таком порядке.

Какой опыт поможет

В перспективе года задачи не ограничатся взаимодействием с Эластиком по API, понадобится делать что-то ещё.

Из хардов будет тяжеловато без:

  1. Владения Python и фреймворком веб-разработки на его основе (django, flask).
  2. Опыта разработки и проектирования функционала REST API
  3. Опыта работы с БД (Mysql/PostgreSQL), чтения EXPLAIN и оптимизации запросов
  4. Опыта написания интеграционных тестов

Желательно также иметь:

  1. Опыт с асинхронным Python
  2. Асинхронным веб-фреймворком (fastapi, aiohttp).
  3. Знания веб-архитектуры: клиент-серверного взаимодействия, особенностей синхронной и асинхронной модели выполнения, кандидат знает в каком случае что применять.
  4. Умения спроектировать MVP сервиса на знакомых технологиях по требованиям бизнеса, предварительно их уточнить и спланировать его масштабирование в случае наплыва пользователей.

Мы предлагаем:

  • Комфортный офис в Москва-Сити башне «Меркурий»
  • Стабильную белую заработную плату + премию по результатам работы
  • Смешанный формат работы после онбординга (офис+ 1-2 дня удаленка)
  • Стандартную рабочую неделю пн-пт с гибким временем прихода и без ненормированного графика
  • После успешного прохождения испытательного срока: ДМС со стоматологией, фитнес, курсы английского языка
  • Частичную компенсацию парковки
  • Неограниченный доступ ко всем электронным и аудиокнигам
  • Оплату профильных курсов, участия в конференциях

Специализация
Информационные технологииРазработкаPython
Отрасль и сфера применения
Ecommerce
Уровень должности
МиддлСеньор