Инженер по инфраструктуре AI-инструментов
Supabase — платформа разработки на Postgres, предлагающая готовое backend-решение: базу данных, аутентификацию, хранилище, Edge Functions, Realtime и Vector Search. Все сервисы глубоко интегрированы и рассчитаны на рост.
В команду AI Tooling ищут Software Engineer, AI Tooling Infrastructure. Команда разрабатывает и эксплуатирует backend-сервисы продуктов Supabase на базе ИИ, включая MCP-сервер, сервисы поддержки навыков агентов и ассистента в дашборде. Работа ведётся в тесном взаимодействии с командами Platform, SRE, Auth, Billing и Edge Functions, а также с инженерами, создающими продуктовые интерфейсы.
Команда AI Tooling самостоятельно эксплуатирует свои сервисы в продакшене и несёт дежурства. Трафик от ИИ-клиентов и агентов отличается от пользовательского: сотни вызовов в минуту, циклы повторных попыток, игнорирование предупреждений об устаревании. Роль отвечает за надёжность, корректную авторизацию и наблюдаемость этих сервисов. Это инфраструктурная и системная роль, а не продуктовая ИИ-роль и не SRE-роль: вы будете создавать и эксплуатировать системы, а не только консультировать по ним.
Задачи:
- Создавать и эксплуатировать production backend-сервисы продуктов Supabase на базе ИИ, включая MCP-сервер: развёртывание, масштабирование, конфигурирование и релизы.
- Отвечать за структуру сервисов, включая разделение или перестройку сервиса, когда это повышает безопасность эксплуатации и упрощает изменения.
- Определять, измерять и достигать целей по надёжности сервисов команды. Совместно с командой SRE устанавливать SLO, отслеживать error budget и на их основе приоритизировать исправления.
- Участвовать в дежурствах команды AI Tooling и быть первым реагирующим на инциденты в этих сервисах: расследовать, исправлять, координировать действия с другими командами, писать последующие действия и runbook'и.
- Работать с очередью поддержки команды AI Tooling параллельно с дежурствами и превращать повторяющиеся проблемы в исправления, а не в повторяющиеся ручные ответы.
- Отвечать за аутентификацию и авторизацию ИИ- и агентских клиентов: OAuth-приложения, токены с ограниченной областью действия и разрешения, подходящие как агентам, так и людям, включая изменение или отзыв разрешения без нарушения существующих интеграций.
- Отвечать за наблюдаемость сервисов команды: метрики, трассировки, логи, дашборды и алерты, чтобы выявлять проблемы раньше клиентов.
- Управлять ёмкостью и злоупотреблениями агентского трафика: ограничения скорости, контроль затрат и безопасности, поведение под нагрузкой и при деградации зависимостей.
- Улучшать архитектуру сервисов команды по мере их роста, включая разделение или перестройку сервиса для повышения безопасности эксплуатации и упрощения изменений.
- Взаимодействовать с командой Platform по общему коду, ревью и процессу релизов, а с командой SRE — по инфраструктуре, алертингу и практике инцидентов.
- Вносить вклад в код инструментов команды AI Tooling, например MCP-сервера, в части, влияющей на надёжность и безопасность, совместно с инженерами, отвечающими за продуктовый интерфейс.
Требования:
- 5+ лет опыта создания и эксплуатации backend-сервисов в продакшене и участия в дежурствах по ним.
- Уверенное владение TypeScript или Go и готовность работать со вторым языком.
- Опыт проектирования и эксплуатации API с реальными потребителями: версионирование, обработка ошибок, ограничение скорости, обратно совместимые изменения.
- Хорошее знание OAuth, OIDC, JWT и авторизации API, достаточное для отладки в продакшене и объяснения типичных отклонений реализаций от спецификации.
- Понимание PostgreSQL и реляционных баз данных.
- Уверенное владение CI/CD, Docker и контейнерными развёртываниями, а также infrastructure as code (инструмент не важен).
- Умение отлаживать межсервисные взаимодействия: прослеживать медленный или падающий запрос через несколько систем с помощью метрик, трассировок и логов.
- Ясная письменная коммуникация, работа с широким кругом стейкхолдеров, комфорт в асинхронных глобально распределённых командах.
- Способность работать в условиях неопределённости и быстро двигаться.
- Глубокий опыт как минимум в одном из направлений (нужно указать, в каком):
- API и авторизация: проектирование моделей разрешений, областей действия токенов или OAuth-потоков для сторонних или машинных клиентов, миграция без нарушения работы пользователей.
- Эксплуатация: самостоятельная эксплуатация production-сервисов, дежурства, написание алертов и runbook'ов, использование SLO или аналогичных подходов для приоритизации исправлений, снижение рисков общих систем со временем.
- Шлюзы и распределённые системы: создание или эксплуатация прокси или шлюзов, отладка сложных сбоев между сервисами (повторные попытки, частичные отказы, недоступность вышестоящих систем, решения fail-open или fail-closed), понимание нагрузки и деградации.
Будет плюсом:
- Опыт работы с агентскими инструментами (MCP или аналогичными) или обслуживания трафика от ИИ-агентов и LLM-клиентов.
- Опыт выноса сервиса из крупной кодовой базы с сохранением работы существующих клиентов.
- Опыт с Grafana, OpenTelemetry, Logflare или аналогичным стеком наблюдаемости и реальная работа с SLO.
- Вклад в open-source, особенно в Node.js, Go, TypeScript или инструменты для API.
Условия:
- Полностью удалённая работа. Найм по всему миру. Офисов Supabase нет, но предоставляется членство в WeWork или компенсация коворкинга в любой точке мира.
- ESOP: каждый член команды получает долю в компании.
- Бюджет на технику для организации рабочего места.
- Медицинская страховка: Supabase покрывает 100% для сотрудников и 80% для иждивенцев в любой стране.
- Ежегодные выездные встречи всей компании на неделю в новом городе.
- Гибкий график: асинхронная работа и самостоятельное управление временем.
- Ежегодный бюджет на профессиональное развитие: курсы, книги, конференции и другое.
О команде: Supabase — распределённая команда и open-source-проект. Около 400 сотрудников, более 60 стран, более 20 языков. Привлечено более $1 млрд (включая раунд Series F на $500 млн). Более 540 000 участников сообщества. Команда быстро движется, разрабатывает публично и использует то, что создаёт.