описание
Мы развиваем VPN-сервис с мобильными приложениями, личным кабинетом, Telegram-ботом, оплатами и автоматической выдачей VPN-доступа. Ищем backend-разработчика, который сможет погрузиться в продукт, развивать основной API и связанные сервисы, поддерживать платёжные и пользовательские сценарии, а также участвовать в постепенном улучшении архитектуры.
задачи
- Разрабатывать и поддерживать API на Python и FastAPI
- Работать с пользовательскими сценариями: регистрация, авторизация, устройства, подписки, платежи, реферальная система и выдача VPN-доступа
- Развивать личный кабинет и внутренние API между сервисами
- Поддерживать интеграции с VPN-инфраструктурой, платежными эквайрингами, Telegram, Firebase, UniSender и другими сторонними сервисами
- Разрабатывать фоновые и периодические задачи на Celery и APScheduler
- Работать с PostgreSQL, SQLAlchemy, Alembic и Redis
- Разбирать проблемы на стыке нескольких сервисов и устранять причины сбоев
- Писать и поддерживать unit- и интеграционные тесты
- Участвовать в code review, улучшении архитектуры и технических процессов
- Работать со stage- и prod-окружениями, логами и метриками
требования
- Коммерческий опыт backend-разработки на Python от 2 лет
- Уверенное знание FastAPI или другого современного Python web-фреймворка
- Опыт разработки асинхронных приложений на Python
- Хорошее понимание HTTP, REST API, авторизации и обработки ошибок
- Опыт работы с PostgreSQL и SQLAlchemy либо сопоставимой ORM
- Умение проектировать и безопасно применять миграции БД
- Опыт интеграции со сторонними API
- Понимание транзакций, конкурентного доступа и идемпотентности
- Умение писать unit- и интеграционные тесты
- Практический опыт работы с Docker и Git
- Умение разбираться в существующем коде и бизнес-логике, а не только писать новые ручки
- Ответственное отношение к изменениям, влияющим на платежи, подписки и доступ пользователей
- Способность заранее учитывать повторные запросы, тайм-ауты, сбои внешних сервисов и гонки
- Готовность покрывать критичные изменения тестами
- Умение локализовать проблему между API, БД, очередью и внешней интеграцией
- Самостоятельность и готовность задавать вопросы, когда требований недостаточно
- Желание постепенно расширять зону ответственности
- Будет плюсом: Опыт работы с Redis, Celery и APScheduler; Опыт разработки платёжных сценариев и обработки webhook; Опыт с Telegram-ботами и Aiogram; Понимание принципов работы VPN-сервисов; Опыт с ClickHouse, Prometheus и мониторингом; Знакомство с Clean Architecture, DDD; Опыт с TypeScript, Next.js или Prisma; Опыт поддержки нескольких взаимодействующих сервисов в production; Знакомство с GitLab CI/CD и самостоятельным сопровождением релизов
условия
- Удалённая работа
- Гибкий график
- Участие в заранее согласованных релизах, иногда в вечернее или ночное время
- Простая коммуникация без лишней бюрократии
- Возможность влиять на архитектуру и технические процессы
- Рост вместе с продуктом и расширение зоны ответственности