Full-Stack разработчик React TypeScript SQL
Клиент — удалённая продуктовая студия, которая с 2020 года создаёт MVP и заказное ПО для стартапов и компаний. Клиенты нанимают студию для MVP с фиксированным объёмом работ или для продуктовой команды с оплатой по двухнедельным спринтам. Вся команда ежедневно использует инструменты ИИ для написания кода.
Роль предполагает работу над workflow-системой для одного из клиентов студии: живой продукт, которому нужны новые функции, при этом существующие должны продолжать работать. Инженеры клиента коммитят в тот же репозиторий, поэтому каждая новая таблица, разрешение и workflow добавляются рядом с кодом, который меняет кто-то другой. Основной упор — на серверную часть: от базы данных SQL на Azure до API; также вы разрабатываете экраны на React и TypeScript. Инструменты ИИ для написания кода готовят большую часть спецификаций, тестов и миграций. Вы направляете их, построчно читаете каждый diff и отвечаете за то, что попадает в merge. Если вы предпочитаете писать большую часть кода вручную, эта роль, вероятно, не подходит.
Вы подчиняетесь руководству студии и ежедневно работаете с ведущим разработчиком и продакт-менеджером, который устанавливает критерии приёмки для каждого спринта. Успех означает поставку четырёх-пяти функций за двухнедельный спринт, каждую с проверкой перед merge, и владение одной областью продукта от начала до конца (например, движком задач или миграцией с устаревшей системы) без поломки работающих функций.
Задачи:
- Расширять производственную базу данных SQL на Azure новыми таблицами, разрешениями и версионируемыми записями.
- Писать серверные правила workflow: конечные автоматы, этапы согласования и независимые шаги проверки.
- Обеспечивать ролевой доступ по компании и назначению как на уровне базы данных, так и на уровне API.
- Создавать журнал аудита, защиту от устаревших записей и идемпотентные эндпоинты, чтобы повторный запрос не дублировал данные.
- Разрабатывать очереди работ, инструменты массового назначения и дашборды на React и TypeScript.
- Интегрировать провайдеров email, SMS и файлового хранилища, проектировать API синхронизации, которые вызывает мобильное приложение.
- Писать миграции из устаревших источников с отчётами сверки и шагом проверки дубликатов.
- Разбивать объём спринта на небольшие PR и проверять каждый критерий приёмки перед merge.
Требования:
- 4+ года создания full-stack веб-приложений и выпуска их в производство.
- Опыт работы в кодовой базе, которую вы не писали, с изучением её соглашений перед изменениями.
- Практический опыт работы над workflow-системами, где разные роли пользователей видят разные данные, с согласованиями, очередями задач или конечными автоматами, а также журналом аудита или версионируемой историей.
- React, TypeScript и SQL на Azure, включая проектирование схем и миграции.
- Ежедневное использование Cursor, Claude Code или аналогичного инструмента ИИ для написания кода в производственной работе, с тестами и CI.
- Свободное владение письменным и устным английским: PR, в которых указано, что изменилось, почему и как это тестировалось, а также объяснение компромиссов инженерам другой команды.
- Опыт поставки в спринтах с фиксированным объёмом работ с использованием веток, код-ревью и фича-флагов.
Бонусы:
- Работа в регулируемой среде, например в финансах, здравоохранении или страховании.
- Миграция с устаревшей системы со сверкой и проверкой дубликатов.
- Опыт работы внешним подрядчиком, коммитящим в репозиторий клиента.
- Правила проекта, кастомные промпты или настройки агентов для инструментов ИИ, принятые командой.
- Испанский язык, так как платформа двуязычная.
Условия:
- Полностью удалённая контракторская роль из Латинской Америки, полная занятость около 40 часов в неделю.
- Основные часы в часовых поясах США, чтобы рабочий день пересекался с ведущим разработчиком и продакт-менеджером.
- Область продукта для полного владения, проекты схем проверяются ведущим разработчиком и инженерами клиента.
- Команда, где AI-first подход уже является ежедневной практикой, а тесты, CI и фича-флаги — часть обычного процесса.
- Старт в начале ноября.
Этапы собеседования:
- Вводный звонок: 30 минут.
- Скрининг с руководством: короткий звонок, возможно с асинхронной частью.
- Разговор о продукте и разработке: как вы ведёте функции от критериев приёмки до merge.
- Тестовое задание: одна функция, близкая к реальному объёму работ, с реализацией и проверкой.