arrow_backVšechny články

Onboarding vývojáře: jak nového programátora zapracovat rychle a bez chaosu

· Josef Chmel

Onboarding vývojáře: jak nového programátora zapracovat rychle a bez chaosu

Nový vývojář je drahý, dokud se nezapracuje. Co ho podle výzkumů Googlu a Microsoftu brzdí nejvíc, co mu skutečně pomáhá a jak naplánovat jeho první měsíc.

Najít dobrého vývojáře dá práci. Jenže podpisem smlouvy to nekončí: dokud se nový člověk nezorientuje v kódu, nástrojích a v tom, jak tým pracuje, platíte plnou mzdu za zlomek výkonu a k tomu čas seniorů, kteří mu pomáhají. Onboarding vývojáře proto není personální formalita, ale jedna z nejlevnějších investic, jakou šéf softwarové firmy může udělat. Podívejme se, co o zapracování programátorů zjistily výzkumné týmy Googlu a Microsoftu a jak z toho poskládat praktický plán.

Co nováčka brzdí nejvíc

Výzkumníci z Googlu (Collin Green, Ciera Jaspan a kolegové) zkoumali, jak se vývojáři zapracovávají, a výsledky shrnuli v časopise IEEE Software. Jako tři největší překážky při zapracování vyšly:

  1. učení nové technologie,
  2. chybějící nebo špatná dokumentace,
  3. hledání lidí, kteří danou věc znají.

Druhé zjištění je pro firmy s lidmi na home office nepříjemné: po přechodu na onboarding na dálku se inženýři zapracovávali o tři až šest týdnů pomaleji.

Výzkum Googlu: tři největší překážky při zapracování vývojáře a o 3–6 týdnů pomalejší zapracování na dálku

Všimněte si, že dvě ze tří překážek nejsou technické. Dokumentace a „koho se zeptat“ jsou problémy organizace, ne nováčka. A přesně ty má šéf ve svých rukou.

Co skutečně pomáhá: mentor, dokumentace a postupná náročnost

Tým z Microsoftu (An Ju, Hitesh Sajnani, Scot Kelly a Kim Herzig) udělal rozhovory s 32 vývojáři, kteří nedávno nastoupili do nového týmu, a s 15 manažery. Výsledky pak ověřil dotazníkem, na který odpovědělo 189 vývojářů a 37 manažerů. Studie vyšla na konferenci ICSE 2021.

Tři zjištění stojí za zapamatování:

  • Mentor funguje. Ze 18 dotázaných, kteří měli mentora nebo „onboarding buddyho“, ho 14 označilo za užitečného. Ti, kdo ho neměli, si stěžovali, že nemají nikoho, s kým by si mohli sednout.
  • Dokumentace je základ. 90 % vývojářů souhlasilo, že úplná, jasná, aktuální a dobře uspořádaná dokumentace je účinný způsob, jak se učit. Když dokumentace na otázku neodpoví, nováčka to frustruje.
  • Úkoly od jednoduchých ke složitějším. Studie popsala tři strategie, jak nováčkům přidělovat práci: postupně zvyšovat náročnost, brát úkoly podle priority v backlogu, nebo zadávat volněji definované průzkumné úkoly. Strategii „od jednoduchého ke složitému“ používá u juniorů 86,1 % manažerů, u seniorů 48,6 %. Typický první týden: drobné bugy nebo změny konfigurace, aby se nováček seznámil s vývojovým procesem.

Studie Microsoftu: 14 z 18 nováčků oceňuje mentora, 90 % vývojářů považuje aktuální dokumentaci za účinnou, 86,1 % manažerů zapracovává juniory od jednoduchých úkolů

Proč na jednoduchém prvním úkolu tolik záleží? Podle stejné studie dokončený úkol buduje sebevědomí: nováček si dokazuje, že umí týmu přinést hodnotu. První den tedy neplánujte refaktoring jádra, ale malou, jasně zadanou věc, která projde celým procesem až do produkce.

Onboarding na dálku: zapněte kamery

Druhá studie Microsoftu (Paige Rodeghero, Thomas Zimmermann, Brian Houck a Denae Ford) se ptala 267 vývojářů, kteří do firmy nastoupili během pandemie. Většina z nich se zapracovávala na dálku a s kolegy se nikdy osobně nesetkala. Největším problémem se ukázalo vybudovat si s týmem pevný vztah.

Autoři z toho odvodili doporučení, která platí pro každý tým s lidmi na home office:

  • podporujte komunikaci a ptaní se,
  • povzbuzujte tým, aby měl na schůzkách zapnuté kamery,
  • naplánujte pravidelné schůzky 1:1,
  • přidělte onboarding buddyho i technického mentora,
  • počítejte s tím, že každý se zapracovává jiným tempem,
  • zadejte jednoduchý první úkol,
  • udržujte dokumentaci aktuální.

Jak naplánovat první měsíc

Dobře zpracovaný příklad, jak buddy systém nastavit, má ve svém veřejném handbooku GitLab. Buddy si s nováčkem domluví úvodní hovor, sleduje jeho postup v onboardingu, doporučí užitečné stránky dokumentace a propojí ho s lidmi, kteří danou oblast znají. Kromě úvodního hovoru má naplánovat aspoň dva další hovory během prvního týdne a do konce prvního měsíce ještě aspoň jeden. Z toho a ze zjištění výše se dá složit jednoduchý plán:

Plán prvního měsíce nového vývojáře: buddy a mentor, jednoduchý první úkol, postupně složitější úkoly a pravidelné 1:1

Před nástupem: připravte přístupy, počítač a vývojové prostředí. Den nástupu by neměl padnout na čekání na hesla.

1. týden: buddy a technický mentor, úvodní hovor a aspoň dva další. První úkol malý a jasně zadaný, ideálně bug nebo změna konfigurace, který projde celým procesem: větev, testy, code review, merge.

2.–4. týden: úkoly postupně složitější, pravidelné 1:1 s vedoucím, další hovor s buddym. Nováček by měl postupně poznat všechny důležité části systému.

Průběžně: každou otázku, na kterou dokumentace neodpověděla, berte jako chybu v dokumentaci a opravte ji. Za pár nástupů tak budete mít dokumentaci, která opravdu pomáhá.

Pět rad pro šéfa softwarové firmy

  1. Onboarding je projekt, ne improvizace. Mějte sepsaný plán prvního měsíce a pro každého nováčka ho jen upravte.
  2. Buddy musí mít na nováčka čas. Započítejte mu to do kapacity sprintu, jinak pomoc padne jako první.
  3. Připravte startovní úkoly předem. V backlogu držte pár malých, dobře popsaných úkolů s akceptačními kritérii, které se na zapracování hodí.
  4. Nesrovnávejte nováčky podle výkonu jednotlivce. Google upozorňuje, že metriky produktivity jsou na úrovni jednotlivce velmi zašuměné. Hodí se k vyhodnocení onboardingového programu napříč skupinou, ne k hodnocení jednoho člověka.
  5. Dokumentaci vlastní tým, ne nováček. Nováček nejlépe vidí, co chybí, ale opravit to má být běžná práce týmu.

Jak s tím pomůže mcptask.online

Většina rad výše stojí na tom, jak dobře máte zadanou práci. V mcptask.online se projekt rozkládá na Epic → Story → Task, takže nováček vidí, kam jeho úkol zapadá. Úkoly mají priority a scrum pointy, ze kterých se automaticky počítá odhad hodin, takže snadno vyberete malé startovní úkoly. Závislosti jsou skutečné blocker linky, ne věta v popisu: zablokovaný úkol z fronty dalších úkolů vypadne, takže nováček nezačne práci, která ještě nemůže být hotová. Čas se loguje přímo do úkolů, i z commitů, a timesheet v JSON, CSV nebo PDF ukáže, kde nováček tráví nejvíc času a kde ho dokumentace nechala tápat. Úkoly z Jiry nebo Trella přenesete importem včetně hierarchie a historie.

A stejné principy platí i pro nového kolegu jiného druhu: autonomní AI vývojář (runner) bere úkoly ze stejné fronty. Jasné zadání s akceptačními kritérii a malé úkoly mu pomáhají stejně jako člověku.

Chcete mít zadání, odhady i odpracovaný čas nováčků na jednom místě? Zaregistrujte se na mcptask.online – prvních 30 dní zdarma a bez platební karty.

Zdroje