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

Middle Python Back End Engineer

Поделиться

Про проект:

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

На данный момент Shafa топ проект по вовлеченности пользователей, более 12 страниц за сеанс посещает в среднем пользователь маркетплейса.

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

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

Shafa.ua в цифрах:

~ 3.5 млн пользователей

~ 19 млн товаров

~ до 2000 rps

Про команду:

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

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

  • Front End:  React, Apollo / GraphQL, Typescript, CSS modules, Jest
  • Back End: Монолит: Python3 / Django, PostgreSQL, ElasticSearch, Redis, 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, Kafka, 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 часа).

Рекомендуйте своих знакомых, бонус за найм до 4000$ 

Ждем ваши резюме с пометкой “рекомендация” на почту a.alyksiuk@evo.company

Анастасия из 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...

ЕСЛИ НЕ НАШЛИ ПОДХОДЯЩУЮ ВАКАНСИЮ, НО В БУДУЩЕМ ХОТИТЕ ПРИСОЕДИНИТЬСЯ К НАШЕЙ КОМАНДЕ, ОТПРАВЬТЕ РЕЗЮМЕ НА hello@evo.company