close

Python Back End Software Engineer (проект Shafa)

Shafa.ua — площадка для покупки и продажи брендовых вещей. Место в интернете, куда украинцы приносят лишние вещи после “разгрузки гардероба” и приходят за обновками.

У проекта есть цель — сделать брендовые вещи доступными для каждого украинца. Так на Шафе можно купить вещь по цене двух билетов в кино.

Есть у команды и большая миссия — развивать в Украине культуру осознанного потребления. Наша задача — помочь украинцам не выбрасывать вещи в хорошем состоянии, а передавать их новым владельцам.

Shafa.ua в цифрах:

  • ~ 1.5 млн пользователей
  • ~ 7.5 млн товаров
  • ~ до 1000 rps

Проект с технической стороны:

Back End:

  • Python3 / Django
  • PostgreSQL
  • ElasticSearch
  • Kubernetes

Front End: (новый функционал:)

  • React
  • Apollo / GraphQL
  • Typescript
  • CSS modules
  • Jest

Shafa.ua — это монолитное решение основанное на: Python, Django, Celery. Часть интерфейса работает на jinja templates, но новый функционал, преимущественно, пишется на React с использованием GraphQL. Кроме web у нас также есть мобильные приложения, api для которых реализованы полностью на GraphQL.

 Используем: ElasticSearch, PostgreSQL, Redis, Memcached, RabbitMQ etc. Кластер ElasticSearch довольно большой и занимает более 90% всей инфраструктуры.

 Также у нас есть микросервис на Go и сейчас идет работа над новым микросервисом на aiohttp.

 Мы пишем очень много тестов и радуемся жизни (api покрыто ~ 100%).

 Все это счастье крутится в Kubernetes.

Что важно для данной позиции:

Команда продуктовая, поэтому нам важно чтобы разработчик был продуктово ориентирован. Это означает, что разработчик не просто выполняет поставленную задачу, а понимает проблемы бизнеса, которые решает эта задача и может предложить более оптимальное решение, если такое существует, или показать, что эта задача не имеет ценности. Поскольку 

Что точно будет в работе:

Шафа высоконагруженный проект — поэтому в ходе работы над продуктовыми задачами нужно будет писать оптимальный код и, иногда, делать оптимизации над существующим. Все это нужно качественно покрывать тестами.

Спектр задач на Shafa.ua довольно широкий — от написания / интеграции ML модели и глубокой работы с ElasticSearch до исправления description в jinja template.

В качестве примера — корзина или работа над Pro account.

Команда разработки занимается написанием кода, интеграцией CI и Деплоем проекта на продакшн через Kubernetes.

Куда мы стремимся:

У Shafa.ua два основных направления:

 — развиваться в сторону микросервиснои архитектуры

— перевести front-end на SPA

Наш кандидат:

  • знает Python, не заточен под конкретный фреймворк
  • имеет опыт web разработки 2+ лет, понимает что такое микросервисная архитектура + опыт ее применения
  • уверенно работает с базами данных PostgreSQL (или аналогами): транзакции, индексы, оптимизация сложных запросов — не должны составлять проблем
  • имеет представление, что такое NoSQL базы данных и поисковые движки (ElasticSearch)
  • опыт работы с Docker/Kubernetes
  • с продакт инженерным подходом к решению задач

Глобальные задачи разработчиков на проекте: 

  1. Переход с модели классифайд на более классический e-commerce
  •     Подключение возможности оплатить заказ прямо на сайте
  •     Подключение сервисов доставки и отслеживания статуса заказа в нашем приложении
  •     Интеграция с Платежной системой
  1. Развитие проектов для продавцов
  •     Расширение функционала для активных продавцов
  •     Развитие платных рекламных услуг на Шафе

Как у нас проходит подбор и собеседования? Для начала, ваше резюме рассмотрят технические специалисты. Если оно будет одобрено, мы договоримся о созвоне-знакомстве по skype. Мы обсудим проект, ваш опыт и ваши цели, после чего вместе решим, продолжим ли общение на техническом собеседовании у нас в офисе