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

Middle Python (Django) Back End Engineer

Поділитися

 

Shafa.ua — майданчик для купівлі та продажу брендових речей. 

 

Shafa.ua в цифрах:

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

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

~ до 3000 rps

 

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

 

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

 

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

Команда розробки продукту: 

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

З технічного боку 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. Крім моноліту в продакшені вже понад 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, не бути заточеним під конкретний фреймворк
  • мати досвід 2+ років web розробки, розуміти що таке мікросервісна архітектура та мати досвід її застосування
  • впевнено працювати з базами даних PostgreSQL (або аналогами): транзакції, індекси, оптимізація складних запитів – не повинні бути проблемою
  • мати уявлення, що таке NoSQL бази даних та пошукові движки (ElasticSearch)

Як плюс:

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

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

  • реалізація функціоналу “кошик” та нового флоу відгуків
  • розвиток сервісів для продавців
  • інтеграція рекомендаційних систем

Як проходить відбір на вакансію:

  1. Ми чекаємо ваше резюме. Далі воно потрапляє на розгляд технічним фахівцям. 
  2. Якщо резюме буде відібрано, ми домовимося з вами про зручний час для знайомства в Google Meets для обговорення вакансії більш детально (30 хвилин). 
  3. Якщо після знайомства нам взаємно цікаво продовжувати спілкування, ми домовимося про зручний час для технічної співбесіди (1,5 години).

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

a.alyksiuk

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

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

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

WATEVOcast — підкасти від наших розробників

EVO Opensource

hiku

бібліотека для побудови веб-серверів з
GraphQL та подібними мовами запиту

grpclib

бібліотека для написання сервісів на python3/asyncio та протоколом http2/gRPC (grpc.io)

ttag

бібліотека для інтернаціоналізації в JavaScript

elasticmagic

конструктор запитів в ElasticSearch,
подібний до SQLAlchemy

create-aio-app

the boilerplate for a quick start with aiohttp

aioredis

redis client for Python asyncio

lets

таск-Раннер, зручний інструмент для опису і запуску cli-команд в проектах (альтернатива Make)

evokit

React компоненти для розробки веб-інтерфейсів

Coming soon...

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