Middle Python Software Engineer на проект (Satu.kz) (offline)

EVO Ukrainian Product 🇺🇦
Про проект:
Satu.kz є частиною сім'ї маркетплейсів Evo.
Один з найбільших маркетплейсів в Казахстані з конструктором інтернет-магазинів. У нас можна купити все, реально все. Зараз на майданчику понад 11 млн товарів від 8 тисяч продавців по всій країні. Ми щиро віримо в підприємництво і створюємо для нього всі можливості. Ми хочемо зробити процес покупки простим і природним. Щоб покупцям було легко знайти і купити товар зі справедливою ціною, швидкою доставкою, зручною оплатою та у хорошого продавця.
У нас дуже хороші позиції в Казахстані і ми прагнемо зробити дуже крутий ривок.

Що вже зробили, які виклики були та найближчі завдання:
Satu — прибутковий проект з унікальною бізнес-моделлю в Казахстані. Зовсім нещодавно ми створили окрему команду розробки під задачі Satu. За короткий час ми поліпшили видачу, збільшили кількість замовлень і вже тестуємо нову модель реклами — CPA.

Проект з технічного боку:
Основний продукт та сервіси на Python 3.8.
В якості бази даних - PostgreSQL, MongoDB, ClickHouse;
Для пошуку - ElasticSearch.
Для фронтенду - Node.js + React + Apollo
Сильно просуваємо GraphQL и grpc
Деплой на Docker + Kubernetes

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

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

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

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

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

About EVO

EVO — продуктова українська IT-компанія.
Prom.ua, Bigl.ua, Crafta.ua, Zakupki.prom.ua, Kabanchik.ua, Вчасно , Shafa, Izi, Rozetka Travel
**********************************************
Про технічний департамент в EVO:

Основні мови програмування, які ми використовуємо це 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, Memcached.
Все що потрібно для великого продакшн проекту: логгінг (kibana), метрики, моніторинг (grafana), черги завдань (celery + RabbitMQ), Kafka.
Свій білінг, CRM/адмінка, рекламна мережа, чат, обгортки над еластиком, своя реалізація GraphQL-сервера на Python.
**********************************************
Стек мобільних технологій:
iOS
Мови: Swift (нові проекти на Swift) і Objective-C
Архітектури: VIPER, Clean Swift
Сучасні бібліотеки: Moya, IGListKit, Realm, YapDatabase, lottie
Додатково: пишемо власні компоненти для шаринга між проектами, свій CI сервер (Gitlab CI і Jenkins)

Android
Мови: 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:
https://evo.company

The job ad is no longer active
Job unpublished on 4 September 2020

Look at the current jobs Python Remote→