Компанія EVO в пошуках Python Back End Software Engineer’a

На даний момент, команда MRD в пошуках Python Back End Software Engineer’a

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

В основному, всі завдання команди MRD і кожного з її напрямків націлені на розробку функціоналу для продавців:
— в першу чергу, це інтеграція і взаємодія з зовнішніми майданчиками для синхронізації товарів і підвищення конверсій загалом в маркетплейсі
— також, ми активно продовжуємо розвивати всі наші інтеграції з логістики, онлайн-оплат та інших інструментів для продавців
— розробка та підтримка відкритого API для побудови відкритої екосистеми навколо маркетплейсів

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

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

Наші кандидати:
— знають Python, не заточені під конкретний фреймворк
— мають досвід web розробки, розуміють що таке мікросервісна архітектура і досвід її застосування
— впевнено працюють з базами даних PostgreSQL (або аналогами): транзакції, індекси, оптимізація складних запитів — не повинні складати труднощів
— мають досвід асинхронного програмування на Python,
— мають уявлення, що таке NoSQL бази даних і пошукові движки (ElasticSearch)
— досвід роботи з Docker/Kubernetes (або аналогами)
— з продакт інженерним підходом до вирішення завдань

Як плюс:
досвід з aiohttp
досвід роботи в фінтех або e-commerce
досвід розробки з використанням GraphQL

Про технічний департамент в EVO і всі наші рішення:
Основні мови програмування: Python, JavaScript, TypeScript, Golang.
Нові 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).

Як у нас проходить підбір і співбесіди?
Для початку, ваше резюме розглянуть технічні фахівці. Якщо воно буде схвалене, ми домовимось про 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 2 December 2019
24 views

Apply for job