Python 3.8 (сервисы на aiohttp)
удаленно
команда маленькая

Deal.by — ведущий маркетплейс Беларуси. У нас предприниматели создают сайты, размещают товары в каталоге Deal.by и получают доступ к миллионной аудитории покупателей.
Наша цель — создавать возможности для развития предпринимательства в Беларуси.
Deal.by является частью семьи маркетплейсов продуктовой ITкомпании Evo.

Про технический департамент в EVO и про стек в проекте Deal.by:
Основные языки программирования, которые мы используем это Python 3.8 (сервисы на aiohttp), и JavaScript.
Есть несколько новых продуктов, написанных на Go, Rust, Node.js (JS/TS), Scala, Kotlin. Стандартная база данных для наших проектов — PostgreSQL, также используем MongoDB .
Для поиска используем ElasticSearch. Под решение отдельных задач существуют свои плагины. Работаем с Clickhouse.
SPA приложения строим на ES6+, React. Двигаемся в сторону GraphQL + Apollo и плавно мигрируем на серверный пререндеринг (SSR). Часть проектов написана на TypeScript. Для сборки JS модулей используем webpack, CSS стили — CSS Modules.

Из общих инструментов используем:
Docker, Kubernetes, Istio, Prometheus, Grafana, Gitlab CI, Kibana, Redis, Memcached.
Все что нужно для крупного продакшн проекта: логгинг (kibana),метрики, мониторинг (grafana), очереди задач (celery+RabbitMQ), Kafka.
Свой биллинг, CRM/админка, рекламная сеть, чат, обертки над эластиком, своя реализация GraphQL-сервера на Python.

Основные направления команды:
работа с множеством внутренних и внешних интеграций с финансовыми системами
интеграция логистов, добавление новых способов доставки
улучшение ранжирования в каталоге, повышение конверсий в целом по маркетплейсу
интеграции с внешними сервисами, привлечение партнеров, синхронизация товаров
проверка гипотез по улучшению пользовательского (покупатели и компании) опыта
работа с трафиком (платным и органическим)

Что важно для данной роли:
- важно понимать принципы работы высоконагруженных web (и не только) сервисов в ситуациях, когда один сервер не способен справиться с нагрузкой.
- понимать как распределять нагрузку между сервисами, как шарить данные между сервисами. Как эти данные хранить и осуществлять к ним непрерывный доступ.
- важно иметь опыт работы с реляционными и колоночными базами данных. Уметь оптимизировать запросы к ним. Понимать принципы, как можно шардировать данные между несколькими экземплярами стореджей.
- для полнотекстового поиска используется ElasticSearch. Для работы необходимо понимать, как работать с полнотекстовыми поисковыми движками.
- деплой и мониторинг организован на базе Kubernetes, Helm, Prometheus, Grafana. Нужно будет освоиться с этими технологиями для работы над проектом.

Задачи на ближайшее время:
- разработка и поддержка экосистемы платежей
- улучшение ранжирования товаров в каталоге
- интеграция внутренних сервисов в кабинет продавца и покупателя
- добавление новых способов доставки
- улучшение пользовательского опыта в работе с корзиной
- разработка и поддержка сервиса для сертификации продавцов
- поддержка сервисов для работы с платным трафиком
- развитие публичного API для продавцов
- поддержка API для мобильного приложения продавца и покупателя
- рефакторинг и поддержка остальных сервисов команды

Чем интересны эти задачи с технической стороны:
- проектированием сложных систем для взаимодействия с внешними интеграциями и партнерами
- использованием современных технологий для построения новых сервисов и продуктов
- разработкой новых сервисов с нуля
- разработкой кросс-платформенных сервисов и решений
- работой с высоконагруженным проектом

About EVO

EVO — продуктова українська IT-компанія.

Місія EVO — створювати можливості для розвитку підприємництва. Ми робимо маркетплейси для онлайн-шопінгу і замовлення послуг — Prom.ua, Deal.by, Satu.kz, Bigl.ua, Kabanchik.ua, Shafa.ua, Crafta.ua, IZI.ua. Створили сервіс цифрових рішень для бізнесу "Вчасно", інтернет-майданчики для проведення державних та комерційних торгів і аукціонів Zakupki.Prom.ua та Аукціони.Prom. Розвиваємо онлайн-сервіс покупки турів – Rozetka Travel, а також фінтех і логістику.

Щомісяця на маркетплейсах EVO люди роблять понад 2 млн замовлень. Кожен другий інтернет-покупець України купує на наших майданчиках.

У 2018 році EVO й найбільший онлайн-ритейлер України — Rozetka об'єдналися, щоб разом створювати більше можливостей для українських підприємців на своїх платформах та покращувати клієнтський досвід покупок.
Про технічний департамент в EVO:

70+ Python розробників, 35+ manual-тестувальників, більше 15 автоматизаторів, команда по data science, є своя команда архітекторів (включаючи і архітекторів з автоматизованого тестування), а також команда мобільної розробки

Основні мови програмування: Python, JavaScript, TypeScript, Golang, Scala
Монолітні частини на Python написані з використанням кастомного веб-фреймворку, Django або Flask. Нові Python-проекти починаємо на aiohttp.
Для JavaScript на бекенді використовуємо express або koa. Все більша частина API переходить на GraphQL, тому регулярно підключаємо Apollo Server. Значна частина сервісів на Node.js написана на TypeScript. Фронтенд пишемо в основному на React.

В основному базою даних беремо PostgreSQL. В сервісах також використовуються MongoDB, ClickHouse. Для пошуку використовуємо ElasticSearch. Для асинхронних задач —RabbitMQ або Kafka.
CI/CD реалізуємо через GitLab. Продакшн працює на kubernetes (istio, prometheus, elk stack, grafana)

Стек мобільних технологій:

iOS
Мови: Swift (нові проекти на Swift) і Objective-C
Архітектури: VIPER, Clean Swift
Сучасні бібліотеки: Moya, IGListKit, Realm, YapDatabase, lottie
Додатково: пишемо власні компоненти для шаринга між проектами, свій CI сервер (Gitlab CI і Jenkins)

Android
Мови: Java і Kotlin (нові проекти чисто на Kotlin).
Архітектури: MVP, MVVM, VIPER, Android Architecture Components.
Сучасні бібліотеки: Retrofit, Realm, Lottie, MotionLayout, Glide.
Багатопотоковість: RxJava 1 & 2, Coroutines.

Збираємося на dev-club’и всередині тех.департаменту EVO:

на dev-club обговорюємо:
* Нові підходи, рішення які використовуються в командах (пропозиції, аргументація).
* Обмін досвідом (позитивним / негативним) про використання тих чи інших рішень.
* Обговорення інструментів (що є, чого не вистачає).
* Координація дій між командами для поліпшення, розвитку інфраструктури.

Проекти з відкритим кодом:

Swindon — Веб-сервер для великої кількості WebSocket-з’єднань
hiku— бібліотека для побудови веб-серверів з GraphQL та подібними мовами запиту
grpclib— бібліотека для написання сервісів з python3/asyncio та протоколом http2/gRPC (grpc.io)
elasticmagic — конструктор запитів в ElasticSearch, подібний на SQLAlchemy
ttag — бібліотека для роботи з gettext перекладами в JavaScript.

Company website:
http://evo.company/

DOU company page:
https://jobs.dou.ua/companies/evo/

Job posted on 22 April 2021
11 views    2 responses


Для отклика на эту и другие вакансии на Джинне войдите или зарегистрируйтесь.