close

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

Проект Prom.ua компани EVO ищет Middle и Senior Python разработчиков.

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

Prom.ua в цифрах:

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

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

>20 Python разработчиков, QA, верстальщики, product менеджеры, дизайнеры и аналитики.

 

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

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

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

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

Пробуем работать Clickhouse.

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

 

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

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

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

 

Разработкой Prom.ua занимается 5 команд, каждая из них отвечает за свою часть проекта и сервисы:

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

  • каталог товаров prom.ua и поисковая система
  • система отзывов
  • система импорта/экспорта товаров
  • бэкенд мобильного приложения Prom.Покупки
  • система аналитики и больших данных
  • сервис обработки/отдачи изображений

 

  • сервис движка сайтов компаний (>70 000 сайтов)
  • сервис маркета интеграций и шаблонов для дизайна интернет-магазинов (>50  интеграций и >100 шаблонов)
  • сервис оплат (в разработке)
  • сервис доставок
  • сервис интеграций интернет-магазинов с соц. сетями (в разработке)
  • сервис внешнего API (в разработке)

 

  • сервис заказов на портале и сайтах
  • сервис чатов для всех проектов evo
  • сервис межпроектной интеграции пользователей всего EVO
  • кабинет управления интернет-магазином и аккаунт покупателя
  • внутреннее API для мобильных приложений
  • сервис рекламной сети

 

  • cервис телефонии
  • cервис синхронизации с внешними системами
  • cервис модерации
  • cервис CRM
  • cервис администрирования внутренних систем
  • cервис биллинга
  • cервис внешнего мониторинга работоспособности сервисов EVO
  • cервис автоматического получения и продления TLS — сертификатов

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

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

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

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

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

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

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

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

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

 

Рекрутер

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