Position: Middle Python Software Engineer (Prom.ua)
Company: EVO
Category: Python
Experience: 3y

**Prom.ua** – найбільший маркетплейс України, де продаються понад 100 млн товарів від десятків тисяч підприємців з усієї країни.

**На Prom.ua:**
кожен покупець може знайти все, що потрібно, за найкращою ціною: від зубної щітки до культиватора для саду та городу.
кожен підприємець може продавати товари в каталозі маркетплейса, на сайті, створеному на платформі Prom та у мобільному додатку "Prom покупки".
 
**Prom.ua в цифрах:**
щодня маркетплейс відвідують 4,8 млн осіб
на маркетплейсі працюють понад 60 тис. компаній
у каталозі 102,5 млн товарів

**Команда Moneybox** проекту **Prom.ua** в пошуках **Middle Python Software Engineer’a**

**Про команду:**
3 Python Dev, 2 FrontEnd Dev, 2 iOS Dev, 2 Android Dev, Team Lead, QA Lead, 3 Automation QA, 1 Manual QA, Data Analyst, 2 Product Designer, Product Manager

**Основні напрямки команди:**
- розробка нового та підтримка поточного функціоналу кошика
- інтеграція та підтримка доставок та оплат
- замовлення і все, що з ним пов’язано
- кабінет покупця (замовлення, гаманець)
- акції та промокоди на порталі
- бани, антіфрод форм

**Технічний стек проєкту, що вже використовуємо:**
**Мови програмування:** Python 3, JS
**Сервіси:** PostgreSQL, Redis, Kafka, ElasticSearch, ClickHouse, MongoDB
**Інфраструктура:** Self-hosted Kubernetes, Openstack.

**І ще трохи деталей:**
- Портал prom.ua працює в Kubernetes як сукупність незалежних сервісів. Налагодженні системи логування (kibana), моніторингу (prometheus/grafana), CI/CD (gitlab).
- Більша частина сервісів написана на Python 3.10 (синхронний та асинхронний)
- Інша частина на NodeJS.
- Міжсервісна комунікація налагоджена через gRPC, REST, Kafka.
- У якості бази даних використовується PostgreSQL
- Для зберігання великих об’ємів даних — ClickHouse. Також MongoDB в основному для файлів (gridfs).
- Client side написано на JavaScript. З використанням ReactJS та інших відомих  бібліотек.

**Для даної ролі важливо:**
- Від 3 рокiв комерційного досвіду
- Розуміння базових алгоритмів та структур даних
- Знання Python, не бути заточеним під конкретний фреймворк
- Мати досвід web/api розробки, розуміти що таке мікросервісна архітектура та досвід її застосування
- Мати досвід асинхронного програмування на Python
- Впевнено працювати з базами даних PostgreSQL (або аналогами): транзакції, індекси, оптимізація складних запитів
- Розуміти, як розподіляти навантаження між сервісами, як розподіляти дані між сервісами. Як ці дані зберігати та здійснювати до них безперервний доступ.
- Деплой та моніторинг організований на базі Kubernetes, Helm, Prometheus, Grafana. Потрібно буде освоїтись із цими технологіями для роботи над проєктом.

**Наш підхід до процесу розробки:**
- Технічний борг в нашому проекті один з пріоритетів на який завжди виділяється час
- Команда працює за гнучкою методологією, не боїмося підлаштовувати процеси під себе
- У кожного розробника є глибоке розуміння всієї системи та інфраструктури, розробка це не тільки про код, але і про особисте зростання та культуру
- Ми цінуємо work-life balance
- Немає великої кількості мітингів

**Як у нас проходить підбір на дану позицію?**
- Знайомство (тривалість 30 хв)
- Технічне інтерв’ю (тривалість 1,5 години). Обговоримо всі важливі питання по стеку, досвіду, завданням.
- Фінальне інтерв’ю за необхідністю (тривалість 30 хвилин)