Codenv

Язык буткемпа: Go

Когда разработчик приходит в новый проект, будь то новая компания или соседняя команда, ему нужно не только погрузиться в кодовую базу, но и настроить себе полноценное рабочее окружение от VCS и до IDE. Иногда этот процесс занимает довольно продолжительное время, которое особенно хочется сэкономить на масштабах большой компании — в Яндексе работают тысячи разработчиков. Для решения этой задачи мы сделали Codenv — это сервис «IDE по кнопке», который создаёт полностью готовое к работе удалённое окружение для разработки за пару минут. Помимо быстрого старта мы также обеспечиваем разработчиков быстрым железом, чтобы сборка и тесты занимали минимум времени и не загружали ноутбук в процессе.

Наш сервис написан на Go с использованием микросервисной архитектуры. Мы глубоко погружаемся в технологии виртуализации и контенеризации и Linux-сервисы.

Стек

Golang + go-swagger и немного bash для CI.

Команда

У нас распределённая команда из четырёх разработчиков и менеджера: Москва (1), Санкт-Петербург (1), Белград (1) и удалёнка (2). Мы уже давно работаем в распределённом и удалённом режиме, поэтому хорошо научились с этим справляться: у нас есть стендапы через день и созвоны по необходимости.

Особенности

  • Remote IDE — это будущее разработки в Яндексе и один из флагманских проектов YPE (Yandex Platform Engineering).
  • Мы хотим повысить эффективность каждого разработчика в компании — и у вас будет возможность непосредственно влиять на это.
  • Мы каждый день пользуемся сервисом, который разрабатываем и гордимся им.
  • Cloud IDE — популярная и всё более востребованная во всём мире тема.
  • У вас будет возможность расширить кругозор большим количеством смежных технологий и потрогать не только сервер-сайд разработку, но cli, Linux и виртуализацию.

Что нужно принять во внимание

Codenv — это молодой проект, который пока работает в режиме стартапа: у вас будет возможность значительно влиять на развитие продукта, но вы должны быть готовы экспериментировать и гибко менять планы.

Вызовы

  • Remote IDE — новая тема в инфраструктуре разработки, поэтому многие решения нужно самостоятельно придумывать с нуля.
  • Разработчики достаточно консервативны в выборе инструментов и нужно прилагать усилия к популяризации сервиса.
  • Наша задача — сделать масштабный, высоконагруженный и надёжный сервис, не пытаясь при этом просто «залить железом» все проблемы.
  • Тысячи внутренних разработчиков имеют свои и зачастую противоположные запросы к сервису. Наша задача — услышать всех и найти оптимальное решение.

Дополнительные материалы

Итоги опроса разработчиков про разработку на удалённых машинах от JetBrains

Как используют remote development в Uber

Рассказ про устройство нашего внутреннего монорепозитория

Предыдущая
Следующая