Проект Prom.ua компанії EVO в пошуках Strong Junior Python Developer'a

Prom.ua — провідний торговий майданчик в Україні, більше 50 000 продавців і 120 000 000 пропозицій, кожна 5-а гривня в уанеті витрачається на prom.ua.

Prom.ua в цифрах:

по навантаженню 20 млн переглядів сторінок в день (162 млн подій при цьому),
5.5 млн запитів на пошукову видачу,
трафік в місяць близько 60 млн сесій,
в онлайні в піку одночасно 23к користувачів
Розробкою Prom.ua займається 5 команд, кожна з них відповідає за свою частину проекту та сервіси.

Ми в пошуках Python Developer'a в одну з 5 команд розробки проекту.
Задачі направлені на:
- задачі пов’язані з антифродом
- інформаційну безпеку
- білінг
- інфраструктурні задачі

Проект Prom з технічного боку:
Технічна сторона проекту:
Часто доведеться працювати з Python 3

Для ефективного рішення задач використовуємо:

PostgreSQL, Redis,
а с Kafka, ElasticSearch, Kubernetes, Helm, Prometheus - готові допомогти та навчити

Використовуємо рідко:
MongoDB, JS\TS, Go

І ще трохи деталей:
Активно йде поділ на мікросервіси на Python (в основному aiohttp)
Як ORM використовується SQLAlchemy
Для взаємодії з користувачем, client-side написаний на JS. Використовується ReactJS і ряд інших популярних бібліотек.
На даний момент, більшість даних зберігається в Postgresql і частина в MongoDB
Асинхронна взаємодія заснована на Kafka
Синхронна взаємодію переважно GRPC, REST

Що важливо для даної позиції:
- Розуміти як розподіляти навантаження між сервісами, як розподіляти дані між сервісами. Як ці дані зберігати і здійснювати до них безперервний доступ.
- Вміння працювати в команді.
- Деплой і моніторинг організований на базі Kubernetes, Helm, Prometheus, Grafana. Потрібно буде освоїтися з цими технологіями для роботи над проектом.

Продакт інженерний підхід до вирішення задач: ми продуктова команда, нам важливо, щоб розробники були продуктово орієнтовані. Це означає, що розробник не просто виконує поставлене завдання, а розуміє проблеми бізнесу. І може запропонувати більш оптимальне рішення, якщо таке існує, або показати, що ця задача не має цінності.

Як у нас проходить підбір на дану позицію?
Для початку, ваше резюме розглянуть технічні фахівці. Якщо воно буде схвалене, ми домовимося про онлайн-дзвінок знайомство. Ми обговоримо проект, ваш досвід і відповімо на питання. Після чого разом вирішимо, чи продовжимо спілкування вже на технічній співбесіді онлайн. Після кожного етапу ми обов’язково даємо зворотний зв’язок протягом 24 годин.

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 6 April 2021
122 views    27 responses


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