10x-es eredmény (eredmények): Mit tanulhat a fejlesztő a legjobbak közül

Mi lenne, ha azt mondanám neked, hogy tízszeresebb lehet az átlagnál? Nem kétszer olyan jó. 10-szer jobb: Nagyságrend. Ön valóban kiemelkedik. Jobb munkahelyekhez, magasabb fizetéshez és magasabb elégedettséghez férhet hozzá.

Interjúkat készítettem, tanítottam és mentoráltam fejlesztõk százaival. Talán a legértékesebb elvitel az, hogy a készségek hatalmas tartománya létezik, még a fejlesztők között is, akik évek óta kódolják a megélhetést.

Még ennél is lenyűgözőbb azonban számomra, mennyire könnyedén javulhat ezek többsége. Azt is észrevettem, hogy számos fejlesztő szeretne javulni. Úgy tűnik, hogy küzdenek azzal, hogy tudják, mire kell dolgozni, és hogyan kell rajta dolgozni.

A jó hír azok számára, akik elkötelezettek a kiválóság iránt, hogy a legtöbb más fejlesztő egyszerűen nem ismeri a fejlesztés lehetőségét, vagy nincs elég motivált ahhoz, hogy elkötelezze magát.

Ha egyszerűen úgy dönt, hogy tízszeres fejlesztővé válik, akkor óriási előnyt biztosít a versenytársakkal szemben.

Ráadásul a 10-szeres nem csak fejlesztési képességekről szól. Ez csak egy tényező számos fontos tényezőben. Magától értetődik, hogy nem lehet tízszeres fejlesztő az ékszer nélkül, de önmagában a kódolás nem elegendő.

A 10x fejlesztõ mém eredete

A kutatások túlnyomó többsége arra utal, hogy a fejlesztők között nagyságrendű különbség van a teljesítményben. Idézni Steve McConnell-t (szerző, „Kód kész”):

Az általános megállapítást, miszerint a programozók között nagyságrendbeli különbségek mutatnak, a professzionális programozók számos más tanulmánya megerősítette (Curtis 1981, Mills 1983, DeMarco és Lister 1985, Curtis és mtsai., 1986, Card 1987, Boehm és Papaccio) 1988, Valett és McGarry, 1989, Boehm és munkatársai, 2000).

Kiderült, hogy ez a tízszeres dolog messze túlmutat az egyes fejlesztőkön. A különbségek vannak a csapat termelékenységében számos iparágban, az előadók és a sportolók különféle képzettségi szintjei stb.

A 10x sok különbségnek tűnik. Könnyű elkövetni azt a hibát, hogy a többi személynek nincs esélye elérni ezt a kiválósági szintet - egyszerű tény, hogy a legtöbbünk nem fogja megtenni. De ami igazán érdekes, hogy egyértelmű út vezet a kiválósághoz. Az emberek nem nagyszerű fejlesztők. Koncentrált, szándékos gyakorlat útján érik el őket.

Fontos kérdést vet fel: pontosan mit kell gyakorolnunk? Mi a közös a legjobb fejlesztőkkel, és vannak-e azok a minőségi dolgok, amelyekből megtanulhatunk és követhetünk?

Mi teszi néhány Dev-et jobbá, mint mások?

Sok tényező miatt egyes fejlesztők tízszeresre jobbak, mint mások. Sokkal több, mint hogy hány jegyet zárnak be. A munka elvégzése természetesen létfontosságú intézkedés, de mit lehet még tovább javítani a tízszeresére való eléréshez, és mire kell először dolgozni?

Körülbelül 1000 fejlesztőt vizsgáltunk meg. Először informális felmérést készítettünk a Twitter-en, hogy összegyűjtsük a rendkívüli fejlesztők, és nem annyira rendkívüli fejlesztők leírására használt szavakat:

Ezután a válaszokat egységes, leíró szavak listájába konszolidáltuk, és felmérést készítettünk 2 feleletválasztós kérdéssel.

Mi teszi a nagyszerű fejlesztőt?

1. Gondolj arra a legkülönlegesebb fejlesztőre, akivel valaha is dolgoztál. Válassza ki az összes szót, amely leírja őket.

Az ötlet az, hogy a fejlesztőknek felsoroljuk azokat a tulajdonságokat, amelyekre összpontosíthatnak. Ezek mind olyan készségek, amelyeket gyakorolhat és fejleszthet.

Kezdjük azzal, hogy mi csinál nagyszerű fejlesztőket. Az öt legjobban kezdjük:

Kiderült, hogy ezek a tényezők egészséges mozgástérrel legyőzik a szokásos termelékenységi mutatókat, mint például a „gyors” és a „hatékony”.

Problémamegoldó: A problémamegoldást az teszi a fejlesztők, tehát nem meglepő, hogy ez a minőség magas pontszámot kap, de mi különbözteti meg az átlagos problémamegoldót a nagyszerű problémamegoldótól? Megfelelő problémák megoldása. A fejlesztők termelékenynek érzik magukat, és frusztráltak, amikor vannak dolgok, amelyek visszatartják őket.

A legtöbb nagy kódbázisban vannak a kód olyan részei, amelyeket senki sem akar fenntartani. Ha időt fordíthat a kód ezen részének átmásolására és megtisztítására, megkönnyíti az életét mindenkinek, aki foglalkoznia kell ezzel a kóddal.

Ha vannak olyan általános folyamatok, amelyeket automatizálni kell, fordítson időt ezek automatizálására. Mutasson néhány nagy győzelemre, munkatársai és vezetői nagyra értékelik a kezdeményezést. Összpontosítson a leginkább befolyásoló problémákra. Ha a csapat minden fejlesztője napi 5 percet költene egy ismétlődő feladatra, amelyet automatizálni lehetne, és csak 30 percbe telik az automatizálása, akkor tegye meg. Egy 6 fejlesztővel rendelkező csoportban csak egy nap vesz igénybe a beruházás megtérítése.

Képzett: A készségeket két összetevőből fejlesztik: megértés és gyakorlat. Először tudnia kell, mit kell gyakorolni. Meg kell értenie azokat a fogalmakat, amelyek képezik a nyelv és a programozás alapjait, majd ezt a megértést működésbe kell hozni.

Ha nem biztos benne, mit kell megtanulni és gyakorolni, akkor tekintse meg a „Legjobb JavaScript-keretek és témák 2017-ben” című témakört. A technika gyorsan változik, de a nyelv lassan alkalmazkodik, és olyan tananyagok, mint a React & Redux, olyan építészeti mintákat és programozási koncepciókat fognak tanítani, amelyek évekig jól szolgálnak, a hónap keretétől függetlenül.

Időnként interjúkat készítek olyan fejlesztőkkel, akik minden kérdésre szépen válaszolnak, de amint felkérem őket, hogy mutassanak meg példákat kódban, megbotlik. Szüksége van könyvjelzésre és gyakorlott készségre. Ha csak az egyik vagy a másik rendelkezik, akkor nem jut el túl messzire. Az új fogalmakról olvassa el mindenképpen a gyakorlatot, majd próbálja meg beépíteni őket a napi kódba. Győződjön meg róla, hogy nagyon jól megérti, mikor és hogyan kell használni a fogalmakat, és alaposan megérti, hogyan működnek a tényleges alkalmazásokban.

A kódolás megtanulásának legjobb módja a kódolás.

Mentor / tanár: Nagyon jó tudni a programozásról, de te csak egy ember vagy. Nem számít, mennyire termelékeny önmagában, semmi esetre sem igazítja egy nagyszerű szorzó teljesítményét. A szorzó az, aki megsokszorozza az egész csapat termelékenységét.

Nehéz túl hangsúlyozni azt a hatást, amelyet a szorzónak lehet a csapata. Még akkor is, ha a szorzó nem állít elő kódot, akkor a 3 tagú csapatban továbbra is kijön, ha egyikük nagyszerű szorzó:

  • 2 1x fejleszt
  • Az 1 10x dev nem tesz semmit, hanem segíti a másik 2 készüléket az 5x elérésében
  • 3 fordulat megegyezik a 10 1x dev érték hozzájárulásával

A valóságban az erős mentori kultúrával rendelkező csapatok általában mentorálják egymást. Mindenki hozzájárul valamilyen kódhoz. Egy vagy kettő kiemelkedik, és több idejét fekteti be más fejlesztők támogatására és magasabb színvonalú kód-áttekintések biztosítására.

Természetesen az, ha egy problémára nagyobb átviteli sebességet eredményez, gyorsabb eredményt nem fog elérni. (Lásd: „A mitikus ember hónapja”), de az a fejlesztő, aki megosztja a bevált gyakorlatokat a csapattal és segít nekik rugalmasabb, karbantarthatóbb és hibamentesebb kódok megírásában, megéri arany súlyát.

Kiváló tanuló: Gyakran azt mondom az embereknek, hogy szenvedélyes tanulókat alkalmazzanak. A tech világ gyorsan változik, és senki sem tud lépést tartani mindennel, de olyan fejlesztõkre lesz szükséged, akik gyorsan alkalmazkodhatnak, ha úgy dönt, hogy fontos technológiai változtatásokat hajt végre. Ha azt szeretné, hogy a multiplikátorok a legtöbbet részesítsék előnyben, akkor fejlesztõket is fel kell hívnia, akik képesek és képesek új dolgokat tanulni. A legjobb fejlesztők mind mentorok, mind mentorok - nagyszerű tanárok, akik egyértelműen megértik, hogy még a legzöldebb kezdőktől is tanulhatnak új értékes dolgokat.

Szenvedélyes: Annak érdekében, hogy folyamatosan fejlődjünk, motiválnunk kell az alapvető munkakövetelményeken túl és túlmutatni. Elkötelezettséget kell vállalnia a kiválóság iránt, és ahogy egyre jobbá válik, és egyre több elismerést szerez, ezt az elkötelezettséget elismerés és munkaelégedettség jutalmazza.

A szenvedélyes fejlesztők elsajátítják kézművesüket, fejlesztenek a büszkeség és a felelősségvállalás iránt, és munkájuk során boldogabbá válnak.

Sok fejlesztő megkérdezte tőlem, hogyan válhatok lelkesebben és motiváltabban. A válaszom az, hogy jobbá válj. Helyezze be a munkát. Amint több készséget szerez, jobban élvezni fogja azt. (Lásd: „Olyan jók, hogy nem hagyhatnak figyelmen kívül téged”).

Bízz bennem, egyetlen zenész sem élvezte a mérlegükön és a sebességmérő fúrókon keresztül csapódást, amíg el nem érezték javulásukat. Kevés futó szerette azt a érzést, hogy kifogy a légzése, amíg észre nem veszi a futási idő javulását, vagy azt, hogy milyen messzire tudnak futni, mielőtt kifogyna a lélegzete.

A dolgok elvégzésekor pozitív kémiai visszacsatolási hurkokat váltunk ki az agyunkban, amelyek boldogság vagy eufória érzésével töltenek bennünket. Ennek a hatásnak az erőssége attól függ, hogy milyen nagy volt a cél, de még apró célok is kiválthatják a pozitív visszacsatolási ciklust.

Más szavakkal, ha arra törekszik, hogy motiváltságot szerezzen a kódolási képességei fejlesztésére, kezdje el valami igazán egyszerű eszközzel, amit néhány perc alatt megtehet, majd építsen rá. Ahogy egyre többször megismételjük a folyamatot, és nagyobb célokat célozunk meg, növekszik az agy dopaminszintje, és ezzel együtt növekszik a tanulás élvezete is.

Ahogy több készséget szerez, annál nagyobb szenvedélyt fog szerezni a készség megszerzésében.

Mi közös a legrosszabb fejlesztőkkel?

Függetlenül attól, hogy hány kiváló tulajdonsággal rendelkezik, van néhány negatív tulajdonság, amelyek valóban leránthatnak téged. Szerencsére, ha tudatában van rájuk, és képes látni tisztán a hiányosságait, akkor csökkentheti a negatív hatásokat.

2. Gondolj a legrosszabb fejlesztõre, akivel valaha is dolgoztál. Válassza ki az összes szót, amely leírja őket.

Inkompetens: szerencsére a legrosszabb fejlesztők legrosszabb tulajdonsága is a legkönnyebben javítható. Ha most nem igazán jó kódoló, nézd meg a „Tanulj meg kódolni: 13 tippet, amelyek évek óta erőfeszítést takaríthat meg” lehetőséget, és kezdd el dolgozni! Ha nem érzi magát nagyon motiváltan, görgessen fel és olvassa el újra a kézművesség iránti szenvedély fejlesztésének szakaszát.

Arrogáns: Ezt sokkal nehezebb kijavítani, de egyszerűen csak egy erőfeszítés mellett dönthet nagy különbséget abban, hogy mások hogyan érzékelnek téged. Egy arrogáns ember úgy érzi, hogy fel kell töltenie magát, vagy más embereket letenni annak érdekében, hogy jól érezzék magukat - de ez soha nem működik. Ahelyett, hogy jobban megismerné magát, érezheti a csaló szindrómát és a szorongást, amelyet más emberek felfedezhetnek, hogy nem vagy olyan okos, mint amilyennek kitalálod magad.

Arrogáns emberek gyakran:

  • Tegyük fel, hogy ők a legokosabb emberek a szobában.
  • Ne hajlandó elmagyarázni valamit, mert a másik személy „nem érti”.
  • Beszélj másokkal / legyél.
  • Tegyük fel, hogy okosabb, mint valójában. Gyakran a Google dolga azért, hogy okosnak tűnjön, és ne elismerje, hogy van valami a világon, amit nem tudnak. (Megjegyzés: semmi baj a Google-lal, hogy megtanulja. A Google-nak az, hogy okosan hangzik, más kérdés.)

Együttműködés: Az arrogáns emberek gyakran azt gondolják, hogy a legjobban tudják, és amikor mások közös látáson dolgoznak, az arrogáns emberek gyakran megtagadják a fedélzetre jutást. Ha nem ért egyet valamivel, beszélj fel és hallgass meg, de ne gondoljátok, hogy teljes mértékben megismerik az összes kompromisszumot, amelyet a csapat többi tagja fontolgat, és még akkor is, ha teljes mértékben megértik a helyzetet, ne használja ezt az alárendelhetetlenség és a rángatózó magatartás igazolására. Mindig tegyen meg mindent, hogy kedves és segítőkész legyen.

Motiválatlan: Nehéz bármit hasznosnak tenni, ha nem motivált a munka beillesztésére. Lásd a szenvedély fejlesztésének fenti szakaszát.

Makacs: Az az oka, hogy nem szilárdítottam meg a „makacs” és a „nem együttműködő” szót, az az, hogy a makacsság nem csupán az együttműködésről szól. A fejlesztők néha elakadnak, amikor megpróbálnak tenni valamit, ami egyszerűen nem működik. Napok óta olyan megoldásba helyezik azokat, amelyeknek nincs esélye a sikerre, de néha megtagadják beismerését, hogy tönkremennek. Gyakran a fejlesztők becsapják a fejüket egy olyan hibára, amelyet órákig vaknak tartanak, amikor valaki más percek alatt észrevette a megoldást.

Ne ess bele ebbe a csapdába. Legyen nyitott annak a ténynek, hogy minden fejlesztő időről időre vak lesz a saját kódjával kapcsolatos problémákra. Minden fejlesztő küzd. Minden fejlesztőnek segítségre van szüksége időnként. Legyen hajlandó kérni, és hajlandó megadni, amikor azt tőled kérik.

A 10x fejlesztők egyéb tulajdonságai

Véleményem szerint inkább az erősségeire kell összpontosítania, mint a gyengeségeire. Válasszon egy dolog, amelyet javíthat ezen a héten, és álljon rá könyörtelenül. De talán a legnagyobb erőd nem vagy az öt legjobb listán. Íme néhány olyan tulajdonság, amely nagyban változtathat:

A becsületes, kommunikációs emberek ösztönzik a fejlesztési kapcsolatok egyik legfontosabb jellemzőjét: a bizalmat.

A fejlesztők gyakran csapdába esnek, ahol napokig eltűnnek egy nyúllyukról, és amikor újból felszínre kerülnek, olyan valamit építettek, amely nem integrálódik az alkalmazás többi részéhez, vagy megtudja, hogy üldözi farok megpróbálja megoldani egy olyan problémát, amelynek órákig vagy percekig kellett volna tartaniuk.

Kommunikálni, kommunikálni, kommunikálni. Ne futtassa túl sokáig egyedül. Minden nap ellenőrizze a kódját. Kódértékeléseket szerezhet legalább 1 vagy 2 csapattagtól. Tudassa menedzserével a napi munkáját.

Ez kölcsönös bizalmat teremt. Csapatának lehetősége lesz arra, hogy segítsen az akadályok felszámolásában, és megtanulja, hogy bízhat benne, hogy folyamatosan tartja őket a folyamatban, és folyamatosan, folyamatosan halad.

Hatékonyság: Engem a legfontosabb az, hogy mekkora a listán. Ez egyértelműen a személyes termelékenység egyik legfontosabb aspektusa, de a személyes termelékenység sokkal kevésbé befolyásolja a csapat termelékenységét, mint gondolnád. A valódi hatékonyság érdekében olyan tulajdonságokra kell összpontosítania, amelyek javítják a szorzótényeződet: Mennyivel javíthatja az egész csapat hatékonyságát? A személyes hatékonysággal kapcsolatban sokkal többet olvashat a „JavaScript újévi határozatok visszaszámlálása” című részben. Különösen a 2. tétel: “Javítsa fejlesztési folyamatát”.

Következő lépések

Mint láttuk, számos fontos tényező hozzájárul a legjobb fejlesztők sikeréhez. Szóval hol kezdje?

A problémamegoldó képesség a lista legfontosabb eleme. Íme néhány dolog, amit most megtehetsz a javítása érdekében:

  • Nyomja meg magát néhány kódolási gyakorlattal. A kezdőknek ellenőrizniük kell a JavaScript sávot a FreeCodeCamp-en, vagy a gyakorlatokat az Eloquent JavaScript-en. A fejlettebb fejlesztőknek építészeti koncepciókon kell dolgozniuk, miközben gyakorlati alkalmazásokat építenek. Mindig tolja magát a jelenlegi képességei szélén.

Ugyanez fog fejleszteni képességeit, tanulási képességeit, és még élvezetét és szenvedélyét a kód iránt: Gyakorold!

Ki tudta volna kitalálni, hogy csak annyit kell tennie, hogy egy tízszeres fejlesztő top 5 legfontosabb tulajdonságából 4 felvegye a gyakorlatot?

Az egyetlen hiányzó darab kitöltéséhez tanítsa meg másoknak a tanultakat. Válaszoljon kérdésekre, mentora, párosítson programot munkatársaival, és győződjön meg arról, hogy a csapat minden tagja elkötelezett a mentori kultúra mellett.

Oszd meg mindenki, amit körülötted találsz a kiválóság iránt, és az egész csapat javul veled.

Nem biztos benne, mit kell dolgozni?

Ismerje meg a JavaScriptet Eric Elliott segítségével. Hozd magaddal a csapatot!

Eric Elliott a „JavaScripti alkalmazások programozása” (O’Reilly) és a „Tanulja meg a JavaScriptet Eric Elliottmal” szerzője. Közreműködött az Adobe Systems, a Zumba Fitness, a The Wall Street Journal, az ESPN, a BBC és a legjobban felvevő művészek, köztük Usher, Frank Ocean, Metallica és még sok más szoftvertermékeiben.

Ideje nagy részét a San Francisco-öböl környékén a világ legszebb nőjével tölti.