Команда проєкту Prom.ua в пошуках Middle Python Software Engineer’a
Prom.ua — найбільший маркетплейс України, де продаються понад 100 млн товарів від десятків тисяч підприємців з усієї країни.
На Prom.ua:
- кожен покупець може знайти все, що потрібно, за найкращою ціною: від зубної щітки до культиватора для саду та городу.
- кожен підприємець може продавати товари в каталозі маркетплейса, на сайті, створеному на платформі Прома та у мобільному додатку «Prom покупки».
Prom.ua в цифрах:
- щодня маркетплейс відвідують 4,8 млн осіб
- на маркетплейсі працюють понад 60 тис. компаній
- у каталозі 102,5 млн товарів
Про команду:
Team Lead, 2 Python dev + 1 Frontend dev, 1 Automation QA + 2 Manual QA, Product manager, Product Designer, Product Marketing Manager
Основні напрямки команди:
Наша команда працює над поліпшенням клієнтського досвіду на порталі:
- розробка та підтримка функціоналу відгуків про продавців та покупців
- розробка та підтримка функціоналу рейтингу продавців
- авторизація та реєстрація на порталі, внутрішні сервіси авторизації
- кабінет покупця
- обране на порталі
- тригерні нотифікації
Технології які використовуємо:
- Основний продукт і сервіси на Python 3.10, SQLAlchemy, Celery
- Бази даних — PostgreSQL, MongoDB
- Зберігання даних — Memcached, Redis, Kafka
- Для пошуку — ElasticSearch.
- Для фронтенду — Node.js + React + Apollo + SSR
- GraphQL та gRPC
- Деплой на Docker + Kubernetes
- GitLab CI/CD
Чим цікаві ці завдання з технічного боку:
- проєктування нових мікросервісів з нуля для розв’язання конкретних задач
- використанням сучасних технологій для побудови нових сервісів та продуктів
- поділ монолітного додатка на мікросервіси
- розробкою крос-платформних сервісів і рішень для різних проєктів EVO
- роботою з високонавантаженим проєктом
- можливістю брати участь у поліпшенні процесів розробки, деплою, впровадженні нових технологій
Поточні великі задачі команди:
- відокремлення функціоналу відгуків з моноліту в окремий мікросервіс
- розвиток системи відгуків про продавців та покупців
- розробка системи мотивації для продавців
- редизайн кабінету покупця
- розробка grpc toolkit для потреб команди
Наш підхід до процесу розробки:
- команда працює за гнучкою методологією, не боїмося підлаштовувати процеси під себе
- у кожного розробника є глибоке розуміння всієї системи та інфраструктури, розробка це не тільки про код, але і про особисте зростання та культуру
- у нас є здорове code-review та зворотний зв’язок
- ми покриваємо функціонал тестами та метриками, пишемо документацію
- відповідність стандартам якості коду
- супровід та відповідальність за фічі після деплою
- dev-clubs; локальні технічні мітинги; можливість участі в навчанні (в ролі ментора)
- періодичні one2one з лідом та продактом
Для даної ролі важливо:
- від 2+ років комерційного досвіду
- знання Python, не бути заточеним під конкретний фреймворк
- мати досвід web/api розробки, розуміти що таке мікросервісна архітектура та досвід її застосування
- мати досвід асинхронного програмування на Python
- впевнено працювати з базами даних PostgreSQL (або аналогами): транзакції, індекси, оптимізація складних запитів
- досвід роботи з Docker
- розуміти та застосовувати продакт-інженерний підхід до вирішення завдань
- хороші базові знання про роботу алгоритмів, визначення їх складності
Буде плюсом якщо є:
- пет-проекти на Github
- досвід з NoSQL базами та Elasticsearch
- досвід з Kubernetes, Helm, Prometheus, Grafana
- досвід з GraphQL, gRPC
Добре, якщо є досвід з різними мовами програмування. Дуже добре, якщо цікавитесь новими мовами. Звертаємо увагу на гітхаб акаунти. Добре, коли там є щось цікаве, не обов’язково популярне.
Етапи відбору:
- Знайомство (тривалість 30 хвилин). Ми познайомимось з вами та вашим досвідом, подімось деталями про вакансію, відповімо на ваші запитання. У разі взаємної зацікавленості з радістю продовжимо на технічному інтерв’ю.
- Технічне інтерв’ю (тривалість 1,5 години). Обговоримо всі важливі питання по стеку, досвіду, завданням.