
Middle+/Senior Node&JS & Python Developer / Бэкенд разработчик
Your Personal Agent
Москва
≈ до 3,8 тыс. $ · до 3,4 тыс. €
до 300 000 ₽
🏢 Офис
Middle
Полная занятость
Россия
Описание вакансии
Привет! Мы команда Your Personal Agent и сейчас мы находимся в поисках Node.JS и Python разработчика для проекта из сферы iGaming. Проект уже не первый год на рынке и сейчас готовится к запуску на новых локациях. Работы много, поэтому если ты хочешь расти на интересных задачах - добро пожаловать в команду!
Требования
•Коммерческий опыт работы с NodeJS от 3 лет
•Коммерческий опыт работы с Python от 3 лет
•Уверенное знание Python 3.10+, async/await, type hints, generics. Понимание asyncio, uvloop, aiohttp.
•FastAPI (настройка DI, Middleware, lifespan hooks, исключения).
•Pydantic v2 (модели, настройки, кастомные валидаторы, работа с multipart/form-data).
•Работа с базами данных: PostgreSQL (сложные запросы, индексы, пул соединений); SQLAlchemy 2.0 (async engine, AsyncSession, ORM-связи, миксины); Alembic (написание миграций, работа с Enum/UUID в PostgreSQL).
•Кэширование: Redis (TTL, async-клиент, хранение токенов).
•Архитектура: Паттерны Repository + Service Layer. Проектирование REST API.
•Безопасность: JWT (access/refresh), bcrypt, инвалидация токенов.
Обязанности
•Разработка и поддержка высоконагруженных сервисов на Python (FastAPI) и Node.js (наш стандартный стек).
•Проектирование RESTful API с версионированием, интеграция с внешними сервисами.
•Работа с асинхронными очередями (RabbitMQ / NATS), планировщиками задач.
•Оптимизация запросов к PostgreSQL и ClickHouse, проектирование схем данных.
•Реализация сложной ролевой модели доступа (RBAC) и систем аутентификации (JWT).
•Участие в код-ревью, написание тестов (pytest), поддержание высокого покрытия.
Будет плюсом
•Аналитика: ClickHouse (OLAP-запросы, агрегация событий).
•Брокеры: Опыт с RabbitMQ (FastStream) или NATS (JetStream).
•Планировщики: APScheduler (Redis JobStore, Cron/Date триггеры).
•Telegram: Aiogram 3.x (поллинг, регистрация хендлеров).
•Хранилища: S3 (aiobotocore) — асинхронная загрузка/удаление.
•Интеграции: Опыт работы с Facebook Pixel API, Web Push (pywebpush, VAPID).

