«Разборки»: масштабируем экспертизу без отрыва от производства
Как разработчики VK обмениваются знаниями, показывая реальный интерфейс, и решают задачи на месте
Внутри компании VK разработано множество собственных инструментов. Это следствие технологической стратегии компании: вместо того, чтобы каждая команда писала для себя одно и то же, решения централизуют — собирают в общие сервисы, доступные всем командам разработки. Подход рабочий, но у него есть и обратная сторона: ко внутренним инструментам нет видеороликов от сообщества, нет руководств на Хабре, нет обсуждений на форумах, в которых можно нагуглить ответы. То есть инструменты есть, но погружение в них трудоёмкое и часто требует плотного общения с разработчиками. Раньше обучение в компании строилось иначе, это работало для общих навыков, но не для внутренней специфики. Нужен был формат, который позволяет быстро передавать внутреннюю экспертизу: собрать мероприятие, провести его и дать людям конкретный результат, не растягивая это на месяцы подготовки полноценного курса.
Так появились «Разборки».
Что за «Разборки»
«Разборки» — это мероприятие на час-полтора, на котором докладчик показывает, как с помощью конкретного инструмента закрыть рабочую задачу уже сегодня. Ключевое отличие от митапов, демо-дней и прочих форматов в том, что здесь почти нет презентаций. Докладчик на реальном интерфейсе показывает всё, что можно показать: какие кнопки нажимать, какие сценарии проходить, как настраивать.
Название «Разборки» выбрано намеренно. Это самостоятельный формат, не загоняющий в рамки привычных демо, митапов, мастер-классов. Мы разбираем суть инструмента и сталкиваем его с реальными условиями окружения, решая насущные задачи через обучение.
Докладчиком становится человек, который лучше всего владеет темой, будь то руководитель команды, владелец инструмента или рядовой разработчик. Привязки к должности нет, есть привязка к экспертизе.
Формат максимально интерактивный. В каждых «Разборках» есть две сессии вопросов, и это не вопросы в духе «куда планируете развиваться», а предметно-практические: «покажи, как сделать вот это».
Как всё устроено
От запроса «нам нужны Разборки» до их проведения проходит две недели. Сначала организаторы и эксперт созваниваются, чтобы утвердить тему и понять занятость друг друга. Потом эксперт готовит примерное наполнение своего выступления, формулируя образовательную задачу с позиции слушателей. Через неделю созваниваются вновь и обсуждают наброски, собирают конкретную структуру. Одновременно из записи звонка делают «нейровыжимку» (в VK Звонках переводят речь в текст) и краткий примерный сценарий. После этого докладчик готовит черновую презентацию и материалы.
Организаторы оперативно подхватывают материалы и финально их «упаковывают». В итоге уже по окончании второй недели проводят финальный прогон совместно с тренером по публичным выступлениям.
Как рождаются темы «Разборок»:
- Часто возникает необходимость разобрать централизованные инструменты, особенно разработанные внутри VK. Можно очень долго обсуждать в узком кругу, какие изменения произошли в компиляторе Go или как RedHat делает OpenStack, забывая обо всех остальных, но это уже не для «Разборок». Индустриальные новости можно почитать много где ещё, а про то, что разработано внутри VK, кроме нас же самих рассказать некому.
- Обратная связь от разработчиков: организаторы активно общаются с командами просто по ходу работы, и на основе полученной информации можно понять, где ещё нужно «Разобраться».
- Есть форма, в которой любой сотрудник может написать, что «болит», и запросить тему для новых «Разборок».
Есть также и общий для «Разборок» принцип: тема должна быть прикладной и рассказывать про навык или инструмент, который нужен бизнесу.
«Разборки» и курсы: в чём разница?
Появление «Разборок» по какой-либо теме не означает, что курса по ней не будет. Скорее, наоборот: «Разборки» помогают понять, для какой темы необходим курс и насколько быстро. Сотрудники голосуют за важные темы своим временем и вниманием. Если у какого-то выпуска «Разборок» достаточно посещений, то в дальнейшем на его основе появится полноценный курс.
Есть и второй момент: инструменты постоянно улучшаются, и по некоторым делать курс бывает рано — через полгода всё равно придётся переделывать, возможно и того раньше. А суть «Разборок» как раз в том, чтобы объяснить, как решать конкретные задачи прямо сейчас, в текущей версии.
Если материала слишком много для одного мероприятия, то проводят двое «Разборок», или одни базовые и параллельно планируют курс. Ниже кратко расскажем про несколько тем, к которым коллеги возвращаются и по сегодняшний день.
Кейс: Tracer
Tracer (Трейсер) — сервис аналитики ошибок, разработанный VK, позволяющий собирать и анализировать отчеты, находить сбои, зависания и утечки памяти на всех типах платформ.
Это тот случай, когда мы заранее прощупали, что инструмент нужен всем. Совпало удачно: только вышла новость, что вся компания переходит на Трейсер как на ключевую технологию и «единый сторож инцидентов», как через неделю у нас уже были готовы первые «Разборки». Пока на мероприятиях других форматов вроде демо-дней или митапов просто рассказывали, «что мы такое» и куда идём, на «Разборках» мы решали прикладную задачу: как этим пользоваться и применять в работе прямо сейчас.
По сути, мы уложили полноценный курс в разовое мероприятие на полтора часа. Первые «Разборки» были, скорее, ознакомительными: изучали интерфейс, какие задачи он решает и как там вообще кликать кнопочки. Вторая встреча была уже больше разрабо-ориентированная, про углублённое изучение и работу со своим SDK. Мы предметно разбирали, как переписывать код и как пользоваться всеми фичами на уровне сборки проекта.
Кейс: транспортный слой (TL)
TL — инструмент, отвечающий за транспорт между микросервисами, то есть за то, как отдельные части системы обмениваются данными друг с другом. После обновления транспортного слоя стало понятно, что разработчикам сложно перестроиться, поэтому мы провели отдельные «Разборки»: полтора часа про организацию взаимодействия между сервисами так, как рекомендует PaaS (Platform as a Service — единая инфраструктурная платформа VK).
Этими «Разборками» мы закрыли пробел в знаниях у двух категорий сотрудников: тех, кто переходил с KPHP (внутреннего диалекта PHP, используемого в VK) на Go, и тех, кого нанимали на этот стек.
Кейс: OneFlow
OneFlow — внутренний инструмент автоматизации для аналитиков, предназначенный для «переливки» данных и связанных задач. По нему мы провели целых две «Разборки»: первые — обзорные, про базовую автоматизацию: что за инструмент, как решать типовые задачи; вторые — углублённые, уже с кодом: как инструмент настраивается «под капотом», что можно самостоятельно кастомизировать.
Немного фактов
За восемь месяцев существования формата прошло 25 «Разборок». Они собрали 1738 посетителей (не обязательно очно, часть мероприятий проходила в формате звонка). Сверх этого записи набрали более 3300 просмотров.
После каждых «Разборок» остаётся набор артефактов: запись; краткая выжимка, которую продуктовая команда может забрать себе в документацию; статья во внутренних каналах с пересказом (если тема обширная) и набор полезных ссылок.
Записи не встроены в обязательный трек обучения — это рекомендация. Но, например, команда One-cloud забрала все записи связанных «Разборок» к себе в документацию. Если потребность в систематическом обучении по теме становится очевидной, то мы записываем отдельный курс на основе имеющихся материалов.
Самые популярные записи — по инструментам из пула централизованных технологий.
Что не подошло
Были «Разборки», которые собрали мало людей — по инструментам, которые до этого не освещали внутри компании. Из этого мы сделали вывод, что формат закрывает конкретные проблемы, а не продвигает то, о чём люди ещё не знают.
Что в итоге получилось
Мы собрали настоящий «завод» по производству «Разборок». Весь цикл от заявки до эфира у нас теперь занимает ровно две недели, а разработчик отвлекается от своих задач суммарно часов на восемь — приемлемая цена за трансляцию экспертизы на всю компанию, вместо индивидуального и хаотичного обучения в частном порядке, после которого и следов не остаётся.
Формат окончательно устоялся как способ решать прикладные задачи здесь и сейчас. Люди приходят на «Разборки» только тогда, когда им реально нужно работать с инструментом, а не когда им просто рассказывают о его существовании. Никакой «презентационной шелухи», только живой интерфейс и реальные сценарии. Каждая такая встреча превращается, по сути, в готовый адаптационный мини-курс, который остаётся в базе знаний.
Если же вам интересно дальше следить за внутренней кухней VK и тем, как мы пытаемся её не сломать, то заходите на наш карьерный портал, где узнаете больше о команде. Также на портале собраны ссылки на все актуальные сообщества для разработчиков от команды VK: