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 не выделен в отдельную группу. Команды создают инструменты разработки без цели объединить их в интегрированный процесс. Наша же команда позволяет разработчику внедрить свои идеи настолько быстро, насколько вы сможете написать для них код.

 

 

Анна Гуляева
Комментарии Facebook
Продолжить чтение
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Обучение

Разработка iOS 11 приложений на Swift

Стэнфордский университет опубликовал новую версию курса по Swift в iTunes U.

Леонид Боголюбов

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

/

В новом курсе учтены все изменения, сделанные в iOS 11 и новой версии Swift.

Темы:

  • Инструменты и API, которые понадобятся для разработки приложений для iPhone и iPad/
  • Пользовательский интерфейс.
  • MVC-парадигма.
  • Анимации.
  • Многопоточность.
  • Работа с сетью.

Курс бесплатен и доступен для прохождения на iPhone и iPad. Язык – английский.

 

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Новости

Интересные материалы: 16.11

Лучшие материалы о разработке и маркетинге технологических продуктов.

Леонид Боголюбов

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

/

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Разработка

Почему не надо патентовать идею мобильного приложения

Студия AppCraft рассказала нам, стоит ли патентовать идею мобильного приложения, а если нет, то как лучше подойти к развитию своего продукта.

AppCraft

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

/

Автор:

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

В этой статье мы тезисно перечислим причины этого не делать.

Что такое патент

Патент – это охранный документ, удостоверяющий исключительное право, авторство и приоритет изобретения, полезной модели либо промышленного образца. В случае с разработкой мобильного приложения, являющегося программным обеспечением, получить патент в России и Европе на алгоритмическую часть (непосредственно программу) не удастся: статья 52 европейской патентной конвенции прямо запрещает патентование программ для ЭВМ.

Поэтому в случае с мобильными приложениями, как правило, защищается не сам продукт, а общая идея функционирования сервиса, отражающая некоторую новизну подхода к решению той или иной задачи. Запатентовать код тоже можно, но только в некоторых юрисдикциях, например, в США или Южной Корее.

Это долго и дорого

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

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

Вы потратите минимум 50–100 тысяч рублей (если часть работы будете делать самостоятельно) и не меньше 3–4 месяцев, если делать все очень быстро.

После этого вы можете получить отказ на регистрацию от патентного бюро, потому что описание недостаточно детальное, не содержит инновационности, дублирует уже существующие патенты и т.д. Только 56% патентов регистрируется, соответственно, 44% – отклоняется.

При этом, по статистике, 97% (!) патентов генерируют прибыли меньше, чем стоимость их оформления.

Вы патентуете не то, что нужно

Практически всегда желание защитить бизнес возникает на стадии первой идеи. Как только прошло достаточно времени на обдумывание плана, сразу возникает мысль о защите еще будущего предприятия. Желание понятно, однако идея и ее реализация – всегда разные вещи.

Пол Грэм, один из известнейших предпринимателей в IT и основатель Y Combinator, говорит, что по его опыту от 70 до 100% проектов имеют разные ключевые идеи на старте и через 3 месяца операционной работы.

Так происходит из-за того, что бизнес – это решение реальных проблем. Он развивается и растет в синергии с потребностями людей, которые:

  1. вам досконально неизвестны на стадии идеи;
  2. меняются со временем;
  3. решаются так, как хочется им, а не вам.

Как только вы начнете запускать идею, с вероятностью близкой к 100% вам придется если не полностью изменить вашу задумку, то значительно ее переработать. Зачем в этом случае патентовать в самом начале то, от чего в последствие вы сами откажетесь?

Забывается главное

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

Фокусируясь на защите идеи, вы сразу же отстаете в скорости ее развития и реализации.

Патент – не единственный способ защититься

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

  • Купите домен с именем продукта. Хорошее имя дает сильный эффект, а при решении любых споров покупка вашего домена в более ранний срок, чем оформление торговой марки конкурента, решает многие вопросы.
  • Создайте группы в социальных сетях с названием проекта. Как и в случае с доменом, хорошие названия имеют и хорошие поисковые позиции, и неплохо запоминаются, и становятся недоступны конкурентам.
  • Зарегистрируйте торговую марку. Это не быстро в некоторых юрисдикциях (например, в России), но во многих странах осуществляется в течение нескольких дней и с минимальными затратами.

Итого

Патентовать изобретения важно и нужно, но это совершенно не то, что стоит делать первым делом, когда вы занимаетесь стартапом. Многие компании стали заниматься защитой интеллектуальной собственности только после того, как начали генерировать прибыль.

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

AppCraft
Комментарии Facebook
Продолжить чтение




Календарь

ноябрь

17ноя - 19Весь деньТИЛТЕХ МЕДХАК

24ноя - 26Весь деньWhat the hack?!

25нояВесь деньSmart Taler 2017

25нояВесь деньLadies Code: время технологий

30нояВесь деньSmart Cars & Roads 2017

декабрь

5дек18:30- 22:00Яндекс изнутри: глазами iOS-разработчика

8дек - 9Весь деньКубок СTF России

9дек - 10Весь деньGames Gathering 2017

9декВесь деньЛекционный день по игровой индустрии

Наша рассылка

Каждому подписавшемуся - "1 час на UI аудит": бесплатный ускоренный курс для разработчиков веб и мобильных приложений!

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Наш Facebook

Популярное

X

Спасибо!

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