
Téměř celý vývojový tým Skyeng, který se skládá z více než 100 lidí, pracuje na dálku a požadavky na specialisty byly vždy vysoké: hledali jsme seniory, fullstack vývojáře a středně pokročilé. Ale na začátku roku 2019 jsme poprvé najali tři juniory. To bylo provedeno z několika důvodů: najímat pouze super-specialisty neřeší všechny problémy a pro vytvoření zdravé atmosféry ve vývoji jsou potřeba lidé různé úrovně profesionality.
Když pracujete na dálku, je nesmírně důležité, aby člověk přišel do projektu a okamžitě začal přinášet užitek, bez dlouhých procesů školení a rozjezdu. S juniory to tak nefunguje, navíc kromě školení je také nutné dobře integrovat nováčka do týmu, protože je pro něj všechno novinkou. A to je již zvláštní úkol pro team leada. Proto jsme se soustředili na hledání a najímání zkušenějších a etablovaných vývojářů. Ale časem se ukázalo, že v týmech složených pouze ze seniorů a fullstack vývojářů jsou své problémy. Například, kdo se postará o rutinní, ale nezbytné úkoly, které nevyžadují super kvalifikaci a nějaké zvláštní znalosti?
Dříve jsme se místo najímání juniorů zabývali freelancery.
Dokud bylo úkolů málo, naši senioři se s neužitečnými úkoly těžce smiřovali, protože vývoj musí pokračovat. Ale dlouho to tak pokračovat nemohlo: projekty rostly, množství rutinních jednoduchých úkolů se zvyšovalo. Situace se stále více začala podobat anekdotě, kdy se hřebíky zatloukají mikroskopem místo kladiva. Pro ilustraci se můžeme obrátit na aritmetiku: pokud zapojíte člověka, jehož sazba je hypotetických 50 $/hodina na práci, se kterou si poradí zaměstnanec s sazbou 10 $/hodina, máte problém.
Nejdůležitější, co jsme si z této situace odnesli, je, že současná paradigma najímání pouze skvělých specialistů neřeší naše problémy s rutinními úkoly. Potřebujeme někoho, kdo bude ochoten vykonávat práci, kterou zkušení senioři vnímají jako trest a kterou by jim bylo prostě neefektivní zadávat. Například psaní botů pro Slack kanály našich učitelů a autorů kurzů nebo se zabývání drobnými projekty, které by zlepšily naše interní potřeby a na které programátorům stále chybí čas, ale s nimiž by byl život mnohem příjemnější.
V tuto chvíli jsme vypracovali prozatímní řešení. Začali jsme zapojovat do práce na našich projektech freelancery. Právě na takový outsourcing začaly odcházet jednoduché a naléhavé úkoly: někde něco opravit, někde zkontrolovat, něco přepsat. Naše freelancérské křídlo rostlo dost aktivně. Jeden z našich projektových manažerů shromažďoval úkoly z různých projektů a rozděloval je mezi freelancery, vycházeje z dostupné databáze dodavatelů. Tehdy nám to přišlo jako dobré řešení: uvolnili jsme zátěž z seniorů a oni mohli opět tvořit naplno, místo aby se patlali s něčím základním. Samozřejmě existovaly úkoly, které kvůli obchodnímu tajemství nelze svěřit externím dodavatelům, ale takových otázek bylo mnohem méně v porovnání s hromadou úkolů, které odcházely na freelancing.
Ale toto nemohlo trvat věčně. Společnost se setkala s tím, že oddělení pro freelancery se proměnilo v neobratného obra. Počet rutinčních a jednoduchých úkolů rostl společně s projekty a v určitém okamžiku jich bylo příliš mnoho na to, aby je bylo efektivně možné přidělovat externím dodavatelům. Kromě toho freelancer není ponořen do specifik projektů, což znamená stálé plýtvání časem na onboardingu. Je zřejmé, že když máte ve svém týmu více než 100 profesionálních vývojářů, nemůžete jim najít k pomoci ani polovinu z padesáti freelancerů a efektivně řídit jejich činnost. Kromě toho je komunikace s freelancery vždy spojena s určitými riziky zpoždění a dalšími organizačními problémy.
Je důležité zdůraznit, že vzdálený zaměstnanec a freelancer jsou dvě různé entity. Vzdálený pracovník je řádně zařazen v společnosti, má stanovenou pracovní dobu, tým, vedení atd. Freelancer vykonává projektovou práci, která je regulována především termíny. Freelancer je na rozdíl od vzdáleného zaměstnance většinou sám sobě odpovědný a málo komunikuje s týmem. Odtud plynou potenciální rizika spojená se spoluprací s takovými pracovníky.
Jak jsme došli k vytvoření "oddělení jednoduchých úloh" a co jsme získali
Analyzováním situace jsme dospěli k závěru, že potřebujeme zaměstnance s nižší kvalifikací. Neměli jsme žádné iluze o tom, že z naší skupiny juniorů vyrostou budoucí superhvězdy, nebo že najmutí deseti juniorů nás vyjde na pár korun. Realita je taková, že situace ohledně juniorů:
- Na krátkou vzdálenost je najímání juniorů ekonomicky nevýhodné. Místo pěti až deseti juniorů ‚hned teď‘ je lepší vzít jednoho seniora a platit mu miliony za kvalitní práci, než utrácet rozpočty za nováčky.
- Junioři mají dlouhé období zapracování do projektu a školení.
- V okamžiku, kdy se junior něco naučí a měl by začít ‚splácet‘ investice do sebe během prvních šesti měsíců práce, musí být povýšen na midla, nebo odchází na tuto pozici do jiné společnosti. Najímání juniorů tedy vyhovuje pouze zralým organizacím, které jsou ochotny investovat do nich bez záruky rychlé návratnosti.
Ale vyrostli jsme do takových rozměrů, kdy bez juniorů v týmu se neobejdeme: množství běžných úloh roste, a utrácet na ně pracovní hodiny zkušených profesionálů — to je prostě zločin. Proto jsme vytvořili oddělení speciálně pro junior vývojáře.
Doba práce v oddělení jednoduchých úloh je omezena na tři měsíce — tedy je to standardní zkušební doba. Po třech měsících plně placené práce nováček buď přejde do týmu, který si ho přeje mít jako junior vývojáře, nebo se s ním rozloučíme.
V čele našeho nově vytvořeného oddělení stojí zkušený PM, který odpovídá za rozdělování pracovních úkolů mezi juniory a za jejich spolupráci s ostatními týmy. Junior dostává úkol, plní jej a získává zpětnou vazbu jak od týmu, tak od svého manažera. V počáteční fázi práce v oddělení nepřiřazujeme nováčky k konkrétním týmům a projektům — mají přístup k celé nabídce úkolů podle svých dovedností (v současné době hledáme frontendisty na AngularJS, backendisty na PHP nebo uchazeče na pozici webového vývojáře se znalostí obou jazyků) a mohou pracovat na několika projektech současně.
Ale najímání juniorů není všechno — je třeba také vytvořit přijatelnou pracovní atmosféru, což je úkol zcela jiného rázu.
První, co jsme si ujasnili, je dobrovolné mentorství v rozumné míře. To znamená, že nikdo z našich stávajících specialistů nebyl k mentorování nucen a bylo jasně stanoveno, že školení nováčka nesmí nahrazovat hlavní práci. Žádné "50% času pracujeme, 50% učíme juniora". Abychom měli jasnou představu o tom, kolik času zabere mentorství, byl vytvořen malý "výukový plán": seznam úkolů, které měl vykonat každý mentor se svým chráněncem. Totéž bylo uděláno pro projektového manažera juniorů, a nakonec jsme získali velmi plynulý a srozumitelný scénář přípravy nováčků a jejich zapojení do práce.
Zajistili jsme následující body: kontrola teoretických znalostí, připravili jsme sadu materiálů, pokud potřebuje junior něco doplnit, a schválili jednotný princip provádění code review pro mentory. Na každém kroku vedoucí poskytují nováčkům zpětnou vazbu, což je pro ně mimořádně důležité. Mladý zaměstnanec chápe, v jakých aspektech vyniká, a na co by si měl dávat pozor. Pro zjednodušení procesu školení juniorů a zkušenějších vývojářů byl vytvořen společný chat na Slacku, takže se mohou do procesu školení zapojit a na některé dotazy odpovědět i další členové týmu. To vše činí práci s juniory poměrně předvídatelným a, což je důležité, kontrolovatelným procesem.
Po skončení tříměsíční zkušební doby mentor provede s juniorem finální technické pohovory, na základě kterých se rozhodne, zda junior může přejít na trvalou práci v jednom z týmů, nebo ne.
Celkem
Na první pohled se náš oddělení pro juniory podobá inkubátoru nebo nějakému speciálně vytvořenému pískovišti. Ve skutečnosti se však jedná o reálné oddělení se všemi atributy plnohodnotného bojového týmu, který řeší skutečné, a ne tréninkové úkoly.
Ale to nejdůležitější je, že lidem dáváme konkrétní horizont. Oddělení jednoduchých úloh není nekonečný limbus, v němž by se člověk mohl uvíznout navždy. Existuje jasný termín tří měsíců, během kterého junior řeší jednoduché úkoly na projektech, ale zároveň má příležitost se projevit a přejít do nějakého týmu. Noví zaměstnanci, které najímáme, vědí, že budou mít svého projektového manažera, mentora ze seniorů (nebo možná i několik) a možnost plnohodnotně se zapojit do kolektivu, kde je budou vítat a očekávat.
Od začátku roku bylo do oddělení jednoduchých úloh přijato 12 juniorských zaměstnanců, z nichž pouze dva neprošli zkušební dobou. Jeden další kluk se neujal v kolektivu, ale protože v pracovním plánu je velmi schopný — vrátil se do oddělení jednoduchých úloh na nové období, během něhož, jak doufáme, najde nový tým. Kladně působila práce s juniory také na našich zkušených vývojářích. Někteří z nich, po období mentorství, objevili v sobě sílu a touhu vyzkoušet se v roli týmových vedoucích, jiní, sledující juniory, zlepšili své vlastní znalosti a přešli z pozice midla na pozici seniora.
Budeme pouze rozšiřovat naši praxi najímání mladých vývojářů, protože to přináší řadu výhod pro tým. Junioři mají možnost plnohodnotného vzdáleného zaměstnání bez ohledu na svůj region bydliště: členové našich vývojářských týmů žijí od Rigy po Vladivostok a skvěle se vyrovnávají s časovými posuny díky efektivním procesům uvnitř firmy. To vše otvírá cestu talentovaným lidem, kteří žijí v odlehlých městech a vesnicích. A to se netýká jen včerejších školáků a studentů, ale i lidí, kteří se z nějakého důvodu rozhodli změnit profesi. Našemu juniorovi může být stejně 18 jako 35 let, protože junior je o zkušenostech a dovednostech, nikoli o věku.
Jsme přesvědčeni, že náš přístup lze bez obav rozšířit i na další společnosti, které používají model vzdáleného vývoje. Umožňuje to současně cíleně najímat talentované juniory z kteréhokoli místa v Rusku nebo SNS a zároveň zlepšovat mentoringové dovednosti zkušenějších vývojářů. Z finančního hlediska je tento model extrémně cenově výhodný, takže všichni mají prospěch: společnost, naši vývojáři a samozřejmě junioři, kteří se nemusí stěhovat do velkých měst nebo hlavních měst, aby se stali součástí zkušeného týmu a pracovali na zajímavých projektech.
Zdroj: habr.com
