Мы ищем fullstack-разработчика в команду frontend-инфраструктуры. Мы создаём инструменты, которые помогают фронтовым командам быстрее запускать сервисы, проще поддерживать их в production и меньше времени тратить на рутинную настройку сборки, CI/CD, локализации, контрактов и админских интерфейсов.
Наши пользователи — разработчики. Поэтому мы относимся к инфраструктурным инструментам как к полноценным продуктам: изучаем потребности команд, проектируем удобные сценарии, развиваем API и CLI, продумываем миграции и заботимся о качестве developer experience.
Мы разрабатываем и поддерживаем:
Почему у нас может быть интересно
Это позиция для разработчика, которому хочется влиять не только на отдельные фичи, но и на то, как устроена разработка в большом количестве команд.
Мы не просто выполняем заранее сформулированные задачи: у нас есть возможность самим находить проблемы в процессах, предлагать решения, выбирать технический подход и развивать инструменты как продукты. Результат работы быстро становится заметен: если инструмент стал удобнее, сборка — быстрее, миграция — проще или новый сервис запускается за минуты вместо часов, это напрямую влияет на работу десятков разработчиков.
Здесь много задач на стыке frontend, backend и инфраструктуры: Node.js-инструменты, кодогенерация, CI/CD, деплой, контракты, админки и developer experience.
Разрабатывать внутренние инструменты на Node.js и TypeScript
Основная часть работы — это написание npm-пакетов, CLI-утилит, плагинов для сборщиков и скриптов автоматизации. Инструменты должны быть не просто работающими, а поддерживаемыми: с понятной архитектурой, тестами и возможностью расширения. Важно думать не только о текущих задачах, но и о том, как инструмент будет развиваться и как с ним будут работать другие разработчики через полгода.
Развивать кодогенерацию CI/CD-конфигураций, сервисных шаблонов и типовых библиотек
Мы не пишем CI-конфиги руками для каждого сервиса — вместо этого команды описывают свои намерения в декларативном формате, а инструмент генерирует полноценные пайплайны для CI. Аналогичный подход применяется к шаблонам новых сервисов: каждый новый проект стартует с уже настроенной сборкой, линтингом, тестами и деплоем. Предстоит развивать эти генераторы, расширять покрытие типовых сценариев и обеспечивать плавные миграции при изменении стандартов.
Помогать фронтовым командам стандартизировать сборку, тестирование, деплой и мониторинг сервисов
Сотни проектов в бизнес-группе используют схожие подходы к сборке и деплою, но исторически каждая команда настраивала их по-своему. Наша задача — выработать общие стандарты и помочь командам перейти на них без боли: написать миграционные скрипты, предоставить готовые конфиги, провести ревью и ответить на вопросы. Результат — меньше расхождений между проектами, проще онбординг и легче поддержка.
Проектировать удобные интерфейсы для разработчиков: CLI, конфиги, API, документацию
Инструмент может решать правильную задачу, но быть неудобным, и тогда его не будут использовать. Поэтому мы уделяем внимание тому, как именно разработчик взаимодействует с нашими решениями: понятны ли команды CLI, информативны ли сообщения об ошибках, есть ли валидация конфигов с подсказками, насколько легко найти ответ в документации. Хороший developer experience — такая же часть задачи, как и корректная работа под капотом.
Разбираться в проблемах пользователей инструментов и находить системные решения
Пользователи наших инструментов — это другие разработчики, и работа с ними требует отдельного внимания: нужно слышать их запросы, воспроизводить проблемы, отличать симптом от причины. Точечные фиксы помогают одной команде, но мы стремимся к решениям, которые устраняют класс проблем сразу для всех. Это требует глубокого понимания контекста, готовности задавать вопросы и умения превращать размытый фидбэк в конкретные технические задачи.
Участвовать в развитии платформы, от которой зависит работа многих frontend-команд
Изменения в наших инструментах затрагивают сразу много команд, поэтому важно думать о совместимости, путях миграции и коммуникации при breaking changes. Предстоит участвовать в формировании roadmap, обсуждать приоритеты, предлагать технические решения и следить за тем, чтобы платформа развивалась последовательно. Это возможность влиять на стандарты разработки в масштабе всей бизнес-группы, а не только в рамках одного сервиса.
Больше о разработке в Яндексе — в канале Yandex for Developers