описание
Talana Labs создаёт повседневные интернет-продукты, в том числе работающие в общей сети и мультитенантной модели с отдельными настройками, брендингом и функциями для разных продуктов и клиентов.
задачи
- Проектировать и развивать сервисы на NestJS и TypeScript: API, бизнес-логику и интеграции между продуктами
- Проектировать схемы данных в PostgreSQL, писать миграции и оптимизировать запросы
- Поддерживать сервисы в рабочей среде: проводить выкатки через GitOps, анализировать логи и метрики, диагностировать инциденты и участвовать в их разборах
- Проектировать REST API для внутренних сервисов и внешних интеграций
- Проводить и проходить проверку кода
- При желании разрабатывать функции на React целиком — от базы данных до интерфейса
требования
- Коммерческий опыт от 6 лет с Node.js и TypeScript, уверенное владение NestJS: модулями, DI, middleware, guards, interceptors и pipes
- Глубокое знание PostgreSQL: оптимизация запросов, индексы, EXPLAIN, транзакции, уровни изоляции и оконные функции
- Опыт работы с ORM и написания миграций, в том числе при параллельной работе старой и новой схем
- Практический опыт использования Redis для кэширования, очередей, ограничения частоты запросов и распределённых блокировок
- Умение работать с Docker: писать Dockerfile и docker-compose, отлаживать контейнеры
- Умение писать манифесты Kubernetes и самостоятельно разворачивать и поддерживать в K8s свой сервис
- Умение работать в Linux через терминал и проводить базовую диагностику сети
- Умение диагностировать проблемы баз данных через psql, анализировать логи и метрики
- Умение самостоятельно вести задачу от идеи до рабочей среды и разбирать чужой код на проверке
- Будет плюсом: React и фронтенд-стек, опыт проектирования мультитенантных систем, DevOps-навыки, опыт с нагруженными или сетевыми сервисами, расследования производственных инцидентов, понимание Clean Architecture и слоёной архитектуры, опыт работы с брокерами сообщений и внедрения телеметрии
условия
- Оклад по рынку с переиндексацией по итогам Performance review
- Компенсация обучения
- Гибкий график