close

Junior/Middle Python Software Engineer (проект Prom.ua)

Команда BackOffice проекта Prom.ua ищет Junior/Middle Python Backend разработчиков.

Prom.ua — лидирующая торговая площадка в Украине, почти 40 000 продавцов и 90 000 000 предложений, каждая 5-ая гривна в уанете тратится на нашей prom.ua.

Prom.ua в цифрах:

по нагрузке 20 млн просмотров страниц в день (162 млн событий при этом), 5.5 млн запросов на поисковую выдачу, трафик в месяц около 60 млн сессий, в онлайне в пике одновременно 17к пользователей, около 1к запросов в секунду на основное приложение, около 5к запросов изображений в секунду, 4 млн задач выполняется за сутки, около 100 млн товаров в PostgreSQL/Elasticsearch). Разработкой Prom.ua занимается 5 команд, каждая из них отвечает за свою часть проекта и сервисы:

Наша команда BackOffice:

4 Python разработчика, 1 TL Python, 2 QA, product менеджер и биздев направления.

Команда BackOffice отвечает за разработку:

  • Сервис Телефонии
  • Сервис синхронизации с внешними системами
  • Сервис Модерации
  • Сервис CRM
  • Сервис Администрирования внутренних систем
  • Сервис Биллинга
  • Сервис Внешнего мониторинга работоспособности сервисов EVO
  • Сервис автоматического получения и продления TLS – сертификатов

Тех. стек проекта:

Python 2.7 (переход на 3.6/aiohttp с разделением на микросервисы), есть несколько продуктов/сервисов, написанных на Go, Node.js, Scala.

Стандартная база — PostgreSQL (экспериментируем c CockroachDB);

Для нашего поиска используем ElasticSearch. Под решение отдельных задач существуют кастомные плагины.

React, двигаемся в сторону GraphQL + Apollo и плавно мигрируем  на серверный пререндеринг.

Из общих инструментов используем:

Webpack 3, GitlabCI, Kibana, Сelery+RabbitMQ, Kafka, GRPC, Grafana, Memcached.

больше подробностей про тех решения в EVO: http://goo.gl/5KYeEK

(основной проект – монолит,  который переводим на микросервисную архитектуру (сейчас в разработке >20 сервисов)

Наш кандидат:

Ищем хорошее понимание Python как языка, а не заточенности под конкретный фреймворк. Уверенное владение базами данных. Не БД администратор, но умеющий разобраться, почему такой запрос возвращает такие данные, какие способы его улучшить (с умением использовать SQL). Важно понимать и знать как декомпозировать программную систему. Для чего нужны очереди задач, как хранить пользовательские данные, как организовать по ним поиск. С хорошим базовыми знаниями по работе алгоритмов, вычисления их сложности и принципов оптимизации.

Хорошо, если есть опыт с разными языками программирования. Отлично, если смотрите в сторону новых языков. Обращаем внимание на гитхаб аккаунты. Хорошо, когда там есть что-то интересное, не обязательно популярное.

Задачи, для которых мы ищем людей:

  • Рефакторинг кода на Python 2.7: разработка новых сервисов на Python 3.6, Go и др. актуальных языках, призванных заменить старый монолит.
  • Разработка внутреннего GraphQL API (добавление новых возможностей и оптимизация старых).
  • Оптимизация поиска ElasticSearch.
  • Интеграции с внешними партнерами:  платежные системы, смс, вайбер, почты
  • разработка системы модернизации, двухфакторной авторизации
  • эксперименты с машинным обучением

(в целом — разработка и поддержание функционала проекта; решение задач, направленных на улучшение архитектуры и оптимизацию производительности)

Точно будет в работе:

  • работа в сплоченной команде по отлаженным процессам (стенд-апы, ретро, планирование, оne2one ..)
  • эксперименты с новыми технологиями и сервисами
  • код ревью
  • менторство
  • команда и ее традиции
  • написание тестов
  • много командного обсуждения на тему: как реализовать новый функционал

Точно НЕ будет в работе:

  • верстки (есть отдельная команда опытных верстальщиков. После того, как разработчик выполнил логическую часть задачи, она переходит верстальщику, где тот по готовому дизайну делает pixel-perfect верстку)
  • скучно
  • тайм-трекинга задач

Рекрутер

Elizaveta Prokhorova
e.prokhorova@evo.company
skype: glinjanij_kot
Расскажите нам о себе
Максимум 1 файл размером до 5 МБ