Position: Middle Python BackEnd Engineer (Shafa.ua)
Company: EVO
Category: Python
Experience: 2y

**Shafa.ua** — майданчик для купівлі та продажу брендових речей. Місце в інтернеті, куди українці приносять зайві речі після «розвантаження гардероба» і приходять за обновками.

Мета — зробити брендові речі доступними для кожного українця. Відтак на Shafa.ua можна купити річ за ціною двох квитків у кіно.

Є у команди і глобальна місія — розвивати в Україні культуру свідомого споживання, допомогти українцям не викидати речі в хорошому стані, а передавати їх новим власникам.

**Команда розробки продукту:**
3 Product managers, 5 Full stack, 1 Front-end, 2 Android, 2 IOS, 1 Manual, 1 Automation QA, Product Designer, Product Analytic

**Shafa.ua в цифрах:**
~ 3 млн користувачів
~ 15 млн товарів
~ до 3000 rps

**З технічного боку Shafa.ua**
— Front End:
React, Apollo/GraphQL, Typescript, CSS modules, Jest
— Back End:
Моноліт: Python3/Django, PostgreSQL, ElasticSearch, Kubernetes
Основні мікросервіси: async Python3, GRPC, PostgreSQL, Node.js, Apollo server

**Більше деталей:**
— Shafa.ua — це Mobile First проект, API якого реалізовано на GraphQL. Основа проекту це монолітне рішення в якому використовуємо: Python, Django, Celery. Крім моноліту в продакшені вже 6 мікросервісів, в одному з них використовуємо Machine Learning модель.
— Частина інтерфейсу працює на jinja templates але новий функціонал, переважно, пишеться на React з використанням GraphQL.
— Використовуємо: ElasticSearch, PostgreSQL, Redis, Memcached, RabbitMQ etc. Кластер ElasticSearch доволі великий і займає понад 90% від усієї інфраструктури.
— Пишемо дуже багато тестів і радіємо життю (api покрито ~100%).
— Все це щастя крутиться в Kubernetes. Команда розробки сама займається інтеграцією CI і деплоем проекту на продакшн.

**До чого ми прагнемо:**
— розвиватися у бік мікросервісної архітектури
— перевести front-end на SPA

**Що важливо для даної ролі в проекті:**
— знає Python, не заточений під конкретний фреймворк
— має досвід 2+ років web розробки, розуміє що таке мікросервісна архітектура та має досвід її застосування
— впевнено працює з базами даних PostgreSQL (або аналогами): транзакції, індекси, оптимізація складних запитів — не повинні бути проблемою
— має уявлення, що таке NoSQL бази даних та пошукові движки (ElasticSearch)
— має досвід роботи з Docker / Kubernetes
— з продакт інженерним підходом до вирішення задач

**Глобальні задачі розробників проекту:**
— інтеграція платіжної системи і сервісів для оплати
— розвиток сервісів для продавців
— інтеграція рекомендаційних систем

**Як проходить відбір на вакансію:**
1. Ми чекаємо ваше резюме. Далі воно потрапляє на розгляд технічним фахівцям.
2. Якщо резюме буде відібрано, ми домовимося з вами про зручний час для знайомства в Google Meets для обговорення вакансії більш детально (30 хвилин).
3. Якщо після знайомства нам взаємно цікаво продовжувати спілкування, ми домовимося про зручний час для технічного співбесіди (1,5 години).
4. Фінальна співбесіда з Продакт менеджером і СТО