Карьера

Алгоритм результативной удаленной работы с джуниор-разработчиками

Алгоритм результативной удаленной работы с джуниор-разработчиками главное изображение

Пандемия всех спасет

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

Натолкнулся в сети на дискуссию вроде бы взрослой компании по разработке, где и проекты мирового уровня, и прочее. Так вот, персонаж всем оркестром разыскивал софт, при котором на удаленном режиме тимлиду будет удобно «смотреть в монитор джуна» в любое время, да так, чтобы это не мешало джуну. Предложенный кем-то тимвьювер оказался виден на экране, а надо, чтобы был незаметным.

Вот какие у них там дела, сами делайте выводы.

Работа на удаленке

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

Что моментально показывает, а я бы сказал, предъявляет как факт просто наглядно, абсолютное отсутствие связи между процессом обучения и какими-то результатами «обученности».

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

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

А фактические — это что сделали, то сделали, вот пятничный релиз, а вот тут будет пивот. Как стрелять в тире, попасть в дерево рядом и сказать: «Я туда и целился, решил проверить, пробьет ли эту кору».

Аджайл-то голый!

Разгул вольных трактовок в свою сторону гибких методик разработок привели к тому, что созвоны и стендапы большую часть времени тратят на статус-обмен и передачу информации «о разработке» или «о работах» или «о продукте». На самое решение остается меньше 5% рабочего времени митинга, или времени не остается вообще.

Тайминг по растрате рабочего времени, потери передачи смыслов из-за когнитивных искажений человеческой природы, растущего объема информации, недоступного для голосовой передачи, образовательные проблемы в точности формулировок задач, — в сегодняшней ситуации принудительной «результативной» удаленки хорошо показывают нам, кто на самом деле «купался голым».

Есть прекрасный порядок работ от Хекслета, и я настоятельно рекомендую его придерживаться. Но есть один момент — в Хекслете, насколько я знаю, не работают джуны.

Если мы встретим хорошие команды, как правило, там хорошо платят, но берут туда только крепких мидлов (редко) или в основном хороших сеньоров.

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

  • автоматически не выдает результат сам, и продукт не поставляется;
  • блокирует тимлидов на постоянное отвлечение, и продукт не поставляется.

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

То есть «ввод в эксплуатацию джуна» — это дорого, долго и часто не гарантировано. Именно поэтому только крупные компании готовы взять на борт джунов с платным обучением. А таких компаний в принципе не так много.

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

Практика удаленной работы с джунами от «Мьёльнира»

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

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

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

Интересный момент заключается в том, что работает это как в офлайне, и точно так же переносится в онлайн на любых удобных для вас инструментах и трекерах.

Это практика, которую надо применить и выполнять. Если ее нет, в монитор не наглядишься.

Прекондишнс

Итак, человек-джун — это человек, получивший «корпус знаний» по нужной специализации, что подтверждено курсами / преподавателями / какими-то артефактами. У этого человека нет коммерческого опыта — периода, за который по этой специализации ему регулярно платили деньги.

Человек-джун врубается в предмет, но он как всегда тонет в контексте его применения в конкретном реальном месте. При этом джун должен развиваться. Желательно эффективно, то есть очень быстро, а не просто «побыстрее».

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

Основная задача роста джуна — научится самостоятельно решать возникшие проблемы. Ключевой для этого навык — поиск ответов на вопросы. Этот навык тренируется. Если это происходит «об тимлида», тогда вы размазываете рост джуна и время тимлида, превращая последнего в няньку.

Постоянно наблюдаю, как в этой обстановке (при таких условиях) джуны, что понаглее в целом в жизни, садятся на шею некоторым так, что тимлид становится вместо гугла такой голосовой «Алисой» и нянькой по каждому чиху.

Вот выше предлагается в монитор смотреть. Надо ли им рассказывать, что для этого есть код-ревью и сеансы парного программирования?

О парном я сейчас не буду, считаю это той самой попыткой перенести офлайн-практику «мастер-подмастерье» в онлайн as is. Это чисто по желанию — кому-то это нравится, как развлечение норм.

Общие основания

  1. Джун — точно такой же работник, как и все его коллеги. Он должен регулярно выдавать потребляемые результаты своей работы.
  2. Джун имеет абсолютное неотъемлемое право что-то не знать.
  3. Вопросы о том, что он что-то не знает поощряются, и джуну требуется их задавать, а тимлиду на них отвечать.
  4. Если джун не задает вопросов и поставляет результаты в течении трех часов, джун растет, и это поощряется.
  5. Если джун не задает вопросов и не поставляет результаты в течении трех часов, джун тихо зарылся, и это наказывается.
  6. Джун задает вопросы, применяя практику «порядок получения ответа на вопрос».

Порядок получения ответа на вопрос

  1. Вопрос сформулирован: что не получается, где не получается, что надо сделать, дополнительные детали по желанию.
  2. Поиск по корпоративной вики решенных проблем: если найден ответ — ок, нет — идем дальше.
  3. Поиск по справочным материалам технологии/фреймворка: если найден ответ — ок, нет — идем дальше.
  4. Поиск в issues технологии/фреймворка: если найден ответ — ок, нет — идем дальше.
  5. Поиск в гугле по запросу «вопрос + технология + платформа»: если найден ответ — ок, нет — идем дальше.
  6. Если дошли до этого пункта: формулировка тикета на рисерч/ответ. Формулировка из первого пункта плюс пути мысленного решения: хочу сделать это, пробовал так и так, это не получается. Плюс заполняются результаты поиска: искал тут и тут, нашел только это, но не получилось.

Мониторинг тикетов тимлидом

  1. Ссылку на документацию и так далее, плюс решение «учителя»: сразу, не мучая человека, и закрывает тикет по форме. Ставит тему, технологию, метки/прочее для облегчения поиска. Так наполняется вики.
  2. Создает тикет на обучение по этой теме: дает ссылку на конкретный урок какого-либо курса обучения. Я рекомендую Хекслет, он показывает качество обучаемого. Если курса нет, в любом другом месте — вебинар/гайд/тутор.

Рабочий режим человека-джуна

  1. С утра проходит обучение по открытым тимлидом тикетам, завершает мини отчетом: что он вынес из урока по теме. Абзац текста.
  2. Берет в работу задачу в трекере.
  3. Если есть вопросы и джун выписывает тикет на рисерч, он переключается на новую задачу.
  4. Если в течение часа нет рисерч-тикета, значит результат по задаче «ожидается».
  5. Если в течение трех часов нет результата, тимлид прописывает страйк.
  6. Если нет результата и нет рисерч-тикета, двойной страйк.

Рабочий режим тимлида

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

  1. Отрисерчить открытые рисерч-тикеты (максимум час).
  2. Отревьювить и принять открытые задачи (максимум час).
  3. Обновить у себя рейтинги джунов (страйки и выполненные задачи).
  4. Обеспечить пул задач (исходя из дел основного рабочего дня) для джунов на сутки вперед (лучше больше), с расчетом «1 джун x 4» доступные задачи на день.

Постановка задачи тим-лидом

Тимлид ставит задачу, которую можно решить за три часа максимум:

  1. Час на анализ ситуации и выработку решения.
  2. Час на изготовление решения.
  3. Час на оформление и доставку результата на ревью.

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

Эффективность такого подхода

Её можно измерить следующим:

  1. Снижение количества лени или страха при поиске новой информации.
  2. Наличие стрессовых (по делу) ситуаций резко повышают внимательность и остроту восприятия, и многое другого есть по теме.
  3. Человек-джун растет как самостоятельная личность — режим самостоятельного активно-принудительно рисерчера в сложных ситуациях учит человека-джуна на деле принимать на себя ответственность за свой рост и результаты.
  4. Хитрая перестановка и декомпозиция «информационного конвейера работ» дает нам взрывной рост производительности обучения и закрепления в профессии.
  5. Скорость погружения в профессию также растет, потому что обучение и закрепление происходит с настоящей практикой (работой): присутствуют все эмоции и страхи, весь нужный контекст и нужная точечная помощь в форме удочки, а не рыбы.
  6. Результативный и качественный «ввод человека-джуна в эксплуатацию» занимает максимум две недели вместо двух месяцев.
  7. Все это на раз-два разворачивается в ваших трекерах и вики.
  8. Работает одинаково эффективно в офисе и на удаленке.
  9. Есть точки измерения эффективности: стройте геймификацию в любые стороны и замеряйте настоящий результат развития человека.

Результат

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

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →