.NET Fest: полная программа конференции на сайте. Присоединяйся к самому большому .NET ивенту
EVO — продуктова українська IT-компанія.
4 сентября 2019

Python Software Engineer (проект Prom.ua)

Киев

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

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

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

Ми шукаємо Python Software Engineer’a в команду MRD (одну з п’яти команд розробки проекту Prom.ua)

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

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

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

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

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

Як плюс:
— досвід з aiohttp
— досвід роботи в фінтех або e-commerce
— досвід розробки з використанням GraphQL
— відсутність страху перед Front-end’ом, node.js, React.js (верстки 100% не буде :))

Про технічний департамент в 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-дзвінок. Ми обговоримо проект, ваш досвід і ваші цілі, згодом, разом вирішимо, чи будемо надалі продовжувати спілкування на технічній співбесіді у нас в офісі.
***********************************************************************************************************************************************************
Наша технічна команда EVO увесь час знаходиться в пошуках нової корисної інформації.
Ми читаємо багато книг, статей, блогів, оглядів і реліз-ноутів, дивимося презентації і доповіді, ходимо на конференції і мітапи.
У нашому каналі ми публікуємо все, що нам здалося важливим і корисним для розробників:

LinkedIn