Connect with us

Разработка

Создавая бесшовный процесс: команда Developer Experience в Uber

В блоге Uber вышла статья, посвященная отделу, чья деятельность часто остается за кадром. Задача Dev Exp – создавать инструменты разработки и объединять их в единый автоматизированный процесс по тестированию и внедрению сервисов.

Анна Гуляева

Опубликовано

/

     
     

В блоге Uber вышла статья, посвященная отделу, чья деятельность часто остается за кадром. Задача Dev Exp – создавать инструменты разработки и объединять их в единый автоматизированный процесс по тестированию и внедрению сервисов.

Команда “опыта разработчиков” Uber (Developer Experience, Dev Exp) невидима для пользователей, но помогает инженерам создавать и развертывать масштабные технологии. Команды Dev Exp расположены в офисах компании в Сан-Франциско, Сиэтле и Вильнюсе. В них входят члены отделов Информационной платформы, Обучения и развития разработчиков, а также Фреймворков сервисов и языков. Эта группа технических писателей, преподавателей и разработчиков поддерживает инженеров при помощи документации, обучающих курсов, создания систем и фреймворков для разработки.

Чтобы узнать о команде больше, Uber проинтервьюировал Николая Сократова, главу отдела Dev Exp.

В чем заключаются ключевые обязанности команды?

Наши обязанности распространяются от обучения инженеров и менеджеров до предоставления технической документации и стандартизации процессов разработки.

Например, в нашей команде есть свои разработчики. Они создают различные инструменты для повышения продуктивности инженеров: системы разработки, интеграционные тесты, тестовые системы и фреймворки. Они также работают над масштабными проектами, которые управляют сервисами через облачные платформы и распределенные системы. У нас в команде не бывает скучно.

С какими вызовами вы сталкиваетесь при создании этих инструментов?

Они варьируются от простых организационных вопросов до проблем, связанных с созданием распределенных систем. На высшем уровне мы должны убеждать других людей, что эти инструменты упростят разработку.

К счастью, многие инженеры понимают это, так как используют наши системы постоянно для создания сложных сервисов. Наша работа во многом создает новые подходы для упрощения создания и тестирования сервисов Uber.

Можете ли вы привести конкретные примеры инструментов, которые вы создали по запросу разработчика?

Один из наших недавних проектов – новая система автоматизации. Она управляет более чем 40 инфраструктурными инструментами, объединяя их в один процесс, который полностью автоматизирует проверку кода от создания сервиса до его реализации. Разработчику нужно только написать код и залить его в систему.

Другой проект, которым мы действительно гордимся, это облачная платформа (похожая на AWS Lambda), которая позволяет разработчикам не переживать по поводу серверов, масштабируемости и пропускной способности системы  в дни высокого трафика, например, в канун Нового года и Хеллоуин.

Что вам больше всего нравится в работе в команде Dev Exp?

Когда инженеры тратят лишь часть своего времени на инфраструктуру сервиса, а сам этот слой становится невидимым; когда новый разработчик запускает сервис за несколько часов; когда разработчики реализуют свои идеи как масштабируемые системы без необходимости разбираться в распределенных системах или мучиться с упрощением этих сервисов – всё это очень приятно и соответствует культуре Uber, создающей волшебный опыт для наших клиентов (в данном случае, разработчиков).

На что похож день сотрудника команды DevExp?

Технические писатели проводят большую часть времени с разработчиками, чтобы лучше понять принципы работы систем для создания документации. Их задача – донести ценность этих сервисов до разработчиков и постоянно обновлять документы.

Преподаватели находят и устраняют пробелы в технических знаниях инженеров всех уровней с помощью постоянных образовательных программ. Они упрощают инженерное образование, создавая новые курсы для менеджеров, и помогают разработчикам развивать свои навыки, независимо от их опыта работы. Помимо нашей основной ориентационной программы для инженеров Core Engucation, мы проводим другие курсы на разные темы: от особенностей языков до написания статей для блога.

Разработчики в нашей команде упрощают и стандартизируют инструменты, которые позволяют нашим разработчикам создавать и компилировать код, проводить непрерывное тестирование, проводить интеграционные тесты для работающих сервисов и разрабатывать масштабные сервисы при помощи оркестровки и облачных фреймворков. В зависимости от стадии, на которой находится проект, разработчики придумывают идеи, обсуждают плюсы и минусы, создают прототипы, пишут код и поддерживают эти системы.

Работает ли ваша команда с каждым подразделением отдела разработки Uber?

Тем или иным способом, мы пытаемся связаться со всеми. В некоторых случаях мы работаем напрямую с командами разработчиков, иногда мы проводим опросы и выявляем проблемы или возможные кейсы. Так как в Uber работают тысячи инженеров по всему миру, наша цель – создать решения, которые будут направлены на решение их главных проблем, а не те, которые мы считаем нужным.

Как ваша команда настраивает разработчиков на успех?

Dev Exp фокусируется на устранении преград. Если вы посмотрите на процессы разработки в других компаниях, то увидите, что они используют отдельные инструменты для создания систем, интеграции, создания проекта, которые редко связаны между собой. Наша же цель – создать бесшовный процесс. Он должен быть очень простым, и мы устраняем множество узких мест вокруг создания новых сервисов. Например, процессы разработки, которые обычно требуют минимум пару месяцев, у нашего разработчика займут всего несколько часов.

Как вы думаете, в чем секрет способности вашей команды в устранении трудностей?

Мы хотим создавать не просто инструменты, а конечные решения, которые решат проблемы наших разработчиков. Наш приоритет – сделать опыт разработчика настолько комфортным, чтобы ему даже не пришлось об этом задумываться.

Во многих компаниях Developer Experience не выделен в отдельную группу. Команды создают инструменты разработки без цели объединить их в интегрированный процесс. Наша же команда позволяет разработчику внедрить свои идеи настолько быстро, насколько вы сможете написать для них код.

 

 

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Популярное

X
X

Спасибо!

Теперь редакторы в курсе.