Jak najmout vývojáře 10x

Vydáno: Poslední aktualizace:
Jak najmout 10x lepšího vývojáře Nejlepší články a zdroje o lidských zdrojích 2018

Na téma 10x vývojář byly na internetu stráveny miliony úhozů na klávesnici. Existuje řada různých definic a mnoho otázek, zda se vůbec jedná o skutečný fenomén. Mýtus je však příliš dobrý na to, aby se ho většina lidí vzdala. Opravdu existují vývojáři, kteří dokáží desetkrát zesílit vaše výsledky?

Pravdou je, že existují vývojáři, kteří jsou 10x lepší, ale nejsou to ti, které si myslíte. Nejsou to osamělé rockové hvězdy s pověstí osamělých vlků, kteří za pár hodin zvládnou to, co by většině týmů trvalo týden. Pravda je ještě fascinující a může být klíčem ke znásobení efektivity vašeho týmu.

Co je to 10x programátor nebo vývojář?

Existuje celá řada definic pro vývojáře 10x. Zde je několik z nich, které jsme našli.

  • Vývojář, který dokáže pomocí dostupných nástrojů a prostředků dosáhnout desetkrát vyššího výkonu než nejhorší vývojáři. Zdroj: Kenny Bergquist
  • Vývojář, který dokáže udělat věci, které by nezvládl ani tým deseti méně schopných vývojářů. Zdroj: Jevgenij Brikman
  • Vývojář, který dokáže odblokovat 10x vyšší produktivitu svého týmu. Zdroj: Sylvain Kalache přes Stack Overflow

Ale je některý z nich skutečnou definicí 10x softwarového vývojáře? Vyplývá to z nějaké kombinace všech tří těchto vlastností? Pokud najímáte zaměstnance, je vaší prioritou především zesílení výsledků vaší společnosti. Pochází to od hypervýkonného vývojáře, nebo od tvůrce týmu? Abychom zjistili, které z nich jsou nejdůležitější, je užitečné vrátit se k tomu, kde myšlenka 10x programátora a později vývojáře vznikla.

10x atributy pro vývojáře

Zdroj: Čistý záporný programátor

Počátky vývojáře 10x

Myšlenka desetinásobného softwarového vývojáře se poprvé objevila ve studii s názvem "Průzkumné experimentální studie porovnávající výkonnost programování online a offline" z roku 1968. Autoři studie, Sackman, Erikson a Grant, si ve skutečnosti nekladli za cíl otestovat, zda je vývojář softwaru 10x skutečný. Místo toho chtěli otestovat rozdíly v efektivitě mezi online a offline programátory (online znamená na počítači, zatímco offline znamená na papíře), což je rozdíl, který nás dnes už nezajímá, protože téměř všechno programování se dělá online.

Zajímavým poznatkem z této studie však bylo, že výkonnost zdánlivě stejných programátorů se značně liší, což naznačuje, že někteří mohou být výrazně efektivnější než jiní. No, některé rozdíly byly méně dramatické, když se zohlednily některé nedostatky studie. S přihlédnutím k těmto nedostatkům zastánci jako např. Steve McConnell ze společnosti Construx Software stále tvrdí, že studie odhaluje až desetinásobný rozdíl ve výkonu zdánlivě stejných programátorů.

Od zveřejnění této studie se v dalších výzkumech objevily různé varianty efektu 10x.

  • Barry Boehm a další výzkumníci dospěli k závěru, že vývoj programu s týmem na 15. percentilu programátorů seřazených podle schopností obvykle vyžaduje přibližně 3,5krát více personálních měsíců než vývoj programu s týmem na 90. percentilu (Boehm et al. 2000). Zdroj: ČTK, s. 1. (2 ) Zdroj: ČTK, s. 1: Construx
  • Joel Spolsky tento efekt pozoruje také u studentů informatiky na Yaleově univerzitě. Stojí za to přečíst si jeho vysvětlení jevu 10x v knize Údery do vysokých tónů.

Vývojáři, který pracuje 10x, potřebují k dokončení úkolů mnohem méně času než jeho kolegové.

Ve skupině stejně zkušených studentů informatiky čas strávený na projektu nekoreluje s kvalitou kódu. Zdroj: Joel Spolsky

To nejsou zdaleka jediné studie, které u G. Gordona Schulmeyera pozorovaly zvětšovací efekt,

Výzkumníci zjistili, že poměr výkonnosti programátorů se pohybuje od nejnižšího 5:1 až po nejvyšší 100:1. To znamená, že programátorům na stejné úrovni, s podobným vzděláním a srovnatelným platem může trvat 1 až 100 týdnů, než dokončí stejné úkoly.

Zdroj:Čistý záporný programátor

Jak ale Gordon upozorňuje, tyto studie neberou v úvahu negativní vliv, který mohou mít tito vývojáři na produktivitu. Jeden vývojář může vytvořit program za desetinu času než jiný, ale může to být celý špagetový kód. Pokud jeho kolegům trvá desetkrát déle, než ho rozluští, je přínos vývojáře fakticky 1× větší.

Pokud spojíte špagetový kód s vývojářem, který poškozuje soudržnost týmu, může se stát, že jeho čistý přínos pro výsledky společnosti bude záporný. S ohledem na tuto skutečnost si musíte položit důležitou otázku, než se pokusíte do své společnosti přidat vývojáře, který by 10x zvětšil svůj podíl na softwaru.

Jaké vlastnosti byste měli hledat u vývojáře softwaru 10x?

Jaké vlastnosti byste měli hledat u vývojáře 10x?Zdroj: Evgeni Tcherkasski na adrese Unsplash

1. Vědí, co mají dělat

To by měl být samozřejmý první krok, ale vývojář softwaru 10x ví, jak většinu problémů vyřešit okamžitě. Přinejmenším by měl vědět, co je třeba udělat, a pokud to neví, měl by znát správné otázky, které je třeba položit. Zdroj: Stackify

Ať už jejich schopnosti vycházejí z nadstandardních zkušeností nebo znalostí, dokáží se správně rozhodnout, jak postupovat při vývoji softwaru. Jak říká Chris Stainthorpe, technický spoluzakladatel společnosti CustomerSure:

Programátoři "10x", se kterými jsem pracoval, mají dar rozhodovat o "nudných" technologiích, projevují empatii vůči potřebám uživatelů a mají nadhled nad životním cyklem softwarového produktu.

Zdroj: Stack Overflow

Někdo, kdo není 10x lepší, tuto roli prostě nemůže zastávat. Jak popisuje Joel Spolsky,

Nejde jen o "desetkrát vyšší produktivitu". Jde o to, že "průměrně produktivní" vývojář nikdy nedosáhne vysokých tónů, které vytvářejí skvělý software.

Zdroj: Joel Spolsky

Zjistíte, že nejlepší programátoři mají velmi dobré zkušenosti s vyhledáváním vzorů a dokáží také velmi složitě ladit, což by méně zkušený programátor jednoduše nezvládl. Zdroj: <antirez>

2. Chápou, proč by to měli dělat

Abyste se mohli stát skutečně 10x lepším vývojářem, musíte být do problému zapálení a rozumět mu zevnitř i zvenčí.

Zdroj: Stackify

Pokud problému rozumíte zevnitř i zvenčí, budete moci činit správná rozhodnutí. Koneckonců vývojář, který pracuje 10x, není 10x jen proto, že umí pracovat rychle, ale také proto, že neztrácí čas tím, že by se vydal špatnou cestou. Obvykle rozumí stroji, na kterém pracují (operačnímu systému a dalším komponentám), a mají dobré teoretické znalosti technologií, kterými se zabývají Zdrojový kód: <antirez>

3. Vědí, kdy by měli udělat každou věc

Vývojář softwaru 10x chápe, na co je třeba vynaložit čas a zdroje, aby bylo dosaženo co nejoptimálnějšího výsledku. Skutečný vývojář softwaru 10x nezačne okamžitě kódovat a nevyplodí, co ho napadne. Místo toho se rozhoduje, jak nejlépe strávit svůj čas. Zdroj: Stackify

Úplné pochopení architektury projektu, na kterém pracují, ještě před zahájením práce může vést k obrovské úspoře času. Zabrání jim to vydat se špatnou cestou, vkládat zbytečnou práci a obecně pracovat na časově náročných projektech, které mají minimální přínos.

Jinak řečeno, vývojář softwaru 10x zkrátí část projektu, která může přispět 5% k celkovému výsledku, ale výsledkem je 80% investovaného času a úsilí Zdroj: <antirez>

4. Přispívají ke kultuře práce

10x vývojář přispívá ke kultuře práceKolem 10x programátorů se vedou velké debaty, které mnoha lidem tuto myšlenku kazí. Její podstata spočívá v tom, že často získáte vysoce výkonné pracovníky, kteří s ní zbytek týmu jednoduše nespolupracuje. Tito lidé, kterým se někdy říká programátoři ninja, mohou dosahovat úžasných výsledků, ale nedokážou pozvednout tým kolem sebe. V extrémních případech jejich arogance přiměje zbytek týmu k odchodu, čímž se znehodnotí veškerý přínos, který poskytli. Zdroj: Zásobník zpráv

Rand Fishkin, generální ředitel společnosti Moz, varuje před najímáním 10x blbců právě z tohoto důvodu a říká, že by kdykoli doporučil najmout průměrného tvůrce týmu místo jeho 10x kolegy, protože je prostě radost s nimi pracovat. Zdroj: Kód Mentor

Ale pokud je myšlenkou 10x to, že vytvoříte 10x lepší výsledek. Pokud máte vývojáře, který umožní deseti dalším lidem zvýšit jejich produktivitu a nakonec dosáhne desetinásobné produktivity týmu, je to vývojář, který dosáhl 10x. Zdroj: Stack Overflow

Vezměte si tuto anekdotu od přispěvatele Pradn na Hacker News. Přispěvatel uvádí dokonalý příklad toho, jak může jeden člověk vytvořit obrovskou hodnotu pro tým, ve kterém pracuje.

Právě teď pracuji v týmu, který má podle mě 10x většího vývojáře softwaru. Vybral si jednoduchý model vláknového zpracování, aby předešel tunám promarněného času kvůli deadlockům a dalším problémům s vlákny. Je také snazší zdůvodňovat a zapojovat nové lidi. Když reviduje kód, najde chyby, které zabrání několikadennímu ladění po cestě, a navrhne jednodušší architekturu, díky níž je kód snáze pochopitelný a změnitelný. Za ~5 let takto ovlivnil ~20 lidí. Nedivil bych se, kdyby nám společně ušetřil ~1 rok vývojového času.

Zdroj: Hacker News

Přínos, který tento konkrétní člen týmu má, nepozvedá jen jeho samotného, ale celý tým. Tento člověk působí jako multiplikátor týmu a to jsou skutečné výsledky, které chcete při najímání zaměstnanců dosáhnout. Zdroj: Sean Cassidy

5. Vývojář softwaru 10x odpovídá roli, kterou potřebujete, aby plnil.

Dalším problémem, který se běžně objevuje v souvislosti s myšlenkou 10x softwarových vývojářů, je, že mohou být zařazeni do jakékoli role a podávat 10x vyšší výkon bez ohledu na to, v jakém technickém prostředí pracují. Zdroj: Codementor

Je jistě pravda, že 10x výkonnější člověk bude schopen dosahovat pokročilých výsledků ve většině situací, ale to popírá skutečnost, že někteří lidé mohou být 10x výkonnější ve specifických situacích a specifických technologických prostředích. Jinde budou skutečně dosahovat pouze běžných výsledků. Je důležité se ujistit, že vývojář bude ve vaší společnosti 10x.

6. Stále se snaží zlepšovat

Desetinásobek by se měl stále učit novým věcem. Každá nová dovednost, nástroj a přístup je novým způsobem řešení problému. Nejen to, ale také budou držet krok s technologickými změnami, což je udrží v produkci na úrovni 10x.

Jak otestovat schopnosti vývojáře softwaru 10x

Jak otestovat dovednosti vývojáře 10xVývojáři softwaru s 10násobným nárůstem, kteří neobchodují se svou pověstí rockové hvězdy, se hledají dost těžko. Vyžadují větší prověrku než běžní kandidáti.

Ověřte si jejich odborné dovednosti

Pokud najdete vývojáře, o kterém máte podezření, že pomůže vašemu týmu dosáhnout desetinásobné produktivity a výkonu, začněte nejprve u jeho pracovních dovedností. Pravděpodobně nejlépe se na to podíváte tam, kde se test pracovních vzorků. Test pracovních vzorků je jedinečně přizpůsoben k identifikaci dovedností, které zvyšují výkonnost. Je to proto, že na rozdíl od algoritmického testu test pracovních vzorků testuje spíše obchodní problémy než prosté kódovací schopnosti. A je opravdu snadné jej provést pomocí nástroje DevSkiller.

Řekněme, že váš kandidát nejlépe ovládá jazyk Java. Zadejte mu test z Javy pro pokročilé a uvidíte, jak si povede.

Ověřte si, jak jsou přizpůsobiví novým programovým prostředím.

Test v jazyce Java však nestačí. Vývojář 10x by se měl umět do jisté míry přizpůsobit jiným technologickým prostředím, když to potřebuje. Řekněme tedy, že váš kandidát tvrdí, že si velmi dobře rozumí s Javou, ale nikdy nepoužívá Python. Kromě jejich úlohy v jazyce Java jim zadejte snadnou úlohu v jazyce Python. I kdyby Python nikdy předtím nepoužívali, skutečný vývojář 10x by měl být schopen přijít na to, jak ve stanoveném čase splnit základní úlohu.

Ověřte si jejich schopnosti ladění

Jedním ze skutečných znaků vývojáře 10x je jeho schopnost komplexního ladění na vysoké úrovni. Jedná se o takové ladění, na které by normální vývojář mohl dostat nekonečné množství času, a přesto by ho nebyl schopen provést. Je to proto, že jednoduše nemají dostatečné dovednosti a nerozumějí dané technologii.

Opět můžete použít automatizovanou platformu, jako je DevSkiller, a zadat kandidátovi pokročilý kód s pokročilými chybami, které bude muset najít a odstranit. Zjistíte, že vývojář, který to umí, poskytne oproti běžnému vývojáři výhodu v produktivitě sto ku jedné. Zdroj: Deník: Nevo

Pozvěte nejlepší kandidáty na kódovací pohovor, abyste zjistili, jak dobře spolupracují s ostatními.

Součástí testování něčích kódovacích dovedností je zjistit, zda má technické znalosti, které mu umožní skutečně 10x přispět. Ale druhou polovinou toho, jak být 10x vývojářem, je umět povznést ostatní lidi v týmu tak, aby tým sám o sobě přispěl 10x. K tomu je třeba zjistit, jak dobře kandidát spolupracuje s ostatními a jak může zlepšit výsledky týmu.

Pravděpodobně nejlepším způsobem, jak to udělat, je rozhovor o kódování ve dvojicích. Při tomto pohovoru pracuje tazatel s uchazečem na řešení obchodního problému. Při tomto druhu pohovoru nejde jen o to zjistit, jak dobře rozumí kódování. Může také ukázat, jaká rozhodnutí dělají, jak reagují na zpětnou vazbu a jak dobře spolupracují s ostatními. I když vývojář není k dispozici pro osobní pohovor, je snadné uspořádat jeden z těchto pohovorů na dálku pomocí platformy, jako je např. DevSkiller.

Je čas najít svého 10x vývojáře

Než se vydáte na lov vývojářů jednorožců 10x, je důležité si uvědomit, že jsou téměř stejně vzácné jako bájná zvířata. Pravděpodobně najdete spoustu průměrných vývojářů a popravdě řečeno, pokud máte v týmu 10x vývojáře, mohou výrazně zvýšit produktivitu průměrných programátorů kolem sebe, takže se stále vyplatí hledat jeden zesilovač.

Důležité je mít na paměti, že:

  • Najděte si vývojáře, který vyhovuje vašim potřebám (můžete začít tím, že se podíváte na jejich příspěvky do open-source). To znamená takového, který bude 10x lepší jak v technologickém, tak v manažerském prostředí vaší společnosti.
  • Ujistěte se, že jsou vynikající jak samostatně, tak v týmu. Nechcete přece někoho, kdo je sám o sobě úžasný, ale pak táhne dolů zbytek firmy.
  • Proveďte rozsáhlé testy, abyste zjistili, jak dobří jsou ve zvoleném oboru, jak dobře se dokáží přizpůsobit novému prostředí a jak dobře umí spolupracovat s ostatními.

Teď, když jste připraveni, je čas jít ven a najít svého 10x vývojáře. Odměna bude pro vás i vaši společnost úžasná.

Sdílet příspěvek

Další informace o najímání zaměstnanců v oblasti technologií

Přihlaste se k odběru našeho vzdělávacího centra a dostávejte užitečné informace přímo do své e-mailové schránky.

Bezproblémové ověřování a rozvíjení dovedností v oblasti kódování.

Podívejte se na produkty DevSkiller v akci.

Bezpečnostní certifikace a shoda s předpisy. Zajistíme, aby vaše data byla v bezpečí.

Logo DevSkiller Logo TalentBoost Logo TalentScore