EVO в пошуках Senior Python Backend Engineer'a
(проект Prom.ua)

Розробкою займається 5 команд, кожна з них відповідає за свою частину проекту і сервіси.

Ми шукаємо Senior Python Backend  Engineer'a в команду Marketplace.  

Наша команда Marketplace займається такими напрямками:
- каталог товарів (робота з картками товару, з видачею товарів, seo оптимізація, антиспам);
- робота з рекомендаціями товарів;
- seo;
- пошукова система;
- система аналітики і великих даних;
- сервіс обробки/віддачі зображень.

Проект з технічної боку:
Основний проект на Python 3.7, SQLAlchemy, Redis, Celery, GraphQL.
За базу даних - PostgreSQL, для пошуку - ElasticSearch.
SPA додаток на ES2018, React.
Є набір Slack-ботів і невеликих сервісів на aiohttp і Flask.
Використовуємо GitLab.
Деплой Docker + Kubernetes.
Онлайн аналітика на Spark Streaming (Scala) + Clickhouse + GraphQL.

Наш підхід до процесу розробки:
Ініціатором завдання може бути будь-який співробітник команди. В робочій групі обговорюється, як конкретне завдання вплине на продукт (цілі, метрики, перспективи цього напряму). Зараз в планах велика кількість експериментів з боку продукту, бізнесу.

У розробку потрапляють завдання, які потрібно перевірити за допомогою a/b тесту або вже перевірені за допомогою fake mvp. У нас є можливість включати фічі на певний відсоток трафіку і моніторити результати.
Є можливість перемикатися між різними напрямками задач, які описані вище.
Ми відкриті до експериментів з технічного боку, які дають плюси в розвитку або ж в якості продукту.

Наші кандидати/кандидатки:
- відмінно знають Python, не заточені під конкретний фреймворк;
- впевнено працюють з базами даних PostgreSQL;
- мають розуміння як і для чого працює Hadoop stack (Yarn + HDFS);
- працювали з Kubernetes - ідеально, якщо вивозили свої сервіси;
- впевнені користувачі Git'a.

Буде плюсом якщо:
- мають досвід роботи зі Spark + Spark Streaming в контексті Pyspark, знають що таке watermark і навіщо він потрібен;
- мають досвід роботи зі Scala (вміють відрізнити об'єкт від класу, - можуть розповісти про переваги та недоліки implicit-функцій).

Глобальні задачі:
Наша команда працює над поліпшенням клієнтського досвіду на порталі, тому більшість завдань, так або інакше, пов'язані з цим:
- розробка трекінгу а / b тестів в онлайні;
- робота в парі з data scientist по викачуванню моделей ML в продакшн;
- поліпшення ранжування для збільшення конверсій в замовлення;
- завдання по оптимізації роботи гриндера;
- завдання з розвитку та підтримки сесійного парсеру (написаний на Scala).

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

About EVO

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

Основні мови програмування, які ми використовуємо це Python 3.7 (моноліт + сервіси на 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
Мови: 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: https://evo.company/

Job posted on 12 August 2019.

Apply for job




Get new jobs by e-mail

Describe what you’re looking for and Djinni will send you matching jobs.


E.g.: (senior|middle) rust -blockchain