Title: Middle Full-Stack Developer (Next.js)
Company: Ruby Labs
Location: Ukraine / North Macedonia / Turkey / European Union / Serbia / Bosnia / Georgia / Remote
О НАС
Ruby Labs — ведущая технологическая компания, которая создает и управляет инновационными потребительскими продуктами. Мы предлагаем разнообразные возможности в сферах здравоохранения, образования и развлечений. Наши инновационные команды формируют будущее потребительских продуктов, и мы всегда ищем увлеченных специалистов, готовых присоединиться к нам. Узнайте больше о нашей истории:
О РОЛИ
Мы ищем дисциплинированного, высокоавтономного Middle Next.js Developer для создания и внедрения продуктовых фич в один из наших основных D2C-продуктов по подписке. Вы будете отвечать за фичи end-to-end в TypeScript monorepo — клиент Next.js App Router, API Fastify + Payload CMS на PostgreSQL и Cloudflare Workers на границе сети (edge) — с момента получения задачи, через её декомпозицию, оценку, реализацию, тестирование и настройку наблюдаемости (observability), до чистого релиза в продакшен и подтверждения, что это работает для реальных пользователей.
Это практическая инженерная роль, подходящая для тех, кто считает продакшен стандартом, а не конечной точкой. Код, протестированный наполовину, тихие сбои и непроверенный AI-сгенерированный вывод неприемлемы. Кодовая база строго следует конвенциям — многоуровневая структура Feature-Sliced Design с жесткими правилами импорта — и ожидается, что вы будете работать в рамках этих конвенций, а не в обход них. Вы несете ответственность за каждую взятую на себя задачу и за каждую область продукта, к которой прикасаетесь: если что-то ломается, регрессирует или остается незавершенным, это ваша забота. Мы ожидаем максимальной автономии и реального вовлечения в продукт — вы работаете самостоятельно в рамках спринта, сообщаете о рисках до того, как они станут блокерами, и эскалируете архитектурные решения старшим инженерам, а не додумываете сами.
КЛЮЧЕВЫЕ ОБЯЗАННОСТИ
РАЗРАБОТКА ФИЧ
- Создание фич для клиента Next.js и бэкенда Fastify + Payload CMS в соответствии с требованиями продукта
- Написание кода, следующего конвенциям команды по слоям Feature-Sliced Design, именованию и импорту
- Выпуск изменений через feature flags и A/B-тесты, полностью локализованных для каждого поддерживаемого языка
- Интеграция сторонних провайдеров — биллинг, email/CRM, аналитика — через REST API и вебхуки
КАЧЕСТВО И НАДЕЖНОСТЬ
- Покрытие функциональности unit-, integration- и e2e-тестами на уровне, ожидаемом командой
- Тщательный саморевью перед код-ревью и такой же строгий ревью кода коллег
- Исправление багов и проведение анализа первопричин повторяющихся проблем
- Оптимизация производительности страниц и эндпоинтов — стратегия рендеринга и кеширования, запросы к базе данных, размер бандла
БЕЗОПАСНОСТЬ И НАБЛЮДАЕМОСТЬ
- Применение практик безопасной разработки: валидация схем, контроль доступа, безопасное обращение с секретами
- Следование практикам наблюдаемости — структурированное логирование, метрики и алерты — с использованием существующего инструментария
СОТРУДНИЧЕСТВО
- Декомпозиция, оценка и выпуск собственных задач в продакшен в рамках спринта — и ответственность за них после релиза
- Ответственность за области продукта, над которыми вы работаете: их стабильность, производительность и последующие исправления
- Раннее письменное уведомление о необходимости уточнений требований, изменениях в оценке и рисках
- Эскалация сложных архитектурных решений и критических рисков старшим инженерам
ТРЕБОВАНИЯ
ОБЯЗАТЕЛЬНЫЙ ОПЫТ
- 2+ года коммерческого опыта работы с React, включая 1+ год с Next.js (App Router, Server Components, route handlers, стратегии рендеринга и кеширования) и уверенное знание TypeScript
- Опыт работы с бэкендом Node.js на типизированном HTTP-фреймворке (Fastify, Nest или Express) с PostgreSQL — проектирование REST API, миграции схем, интеграции через REST и вебхуки (верификация подписей, идемпотентность, повторные попытки) — плюс рабочее понимание HTTP/REST, механизмов аутентификации и основ веб-безопасности
- Практический опыт работы с современным клиентским стеком: TanStack Query, Zustand, React Hook Form + Zod, Tailwind CSS и библиотекой React-компонентов, такой как HeroUI, MUI или shadcn/ui
- Опыт работы с code-first headless CMS на PostgreSQL (Payload, Strapi, Directus или аналог) — коллекции, контроль доступа, сгенерированные типы, миграции
- Дисциплина тестирования и доставки: e2e-тесты (Cypress или Playwright) и unit/integration-тесты (Vitest или Jest), Git flow, код-ревью, работа с CI
- Ежедневное использование AI-инструментов для разработки (Claude Code или аналоги), включая их настройку для проекта — контекст, инструкции, правила, MCP/интеграции — с полной ответственностью за качество, безопасность и корректность сгенерированного кода
- Английский язык — B1+
ЛИДЕРСКИЕ КАЧЕСТВА
- Ответственность за результат — берет задачу от требования до продакшена, не ожидая указаний, и остается ответственным за результат и область, к которой он относится
- Максимально автономен и вовлечен — нуждается в цели, а не пошаговых инструкциях, и заботится о производительности продукта, а не только о закрытии тикета
- Проверяет, прежде чем доверять — относится к выводам AI, ответам сторонних сервисов и собственному коду как к недоказанным до их тестирования
- Структурированное общение — рано и письменно сообщает о рисках, блокерах и изменениях в оценке в удаленной команде
- Знает границы своей зоны ответственности — эскалирует архитектурные и безопасностные решения, вместо того чтобы импровизировать
- Учится на инцидентах — устраняет первопричину, а не только симптом
ЛОКАЦИЯ
Ruby Labs работает в зоне CET (Central European Time). Кандидаты из любой страны могут подать заявку на вакансию, если они находятся примерно в пределах ± 4 часов от CET. Это обеспечивает оптимальное сотрудничество и коммуникацию в рабочее время.
ПРЕИМУЩЕСТВА
Откройте для себя преимущества работы в нашей дружной команде! Мы предлагаем:
- Удаленная работа: Наслаждайтесь свободой работать где угодно и когда угодно, что способствует здоровому балансу между работой и личной жизнью.
- Неограниченный PTO: Наслаждайтесь неограниченным оплачиваемым отпуском для восстановления сил и заботы о своем самочувствии, не считая дни.
- Оплачиваемые национальные праздники: Отмечайте и отдыхайте в национальные праздники с оплачиваемым отпуском, чтобы расслабиться и восстановиться.
- MacBook от компании: Наслаждайтесь бесперебойной продуктивностью с первоклассными Apple MacBook, предоставляемыми всем сотрудникам, которым они необходимы.
- Гибкий договор независимого подрядчика: Получите преимущества гибкости, автономии и предпринимательских возможностей. Воспользуйтесь налоговыми льготами, возможностями для нетворкинга, снижением трудовых обязательств и свободой работать из любой точки мира. Читайте подробнее здесь:
Станьте частью нашей быстрорастущей команды и воспользуйтесь этой отличной возможностью для личного и профессионального роста!
ПРОЦЕСС СОБЕСЕДОВАНИЯ
После подачи заявки мы проводим тщательный отбор, который обычно занимает от 3 до 5 дней, но иногда может занять больше времени из-за большого объема полученных заявок. Если мы видим потенциальное соответствие, мы переходим к следующим этапам:
- Скрининг с рекрутером (40 минут)
- Техническое интервью (60 минут)
ЖИЗНЬ В RUBY LABS
В Ruby Labs мы движемся быстро, ставим высокие цели и ожидаем того же от нашей команды. Мы здесь не для того, чтобы играть в малом — мы здесь, чтобы строить, расти и побеждать. Это означает, что мы ищем людей амбициозных, целеустремленных и готовых выкладываться на полную каждый день.
Это место для тех, кто процветает под давлением, принимает вызовы и видит возможности в каждом препятствии. Если вы стремитесь к достижениям, мотивированы влиянием и хотите расти со скоростью своих амбиций, Ruby Labs предлагает платформу для этого.
Здесь усилия вознаграждаются. Мы признаем тех, кто выкладывается полностью и добивается результатов, и создаем пространство для людей, которые хотят большего — большей ответственности, большего роста и большего успеха.