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

Middle+ Python Software Engineer (Django)

Поділитися

Про проєкт:

 

Shafa.ua — це платформа для купівлі та продажу в основному одягу, взуття та аксесуарів. Є косметика, парфумерія, декор, авторська продукція, спорттовари, дитячі товари. В першу чергу на платформі працюють системні бізнеси з новими товарами. Однак деякі люди продають вживані брендові товари, даючи їм «нове життя».10 млн користувачів відвідують Shafa щомісяця.

 

Shafa.ua в цифрах:

~ 6 млн користувачів

~ 22 млн товарів

~ до 3000 rps

Зараз Shafa топ проєкт у залученні користувачів, понад 12 сторінок за сеанс відвідує в середньому користувач маркетплейсу.

 

Стратегічна мета Shafa — стати №1 маркетплейсом продажу б/у та нового одягу в Україні. Зараз продукт розвивається в бік покращення якості використання: розробляється функціонал кошика, персоналізація клієнта, розширення асортименту, впроваджується новий флоу відгуків.

 

Майбутній розробник не буде писати однакові фічі кожен день. Сьогодні у вас мікросервіс під платежі, завтра — підключення нового логіста чи оптимізація ElasticSearch.

 

Про команду:

3 Product managers, CTO, Back-end Architect, 4 Back-end, 1 Full-stack,  1 Front-end, 2 Android, 2 IOS, 4 Manual, 1 Automation QA, 2 Product Designer, Product Analytic

 

Технічний стек:

  • Front End: React, Apollo / GraphQL, Typescript, CSS modules, Jest 
  • Back End: Моноліт: Python3.10 / Django4, PostgreSQL, ElasticSearch, Kubernetes. Основні мікросервіси: async Python3, GRPC, PostgreSQL, Node.js, Apollo server

Shafa.ua –  це Mobile First проєкт, API якого реалізовано на GraphQL. Основа проєкту — це монолітне рішення, в якому використовуємо: Python, Django, Celery. Крім моноліту в продакшені вже понад 10 мікросервісів, в одному з них використовуємо Machine Learning модель.

 

Частина інтерфейсу працює на jinja templates, але новий функціонал, переважно, пишемо на React з використанням GraphQL. 

 

Використовуємо: ElasticSearch, PostgreSQL, Redis, Memcached, RabbitMQ, Kafka etc. Кластер ElasticSearch доволі великий і займає понад 90% від усієї інфраструктури.

 

Пишемо дуже багато тестів і радіємо життю (api покрито ~100%).

 

Все це щастя крутиться в Kubernetes. Команда розробки сама займається інтеграцією CI та деплоєм проєкту на продакшн.

 

До чого ми прагнемо:

  • автоматизувати процес оновлення залежностей проєкту;
  • перевести front-end на SPA з використанням SSR;
  • реорганізувати\спростити структуру мікросервісів;

 

Для даної ролі важливо:

  • знати Python, не бути заточеним під конкретний фреймворк;
  • мати досвід 4+ років web розробки, розуміти що таке мікросервісна архітектура та мати досвід її застосування;
  • впевнено працювати з базами даних PostgreSQL (або аналогами): транзакції, індекси, оптимізація складних; запитів — не повинні бути проблемою;
  • мати уявлення, що таке NoSQL бази даних та пошукові движки (ElasticSearch)
  • бути готовим до між командної комунікації — при розробці ми багато комунікуємо з Продактами та з технічною командою в середині і можемо впливати на реалізацію конкретної задачі. Пропонуючи, найкращі рішення.
  • бути готовим до онлайн мітингів — працюємо 2 тижневими спринтами і 1 на 2 тижні ретро і кожної п’ятниці онлайн зустріч по статусу спрінту. Також, раз на місяць збираємось технічною командою для обговорення технічної сторони продукту і її покращень.

 

Як плюс:

  • досвід роботи з Docker/Kubernetes

Глобальні задачі розробників проєкту:

  • розвиток сервісів для продавців;
  • інтеграція рекомендаційних систем.

Етапи відбору:

  • Знайомство. Ми познайомимось з вами та вашим досвідом, поділимось деталями про вакансію, відповімо на ваші запитання;
  • Технічне інтерв’ю.

Ми пропонуємо:

  • Офіційне працевлаштування у штат компанії;
  • 24 календарних дні оплачуваної відпустки на рік, необмежена кількість лікарняних;
  • Віддалена робота. Можливість відвідувати офіс в м.Київ;
  • Медичне страхування;
  • Послуги корпоративного психолога.

Таня Сілецька з People Team

Таня

Хочу до вас у команду

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

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