О роли: Мы ищем инженера, который выходит за рамки реализации и берёт на себя ответственность за технические решения. Вы будете отвечать за проектирование и развитие основных backend‑сервисов, владение критическими частями системы, ревью кода и формирование технического направления продукта. Мы ценим инженеров, которые думают о надёжности, масштабируемости, поддерживаемости и долгосрочной архитектуре — а не только о доставке функций.
проектирование и развитие основных backend‑сервисов, владение критическими частями системы, ревью кода и формирование технического направления продукта.
5+ лет коммерческого опыта разработки на Python. 3+ года создания высоконагруженных асинхронных backend‑сервисов. Глубокие знания Python 3.11+, async/await, event loop и принципов асинхронного программирования. Практический опыт работы с асинхронными веб‑фреймворками, такими как FastAPI, Starlette, aiohttp, Litestar или аналогичными. Глубокое понимание asyncio: gather, TaskGroup, отмена задач, тайм‑ауты, backpressure и шаблоны конкурентности. Вы понимаете, почему тихо завершившаяся фоновая задача является инцидентом в продакшене. Строгая типизация как стандартная практика разработки. Опыт работы с mypy или pyright, Protocols, Generics и современными возможностями типизации Python. Отличные навыки работы с SQL, включая JOIN, индексы, транзакции и обширный опыт работы с PostgreSQL. Глубокое понимание механизмов блокировок PostgreSQL (FOR UPDATE, SKIP LOCKED), уровней изоляции транзакций, дедлоков и планов выполнения запросов. Опыт работы с SQLAlchemy (ORM или Core) или другим зрелым ORM. Уверенное написание автоматических тестов с pytest, fixtures, параметризацией и мокированием зависимостей. Опыт работы с Docker, Git и ревью кода через Merge/Pull Requests. Опыт продакшн‑работы с брокерами сообщений, такими как Kafka, RabbitMQ, NATS или аналогичными. Вы отлаживали реальные продакшн‑проблемы, а не только изучали концепции. Практический опыт построения распределённых систем, включая доставку at-least-once, идемпотентность, дедупликацию и понимание, почему exactly-once доставка недостижима в сети. Опыт работы с бизнес‑критичными доменами, такими как платежи, биллинг, бухгалтерия, управление заказами, инвентарь или любые системы, где ошибки имеют финансовые последствия. Глубокое понимание сценариев отказов. Например, вы знаете, как обрабатывать случаи, когда запрос был отправлен, но ответ не получен, и почему наивный повтор может быть хуже, чем отказ. Умение проводить содержательные ревью кода, фокусируясь на архитектуре, надёжности, поддерживаемости и качестве инженерии, а не только на стиле кода. Английский достаточный для чтения технической документации, написания комментариев к коду и технической документации. Разговорный английский является плюсом, но не обязателен.