• Розробка продукту
  • Web-розробка

Middle Python Software Engineer

Поділитися

Команда проекту Prom.ua в пошуках Middle Python BackEnd Engineer’a
Prom.ua – провідний торговий майданчик в Україні, понад 60 000 продавців і 120 000 000 пропозицій, кожна 4-а гривня в уанеті витрачається на нашому prom.ua.

Про проект:

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

Про команду:

1 Product Manager, 1 Tech Lead, 1 Middle FullStack Developer, 2 QA Automation, 1 QA
Чим займається наша команда:
Ми відповідаємо за роботу backend частини маркетплейса prom.ua. Найактивніші напрямки – це розробка єдиного графа для web і mobile, інтеграції з кластером аналітики в рамках проекту “Розумний пром”, розвиток SEO, поліпшення продуктивності роботи додатків і утилізації ресурсів в Kubernetes. Моніторинг і безперервне поліпшення продукту і кодової бази.

Технічний стек проекту:

Мови програмування: Python 3, JavaScript, TypeScript, Go
Бази даних: PostgreSQL, Redis, Kafka, ElasticSearch, MongoDB, ClickHouse, Kafka
Інфраструктура: Self-hosted Kubernetes, Helm, Prometheus, Kibana, Grafana
І ще трохи деталей:
– Моноліт написаний на Python 3, стабільно оновлюємо до нових версій. Як ORM використовуємо SQLAlchemy, для асинхронних завдань Celery. Для побудови GraphQL сервера, використовуємо нашу розробку hiku. Переводимо бізнес логіку на async / await, підключаємо її до нашого GraphQL. Більшість даних зберігається в PostgreSQL, міграції автоматичні;
– Розділяємо на мікросервіси наш моноліт, використовуємо Go і Python, без фанатизму, тільки якщо це буде доцільно;
– Frontend написаний на JS, використовується ReactJS і ряд інших популярних бібліотек. У нас своя розробка для роботи з SSR, написана на JavaScript. Фронтом як правило займається окрема команда, ми активно з ними співпрацюємо;
– Синхронна взаємодія загалом REST/GRPC;
– Один з нових проектів створено як ізоморфний додаток, використовуємо next.js з TypeScript.

Що важливо для даної ролі в проекті:

– Важливо розуміти принципи роботи web і високонавантажених web сервісів, мати досвід в побудові надійних систем;
– Розуміти як розподіляти навантаження між сервісами, як шерити дані між ними. Як ці дані зберігати і здійснювати до них безперервний доступ;
– Важливо мати досвід роботи з реляційними базами даних. Вміти знаходити вузькі місця і оптимізувати запити;
– Деплой і моніторинг організований на базі Kubernetes, Helm, Prometheus, Grafana, Kibana. Потрібно буде освоїтися з цими технологіями для роботи над проектом;
– Розуміти основи Computer Science і розуміти їх прикладний сенс;
– Мати бажання навчатися і розвиватися, працювати в команді і бути її частиною.

Найближчі завдання (backend):

– Пул завдань, спрямованих на поліпшення UI;
– Розвиток функціоналу Shop & Shop в каталозі (Приклад сторінки);
– Розвиток напряму персоналізації, робота з командою Big Data & Data Science;
– Поліпшення SEO каталогу;
– Розширення нашого GraphQL сервера;
– Оптимізації метрик Web Vitals;
– Робота над мікросервісною архітектурою.

З нами ви:

– Будете йти в ногу з прогресом, розробляти web рішення тільки на актуальних технологіях. Наш Tech Stack – це сучасні і популярні мови і фреймворки. Багато наших фахівців працюють більше 5 років, і мають величезний досвід розробки. Ми слухаємо голос кожного члена команди, відкриті для ідей і нових напрямів.
– Будете будувати процеси всередині команди, які не пригнічують, а допомагають (без дурних мітингів). Ми робимо складно тільки там де Highload або там де має бути складно.

Як у нас проходить підбір та співбесіди?

– Онлайн-дзвінок (тривалість 30 хвилин). Тімлід і PM познайомляться з вами і вашим досвідом, поділяться деталями про вакансію, дадуть відповіді на ваші запитання. У разі взаємної зацікавленості, з радістю продовжимо на технічному інтерв’ю;
– Технічне інтерв’ю (тривалість 1,5 години). Обговоримо всі важливі питання по стеку, досвіду, завданням.

Анастасія з People Team

Анастасия

1

Прикріпити резюме

Максимум 1 файл розміром до 5 МБ

ЯКЩО НЕ ЗНАЙШЛИ ВІДПОВІДНУ ВАКАНСІЮ, АЛЕ В МАЙБУТНЬОМУ ХОЧЕТЕ ПРИЄДНАТИСЯ ДО НАШОЇ КОМАНДИ, ВІДПРАВТЕ РЕЗЮМЕ НА [email protected]