← Усі вакансії

Middle Python Developer

Рівень:
middle
Джерело:
djinni.co
Відгукнутись на вакансію →

У P2Bid ми створюємо ігри, де за кожною механікою стоїть швидкий, надійний та масштабований backend.

Шукаємо Middle Python Developer із 2–4 роками комерційного досвіду, який любить сучасний Python, асинхронне програмування та якісну інженерію.

Про роль

Ви розроблятимете нові функціональні можливості в межах існуючої архітектури: реалізовуватимете use case'и, API, NATS-хендлери, репозиторії та писатимете тести. Архітектурні рішення вже сформовані командою, тому ми очікуємо не обов'язково досвіду їх проєктування, а розуміння принципів, за якими вони побудовані, і вміння працювати в існуючій архітектурі.

Обов'язково

Python 3.11+ комерційно. Впевнено з async / await: розуміє, що таке event loop і чому один блокуючий виклик кладе - весь сервіс

Будь-який async веб-фреймворк — FastAPI, Litestar, aiohttp, Starlette. Ми на FastAPI, але перехід між ними — це кілька годин

Типізація як норма роботи, не як прикраса. Працював із mypy або pyright, розуміє Protocol, дженерики, X | None

SQL руками, не тільки через ORM: JOIN-и, індекси, транзакції. Досвід із PostgreSQL

SQLAlchemy (ORM або Core — байдуже) або будь-яка інша зріла ORM

pytest: пише тести сам, розуміє фікстури й параметризацію, вміє підмінити залежність

Docker, git, робота через MR/PR із рев'ю

Розуміє ідею черги / брокера хоча б на рівні «працював із Celery, RabbitMQ або Kafka»

Стек: Python 3.12, FastAPI, PostgreSQL, MongoDB, NATS/JetStream, Docker, Kubernetes. Ми використовуємо кілька нішевих бібліотек — dishka (DI), adaptix (мапінг), FastStream (брокер), ty (типи), uv (залежності). Знати їх до співбесіди не потрібно. Кожна з них — це варіація знайомої ідеї, і входять у них за дні. Ми питаємо про async, SQL і про те, як ви думаєте про надійність, а не про назви бібліотек.

Якщо ви закриваєте більшість пунктів із «Обов'язково» — надсилайте cv, навіть якщо решта списку незнайома. Будемо раді знайомству!

Схожі вакансії

З блогу Trackr

Усі статті →

Знайдено через trackr.help/jobs · Канал: @trackrhelp · Бот для персональних сповіщень: @trackrhelpBot