Backend Engineer
4bill — це платіжна система для сайтів, мобільних додатків і сервісів, що працюють онлайн. Ми надаємо всі необхідні платіжні інструменти для зростання конверсії наших клієнтів. За останні 2 роки запустили бізнес в Європі, Азії та Латинській Америці й продовжуємо розширювати свої представництва.
Ми розробляємо платіжний шлюз, який обробляє повний життєвий цикл транзакцій: створення, управління станами, розрахунок комісій, колбеки, повернення коштів. Шукаємо Middle Backend розробника в основну команду — працювати над серцем системи: обробкою транзакцій, переходами між статусами, розрахунками комісій і рухом коштів.
Кодова база — зріла й жива. Тому нам важлива людина, яка вміє читати та аналізувати незнайомий код, тримати вже встановлені патерни й покращувати систему, не розхитуючи її стабільність. На Middle-рівні очікуємо, що ти впевнено реалізовуватимеш середні та великі фічі з мінімальним керівництвом, розбиратимешся у взаємозалежних системах і розумітимеш, коли варто звернутися по допомогу — ще до того, як зміна стане ризикованою.
Необхідні навички:
- 2+ роки комерційної розробки бекенду на Python
- Впевнений практичний досвід із PostgreSQL і SQLAlchemy: проєктування схеми, міграції (Alembic), оптимізація запитів, транзакції, блокування (
SELECT … FOR UPDATE), розуміння рівнів ізоляції - Ґрунтовний досвід із Celery для фонової/асинхронної обробки: повторні спроби, обмеження часу виконання, ідемпотентність
- Практичний досвід із вебфреймворком (перевага — Flask; Django / FastAPI прийнятні)
- Впевнена робота з Redis (кешування, розподілені блокування)
- Впевнена робота з грошовою арифметикою
- Розуміння принципів проєктування та інтеграції RESTful API
- Основи безпеки застосунків: автентифікація, авторизація, валідація вхідних даних, базовий OWASP
- Юніт-тести (pytest), розробка в Docker-середовищі
- Уміння орієнтуватися у великій наявній кодовій базі й дотримуватися її конвенцій
- Git і робочі процеси на основі merge-запитів (GitLab)
- Сміливе, доречне й оптимальне використання AI у роботі
Обов’язки:
- Розробка та підтримка основного життєвого циклу обробки транзакцій
- Реалізація та вдосконалення управління станами транзакцій, переходів між статусами й відстеження історії/аудиту
- Розрахунок комісій, розподіл зборів і операції з балансами із суворою фінансовою точністю
- Проєктування атомарних та ідемпотентних потоків для платіжних операцій, колбеків і повернень коштів
- Створення фонових задач на Celery для асинхронної та запланованої обробки
- Оптимізація запитів до PostgreSQL (SQLAlchemy), виявлення й усунення N+1-патернів
- Інтеграція та підтримка API сторонніх платіжних провайдерів (колбеки, вебхуки, звіряння)
- Написання чистого, підтримуваного коду та рефакторинг застарілих ділянок у міру роботи з ними
- Покриття нової та зміненої функціональності юніт-тестами (pytest)
- Участь у код-рев’ю — як надаючи, так і отримуючи зворотний зв’язок
Буде плюсом:
- Досвід у фінтеху / платежах: платіжні провайдери, обізнаність із PCI DSS, звіряння транзакцій, колбеки/вебхуки
- Знайомство з доменом: оркестрація платежів, ledgering, антифрод, AML/комплаєнс, чарджбеки й повернення коштів
- Робочий рівень англійської для читання/написання технічної документації та merge-запитів
- Досвід інтеграції сторонніх платіжних або фінансових API
- Інструменти спостережуваності: Grafana, структуроване логування, Sentry
- Навантажувальне тестування (k6) і профілювання продуктивності
- CI/CD-пайплайни та контейнеризоване розгортання
Що для нас важливо (soft skills):
- Увага до деталей. Тут похибка округлення чи пропущений крайній випадок означають зачеплені реальні гроші.
- Чітка комунікація. Вміння пояснити компроміси під час рев’ю та обговорень дизайну.
- Ownership. Ведеш зміну аж до продакшену й відстежуєш її вплив.
- Баланс. Тримаєш рівновагу між швидкістю доставки й коректністю та безпекою, яких вимагає домен.
- Комфортна робота в розподіленому, віддаленому колективі.
Наш стек:
- Python
- Flask (кілька WSGI-застосунків)
- SQLAlchemy + Alembic, PostgreSQL
- Celery
- Redis
- Pytest
- Docker / docker-compose
- Sentry, Grafana
Що ми пропонуємо:
- Курси англійської мови
- Оплачувана відпустка — 24 робочі дні
- 100% покриття лікарняних (не обмежена кількість на рік)
- Гнучкий графік роботи
- Повністю віддалена робота
- Корпоративна техніка з першого дня роботи
- Можливість підтримувати та брати участь у волонтерській діяльності
- Можливість навчатися у колег та приносити в проєкти свої ідеї — ми підтримаємо ваш рух не лише до цілей компанії, а й до власних
- Можливість професійного та кар’єрного зростання