Position: Senior Backend Engineer (Python)
Company: Orderry
Category: Python
Experience: 5y
English level: intermediate

Стек: Python 3.9, Django 4, DRF, Celery, PostgreSQL, Redis, Kafka, RabbitMQ, OpenAPI, Swagger, Pytest

Requirements:
5+ років досвіду на позиції Python Developer
Впевнене розуміння написання коду на Python
Глибоке знання реляційних баз даних і SQL. Розуміння прийомів індексування/шардингу/розбиття таблиць та коли їх використовувати
Досвід профайлінгу та оптимізації SQL запитів
Впевнені знання структур даних та алгоритмів (Big O)
Розуміння побудови додатків з REST API архітектурою
Досвiд з Celery
Досвiд з брокерами повідомлень RabbitMQ або Kafka
Розуміння та практичний досвід використання DRF або FastAPI
Досвід з Docker та Docker Compose
Досвід з Redis
Досвiд smoke/unit тестування з використанням Pytest
Досвід з Redis bash
Досвід з Redis Git
Гарні problem-solving навички

Буде плюсом:
Досвід роботи з сучасними інструментами моніторингу, такими як Grafana, Prometheus / LOKI, Data Dog тощо.
Практичний досвід побудови CI/CD процесів
Розуміння cloud інфраструктури та маніпулювання будь-якими інструментами оркестрації

Обов’язки:
Розробка нового функціоналу з нуля
Імплементація нових та вдосконалення існуючих технічних рішень
Тісна взаємодія з такими командами розробників, як QA, Frontend, DevOps
Оптимізація роботи баз даних
Планування та участь у розробці мікросервісів
Створення RFC та документації System Design для подальшої розробки

Пропонуємо
— Ми за саморозвиток та професійне зростання. Потрібно прокачатися — бери участь в заходах повністю або частково за рахунок компанії.
— На тебе чекають рев’ю для розбору цілей і завдань, 1-to-1 зустрічі з тімлідом і постійна підтримка тьютора.
— Великий і просторий офіс всього в хвилині від м. Бориспільська. Шлях на роботу завжди буде у протилежному напрямку від заторів.
— Ти матимеш 18 робочих днів відпустки, 10 оплачуваних лікарняних на рік (без лікарняного)
— Можливість працювати вдома.
— Курси англійської в офісі
— Ми надаємо юридичну та бухгалтерську підтримку за необхідності.
— Маєш власне авто? Тоді ми маємо для тебе місце на парковці бізнес-центру.

Обов’язки
— Розробка нової функціональності з нуля, розвиток та підтримка існуючої функціональності.
— Робота над архітектурою додатку.
— Уніфікація і стандартизація рішень.
— Комунікація з іншими командами в пошуку оптимальних рішень.
— Допомагати нам робити наші практики кращими, втілювати на практиці твої ідеї.
— Розробка нових методів нашого PRC.
— Написання тестів.

Про проєкт
Ми використовуємо продуктово-інженерний підхід у вирішенні завдань. Оскільки ми продуктова компанія, нам важливо, щоб розробники не лише виконували завдання, а й розуміли проблеми бізнесу, які вони закривають. Працюючи в невеликих командах, ви зможете впливати на дизайн системи та вносити великий внесок у зростання компанії.

Прагнемо створити середовище, яке забезпечує необхідну підтримку та наставництво для довготривалого розвитку наших співробітників.

Наш стек технологій
Python 3.9, Django 4, Celery, Protobuf
PostgreSQL, Redis, Kafka
asyncio / aiohttp
Docker, Kubernetes

Технічно, проект являє собою Django-додаток і кілька, порівняно невеликих, окремих сервісів на asyncio / aiohttp які реалізують інтеграції зі сторонніми системами (телефонія, SMS-шлюзи).

Сервіси між собою спілкуються через RabbitMQ. Також є один маленький сервіс на Erlang, який використовується як websocket сервер. Всього близько 100 тисяч рядків backend-коду.

Зберігаємо дані в Postgres. Обсяги інформації в окремих таблицях — порядку десятків мільйонів рядків, тому потрібно грамотно думати про швидкодію. Для кешування використовуємо Redis.

Фронтенд — односторінкове додаток на React / Redux. Проект повністю мігрувати на Python 3 і останню версію Django. Ми завжди намагаємося підтримувати всі залежності проекту в останніх стабільних версіях.