There are 999 reasons to become levi niner. Find yours at levi9.com/jobs
EVO — продуктова українська IT-компанія.
18 октября 2019

Junior+ Python Software Engineer (проект Zakupki.prom.ua)

Киев

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

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

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

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

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

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

Більше про технічний департамент і рішення в 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;
— має досвід web розробки, розуміє, що таке мікросервісна архітектура;
— впевнено працює з базами даних PostgreSQL (транзакції, тригери, оптимізація складних запитів);
— має досвід асинхронного програмування на Python, працював з Redis, Celery і RabbitMQ;
— має уявлення, що таке NoSQL бази даних;
— впевнений користувач Git.

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

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

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

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

LinkedIn