Мы — IT-компания, развивающая собственный сервис, которым активно пользуются более 100 000 человек. Ищем разработчика, который будет развивать backend и закладывать технический фундамент для роста нагрузки и надёжной работы продукта.
Нам важен опыт проектирования и эксплуатации систем: умение видеть зависимости между компонентами, заранее учитывать сценарии отказа и выбирать решения, которые команда сможет поддерживать и развивать.
Наши проекты
Telegram-бот на Aiogram 2.25.
Сервисы на FastAPI: пользователи, аутентификация, профили, платежи и интеграции с внешними системами.
WEB-Cabinet — личный веб-кабинет.
Основные задачи
Разрабатывать и поддерживать сервисы на FastAPI, Telegram-бота и backend веб-кабинета.
Проектировать и реализовывать платежи, подписки и интеграции с API с учётом повторных запросов и сбоев внешних систем.
Развивать существующую микросервисную архитектуру: определять границы компонентов, контракты API и ответственность за данные.
Оптимизировать сервисы под растущую нагрузку (+50 RPS) и готовить дальнейшее масштабирование на основе профилирования и нагрузочных тестов.
Снижать вероятность ошибок через тесты, code review, безопасные миграции и автоматические проверки в CI/CD.
Участвовать в разборе инцидентов, устранять их причины и улучшать мониторинг. Вести техническую документацию и фиксировать архитектурные решения.
Практический опыт
Коммерческая backend-разработка на Python: ориентир от 3 лет. Оцениваем сложность реализованных задач, самостоятельность и результаты в продакшене.
Опыт полного цикла работы над сервисом или значимой функцией: от уточнения требований и проектирования до релиза и сопровождения.
Практика работы с платежами, подписками, очередями или другими критичными интеграциями. Готовность разобрать собственные решения и их ограничения.
Опыт диагностики сбоев и проблем производительности. Умение объяснить причину, внесённые изменения и способ проверки результата.
Архитектурное мышление и надёжность
Умеете проектировать систему с учётом задач продукта, будущего роста и удобства поддержки. Можете объяснить свои решения и сравнить их с альтернативами.
Определять требования к нагрузке, скорости ответа и надёжности. Учитывать их при выборе архитектуры и технологий.
Продумывать структуру сервисов, API и данных. Понимать, когда нужны отдельные сервисы, а когда достаточно более простого решения.
Предусматривать сбои внешних API и других компонентов: задавать таймауты, ограничивать повторные попытки и влияние сбоя на систему.
Обрабатывать повторные запросы и события без повторных списаний и ошибок в данных. Учитывать одновременные изменения данных.
Понимать работу очередей, повторную доставку сообщений и восстановление после сбоев. Согласовывать изменения в БД с отправкой событий.
Находить узкие места по метрикам и нагрузочным тестам. Понимать, когда нужны кэширование, ограничения нагрузки или масштабирование.
Планировать безопасные релизы и изменения БД, сохраняя совместимость. Предусматривать откат, резервное копирование и восстановление данных.
Технические требования
Уверенный async Python: asyncio, async/await, отмена задач, таймауты, ограничение параллелизма и понимание блокирующих операций в event loop.
FastAPI или другой асинхронный web-фреймворк; Telegram Bot API и Aiogram 2.x или 3.x. Проектирование API, валидация данных и обработка ошибок.
PostgreSQL: схема данных, индексы, EXPLAIN ANALYZE, N+1, транзакции, уровни изоляции и блокировки; понимание применимости партиционирования. SQLAlchemy, asyncpg и миграции Alembic.
Redis и RabbitMQ либо аналоги: срок жизни и актуальность кэша, надёжная обработка фоновых задач, контроль накопления очереди.
pytest и pytest-asyncio: модульные и интеграционные тесты, проверка критичных сценариев, повторных событий, конкуренции и отказов зависимостей.
Git, code review, Docker и CI/CD. Метрики, структурированные логи и оповещения; защита секретов, проверка прав доступа и входящих webhook-запросов.
Наш стек технологий
Python 3.12+, FastAPI, Aiogram; httpx для внешних API.
PostgreSQL, SQLAlchemy ORM и async sessions, asyncpg, Alembic.
Redis, RabbitMQ, aio-pika, APScheduler.
Sentry, Prometheus и Grafana; Docker, Docker Compose, GitHub Actions.
pytest, pytest-asyncio, fixtures и mocks; Ruff, Black, pre-commit.
Будет плюсом
Опыт высоконагруженных проектов с конкретными показателями нагрузки, задержек и доступности; участие в росте системы и устранении узких мест.
Опыт работы с VPN-технологиями.
Базовые знания frontend-разработки на React.
Условия
График 5/2, 8 часов.
Удаленная работа.
ЗП 250к на руки
Процесс найма
Скрининг 30 минут
Знакомство и презентация проекта. Обсудим опыт с Python, FastAPI/Aiogram и async, самостоятельность и личный вклад в реализованные проекты.
Техническое интервью от 60 до 120 минут
Разберём один из ваших проектов: архитектуру, альтернативы, ограничения и результаты. Обсудим реальные сбои или проблемы производительности и принятые меры.
Архитектурный кейс: сервис платежей и подписок при росте нагрузки, повторных webhook-событиях и недоступности внешнего API. Важно объяснить работу с данными, восстановление после сбоев, тестирование и мониторинг.
Практическая часть: вопросы по async Python, FastAPI и БД; live coding либо разбор и рефакторинг кода. Проверим корректность решения и обработку ошибок. Примеры из портфолио обсудим при наличии.
Финальное собеседование 30 минут
Если вам интересно развивать продукт и влиять на его архитектуру и надёжность — откликайтесь. Будем рады познакомиться!
Будьте осторожны: если работодатель просит войти через Google, iCloud или Госуслуги, прислать код или пароль, запустить ПО или перевести деньги — это мошенники.