Компания "Торвлад" ищет backend-разработчика для разработки, развития и поддержки внутренних и клиентских корпоративных систем.
Основной рабочий стек:
Python + PostgreSQL + Redis + Docker + Linux
Желателен человек с хорошей инженерной базой, который умеет не только разрабатывать новую функциональность, но и разбираться в существующем проекте: читать чужой код, диагностировать проблемы, работать с БД, интеграциями и инфраструктурным окружением приложения.
Обязательные требования:
- уверенное коммерческое знание Python;
- опыт разработки backend-приложений и API;
- уверенная работа с PostgreSQL:
- проектирование структуры данных;
- SQL-запросы;
- индексы;
- транзакции;
- понимание причин проблем с производительностью;
- практический опыт работы с Redis;
- уверенное понимание Docker и Docker Compose;
- практический опыт работы в Linux;
- понимание HTTP, REST API и принципов интеграции нескольких сервисов;
- опыт интеграции со сторонними API и сервисами;
- понимание обработки ошибок, retry-механизмов, timeout'ов и отказоустойчивости;
- уверенная работа с Git;
- умение работать с существующей кодовой базой, а не только создавать проекты с нуля;
- умение самостоятельно диагностировать проблему по коду, логам, состоянию БД и поведению сервисов;
- понимание принципов тестирования backend-систем;
- способность доводить задачу от анализа требований до проверенного рабочего результата.
Будет сильным плюсом:
- FastAPI;
- asyncio / async-await и опыт разработки асинхронных Python-приложений;
- ClickHouse;
- опыт с очередями, background workers и асинхронной обработкой задач;
- опыт проектирования систем, состоящих из нескольких сервисов;
- опыт оптимизации PostgreSQL и анализа сложных SQL-запросов;
- CI/CD;
- nginx;
- systemd;
- практический опыт эксплуатации backend-приложений в Linux;
- понимание сетевого взаимодействия между сервисами, контейнерами и внешними системами;
- опыт расследования production-проблем;
- опыт работы с legacy-кодом и постепенного рефакторинга без нарушения существующей функциональности.
-
Что особенно важно в кандидате
Нам важен не только опыт с конкретным Python-фреймворком.
Кандидат должен уметь самостоятельно разобраться в существующей системе и понимать всю цепочку работы приложения:
код → API → БД → Redis → внешние интеграции → Docker/Linux → логи и мониторинг.
Нужен разработчик, который при возникновении проблемы способен не ограничиваться изменением кода, а определить реальную причину проблемы и проверить результат своего изменения.
Особенно ценим:
- аккуратность при изменении существующего функционала;
- привычку проверять изменения тестами;
- умение сначала разобраться в текущем поведении системы, а затем его менять;
- понимание обратной совместимости и риска регрессий;
- способность аргументировать технические решения;
- самостоятельность в диагностике;
- нормальную техническую коммуникацию внутри команды.
Условия: - Интересная работа в крупной компании в структуре ИТ-подразделения
- Отличный коллектив
- Конкурентная заработная плата