EVO — продуктова українська IT-компанія. Центральний офіс знаходиться в Україні (Київ). EVO — 800+ співробітників, технічний департамент понад 300 осіб, розробників понад 200 осіб. Місія EVO — створювати можливості для розвитку підприємництва.
23 червня 2022

Middle Python Software Engineer (Prom.ua) (вакансія неактивна)

Київ

Prom.ua — один з лідерів серед торгових майданчиків в Україні, більше 50 000 продавців і 112 000 000 пропозицій, кожна 5-а гривня в уанеті витрачається на prom.ua.

Prom.ua в цифрах:

  • по навантаженню 20 млн переглядів сторінок в день (162 млн подій при цьому),
  • 5.5 млн запитів на пошукову видачу,
  • трафік в місяць близько 60 млн сесій,
  • в онлайні в піку одночасно 23к користувачів

Проект Prom з технічного боку:

Мови програмування: Python 3, JS, Go

Сервіси: PostgreSQL, Redis, Kafka, ElasticSearch, ClickHouse, MongoDB

Інфраструктура: Self-hosted Kubernetes, Openstack.

І ще трохи деталей:

  • Портал prom.ua працює в Kubernetes як сукупність незалежних сервісів. Налагодженні системи логування (kibana), моніторингу (prometheus/grafana), CI/CD (gitlab).
  • Більша частина сервісів написана на Python 3.10 (синхронний та асинхронний)
  • Інша частина на Go.
  • Міжсервісна комунікація налагоджена через gRPC, REST, Kafka.
  • У якості бази даних використовується PostgreSQL
  • Для зберігання великих об’ємів даних — ClickHouse. Також MongoDB в основному для файлів (gridfs).
  • Client side написано на JavaScript. З використанням ReactJS та інших відомих бібліотек.

Команда:

4 Developers, Team Lead, 3 QA, Product Manager

Команда займається всім, що стосується просування продуктів на порталі:

  • Кабінет продавця, що дозволяє налаштовувати рекламні кампанії, встановлювати ставки на рекламу, дивитися аналітику відображення реклами та конверсії.
  • Ведення обліку списання грошей за конверсійні дії з рекламою: кліки, замовлення.
  • Ранжування. Аналіз якості рекламного оголошення: конверсії в кліки і в замовлення, рейтинги продавця, кількість відмін замовлень і інші показники «якості».
  • Інтеграція зі сторонніми рекламними мережами для просування продуктів в мережах партнерів: google, rtbhouse, criteo.



Що важливо для даної позиції:

  • Важливо розуміти принципи роботи високонавантажених web (і не тільки) сервісів в ситуаціях, коли один сервер не здатний впоратися з навантаженням
  • Розуміти як розподіляти навантаження між сервісами, як розподіляти дані між сервісами. Як ці дані зберігати і здійснювати до них безперервний доступ
  • Розуміння особливостей роботи асинхронного коду в Python
  • Деплой і моніторинг організований на базі Kubernetes, Helm, Prometheus, Grafana. Потрібно буде освоїтися з цими технологіями для роботи над проектом

Найближчі задачі:

  • Розвиток можливостей управління рекламними кампаніями, розробка нових API.
  • Моніторинг існуючих сервісів. Рефакторинг з метою підвищення надійності і оптимізації продуктивності.
  • Розробка нових інтеграцій з зовнішніми рекламними мережами.



Наш підхід до процесу розробки:

  • Технічний борг в нашому проекті один з пріоритетів на який завжди виділяється час.
  • Команда працює за гнучкою методологією, не боїмося підлаштовувати процеси під себе
  • У кожного розробника є глибоке розуміння всієї системи та інфраструктури, розробка це не тільки про код, але і про особисте зростання та культуру
  • Ми цінуємо work-life balance
  • Немає великої кількості мітингів

Етапи інтерв’ю:

  • Технічне інтерв’ю (тривалість 1,5 години). Обговоримо всі важливі питання по стеку, досвіду, завданням.
  • Фінальне інтерв’ю (тривалість 30 хвилин)