описание
Talana Labs создаёт повседневные цифровые продукты, которые помогают интернету работать как нужно. Некоторые продукты объединены в общую сеть, другие развиваются самостоятельно. Одно из направлений — сервис в Telegram с Mini App и ботом, где пользователи выбирают и оплачивают услуги, получают результат и управляют им.
задачи
- Вести функции от схемы базы данных и миграции до рабочего экрана в Mini App
- Разрабатывать пользовательские и административные функции
- Улучшать кодовую базу: проводить рефакторинг, выравнивать абстракции и устранять прежние решения
- Исправлять ошибки на стыке оплаты, внешнего провайдера, фронтенда и бэкенда
- Профилировать запросы, рендеры, очереди и синхронизацию данных с провайдером
- Писать модульные, интеграционные и при необходимости нагрузочные тесты
- Разбирать макрозадачи, защищать технические решения, реализовывать функции и доводить их до выпуска
- Проверять код, созданный с помощью AI, соблюдать существующие абстракции и защищать решения на ревью
- Конструктивно обсуждать разногласия с тимлидом и соблюдать договорённости команды
- Принимать решения при неполном техническом задании и соотносить решение с масштабом задачи
- Самостоятельно сообщать о блокерах, включая неясные требования, пробелы в доменной модели и финансовые риски
- Кратко сообщать контекст, варианты, рекомендации и статус работы
- Закрывать задачи на фронтенде и бэкенде, когда это необходимо
требования
- Уверенно владеть TypeScript: использовать дженерики, объединения с различающимися типами и сужение типов, работать в строгом режиме без обхода типизации через `as any`
- Уметь читать и развивать чужой модульный код
- Уметь работать с Git, вести понятные коммиты и запросы на слияние, разрешать конфликты в монорепозитории
- Знать NestJS: модули, внедрение зависимостей, guards, pipes, interceptors и фоновые processors
- Иметь практический опыт с PostgreSQL: транзакции, уникальные ограничения, индексы, статусы сущностей и идемпотентные вебхуки
- Быть готовым работать с SQL или построителем запросов без ORM
- Уметь интегрировать внешние HTTP API, работать с подписями и HMAC, пагинацией, преобразованием моделей, таймаутами и ошибками
- Знать BullMQ и Redis, понимать, какие операции нельзя выполнять синхронно в HTTP-запросе
- Знать React, хуки, контекст и хранилища состояния
- Знать React Router и TanStack Query
- Уметь работать с Vite, Tailwind и shadcn/ui, аккуратно вёрстать интерфейсы для мобильного WebView
- Уметь тестировать логику интерфейса с Testing Library, Vitest или аналогами и быть готовым внедрить тестовую среду
- Понимать экосистему Telegram как продуктового канала: Mini App и бот
- Быть готовым работать с тестами, Docker и манифестами Kubernetes
- Не быть разработчиком только фронтенда или только бэкенда без готовности работать с соседним слоем
- Не нуждаться в пошаговой постановке каждой задачи и доводить функции до слияния
- Не начинать каждое изменение с внедрения нового фреймворка, ORM или менеджера состояния
- Не обходить рекомендации и обсуждать решения с тимлидом
- Не переносить код, созданный AI, без понимания его работы
условия
- Оклад на уровне рынка с пересмотром по итогам Performance Review
- Компенсация расходов на обучение
- Гибкий график