EVO — продуктова українська IT-компанія.
2 августа 2019

Python Back End Software Engineer (проект Zakupki.prom.ua)

Киев

Проект Zakupki.prom.ua компанії EVO у пошуках Python Back End Software Engineer’a.

Zakupki.Prom.ua — найбільший тендерний майданчик в Україні в системі Prozorro. Саме через нас Національна поліція закуповує корм для сторожових псів, ОККО продає державі пальне, а кожен з вас може купити шафу, що залишилась від банку Надра.
Серед наших продуктів веб-сервіс, мобільний додаток і навчальна платформа.

Наша команда:
6 Python Engineer’a, 3 QA, 2 Front End Engineer’a, 3 Product менеджери, 1 дизайнер, mobile команда (iOS & Android)

Проект з технічного боку:
Python, Pyramid, Aiohttp, Asyncio, Celery
Бази даних: PostgreSQL, MongoDB
Для пошуку: ElasticSearch
S3 сховище: Riak
На Front End: ES6+, React, Redux, Styled Components

Наразі:
— активно працюємо над переведенням нашого додатку на мікросервісну архітектуру;
— активно починаємо впроваджувати Kubernetes.

З загальних інструментів використовуємо:
Docker, Kubernetes, Ingres, Istio, Gitlab CI, Kibana, RabbitMQ, Redis

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

Наші очікування від кандидата:
— на відмінно знає Python, має досвід роботи як з Python 2 так і Python 3;
— має досвід web розробки, розуміє, що таке мікросервісна архітектура;
— впевнено працює з базами даних PostgreSQL (транзакції, тригери, оптимізація складних запитів);
— має досвід асинхронного програмування на Python, працював з Redis, Celery і RabbitMQ;
— має уявлення, що таке NoSQL бази даних;
— впевнений користувач Git.

Плюсом буде:
досвід роботи з Pyramid Framework, Aiohttp, MongoDB, GraphQL, Kubernetes, Docker.

Глобальні задачі:
повний перехід на мікросервіси, впровадити Kubernetes.

Що буде в роботі:
— розробка архітектури та реалізація власних мікросервісів з нуля;
— інтеграція мікросервісів в існуючу програму, організація взаємодії з іншими мікросервісами;
— деплой мікросервісів в production (Docker і Kubernetes);
— проведення демо нового функціоналу/сервісів.

У команді ми відкрито обговорюємо впровадження нових технологій і побудови архітектури проекту.

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

Точно НЕ буде у роботі:
— верстання (є окрема команда досвідчених верстальників. Після того, як розробник виконав логічну частину задачі, вона переходить до верстальника, де той за готовим дизайном робить pixel-perfect верстання);
— нудно;
— дедлайнів;
— тайм-трекінгу задач.

Як у нас проходить підбір та співбесіда?
Ми чекаємо ваше резюме, яке передаємо на розгляд до TL команди, якщо резюме проходить схвалення, ми зв’язуємося для продовження спілкування в зручному для вас форматі (Skype, Telegram).
Етапи співбесіди в нашу компанію:
1. Skype-call (проходить у форматі діалогу, ми знайомимося з вами і вашим досвідом, а ви з нами, як з потенційним роботодавцем);
2. Після skype-call’у ми даємо зворотній зв’язок протягом 24 годин, також ми чекаємо зворотній зв’язок від вас. За підсумком — запрошуємо/не запрошуємо вас до нас в офіс на технічну співбесіду;
3. Фінальна співбесіда-знайомство з продактом команди і технічним директором.
***********************************************************************************************************************************************************
Наша технічна команда EVO увесь час знаходиться в пошуках нової корисної інформації.
Ми читаємо багато книг, статей, блогів, оглядів і реліз-ноутів, дивимося презентації і доповіді, ходимо на конференції і мітапи.
У нашому каналі ми публікуємо все, що нам здалося важливим і корисним для розробників:

LinkedIn