10x-utvecklare är vår tids mytiska varelser.
Vad är de? Vad gör de för att vara så speciella?
Vad betyder 10x egentligen? En 10x-utvecklare är en person som är (tros vara) lika produktiv som tio andra. Han/hon skulle därför kunna producera 10 gånger mer än sina kollegor.
Vad pratar vi egentligen om?
Självklart kan en senior ingenjör vara tio gånger mer produktiv än en praktikant, men skulle det verkligen vara möjligt bland kollegor med samma års erfarenhet och åtminstone på pappret samma kompetensnivå?
Ofta när man läser om prestationer och produktivitet i arbetsgrupper kommer man att stöta på saker som Pareto-lagen och den Gaussiska kurvan. (även kallad Power Law och Bell Curve).
Paretolagen är den berömda 80-20-regeln, som gäller för nästan allt: från fördelning av rikedomar och global ojämlikhet till tidshantering och produktivitet.
När man talar om prestationer i team resulterar det i följande:
80 % av utvecklarna gör bara 20 % av jobbet. Detta innebär att de återstående 20 %, de som presterar bäst, kan utföra 80 % av alla uppgifter.
Bellkurvan används ofta för att beskriva fördelningen av de anställdas förmåga att prestera, vilket innebär att cirka 80 % av de anställda placerar sig runt genomsnittet medan resten antingen är toppresterande eller dåligt presterande.
Hur vi än ser på dessa grafer och siffror kan skillnaden mellan den som presterar bäst och den som presterar sämst i ett team vara enorm. Kanske hänvisar vi bara till detta när vi talar om en 10x dev? Eller så ska vi bara betrakta skillnaden mot genomsnittet av de andra dev. Oavsett om något sådant skulle vara statistiskt möjligt eller inte kan vi inte förneka att vissa utvecklare faktiskt är mycket mer effektiva än andra.
Varifrån kommer denna fantastiska förmåga?
Är det på grund av många års erfarenhet? Inte riktigt.
10 års erfarenhet kan helt enkelt innebära en ettårig erfarenhet som upprepas tio gånger.
Om du sitter fast i samma jobb och gör samma sak varje dag, varje år, och om du inte känner någon lust att ta steget upp och lära dig nya saker, kan du bli förvånad när en vanlig utvecklare med bara tre år på sitt CV är jättesnabb och vet mer än du (inte bara om den senaste coolaste tekniken).
Är det för att de jobbar tills sent och inte har något liv? Inte riktigt.
En 10x utvecklare slipar inte långa arbetsdagar. Det betyder inte att man arbetar längre. Det betyder definitivt att man arbetar hårdare, men oftast på ett smartare sätt.
Jag är långt ifrån en 10x dev, men under min karriär har jag haft turen att träffa och arbeta med åtminstone ett par sådana fantastiska individer, och jag kan säga att det här är några av de egenskaper som de hade gemensamt:
Arbeta med rätt saker på rätt sätt
Effektivitet och ändamålsenlighet:
Att vara effektiv handlar om att göra rätt saker medan att vara effektiv handlar om att göra saker på rätt sätt.
Nja, 10x-utvecklare gör vanligtvis båda. De slösar inte tid på att göra onödiga saker på det mest perfekta sättet. De får rätt saker gjorda, på det (tillräckligt) rätta sättet.
Detta kan uppnås genom att:
Ställ frågor
varför
Ibland kan dåliga krav, otydliga specifikationer och felaktiga antaganden få dig att slösa bort timmar av utvecklingstid. Inte bara måste du justera dina uppskattningar eller klämma in omarbete, utan det kan också vara mycket frustrerande att behöva kasta bort all den fantastiska kod du just skapat.
hur
Om du har kört fast, om du behöver hjälp, be om hjälp. Be inte om en lösning, be om en antydan, om vägledning, om ett tips som kan leda till att du hittar lösningen på egen hand. Var inte rädd. Det är inte meningen att du ska kunna allt och det är bra att du visar att du är ivrig att lära dig.
Var fokuserad, undvik distraktioner
Hur mycket tid ägnar vi egentligen åt att titta på youtube, kolla vår telefon, svara vänner på WhatsApp eller Snapchat, eller bara scrolla på Facebooks vägg?
Vad händer om jag säger att du spenderar 1-2 timmar om dagen på dem?Kontrollera användningen av dessa appar i din telefon. du kommer att bli rädd. (du kan använda appar som denna för att bevisa det).
Vi behöver inte nödvändigtvis sluta med allt detta. Att bara inse hur mycket tid som slösas bort på dessa saker, när vi ska vara produktiva, är det första steget och sedan kan vi använda verktyg som Pomodorotekniken för att hjälpa oss att hålla oss borta från sociala nätverk och smarttelefoner och hålla FLOWet under åtminstone hela tiden för en Pomodoros timer.
Jag säger inte ens att vi inte ska ta en paus, det är mer att vara riktigt medveten om var vår värdefulla tid dräneras. (Även om det definitivt är bättre att resa sig upp, ta en promenad, prata med en kollega, gå och spela kicker eller bordtennis i tio minuter än att kolla Facebook. Ge dina ögon och din hjärna lite vila utanför skärmen!).
Att ta en paus, slappna av en liten stund kan faktiskt öka din produktivitet
Använd verktyg som snabbar upp dig, lär dig genvägar
Vad vi gör mest är att skriva och klicka, det verkar galet, men du kan verkligen bli supersnabb om du börjar använda genvägar i ditt IDE och om du använder Terminalen/Kommandolinjen flitigt. Att köra grep version package.json
är mycket snabbare än att gå till Finder, klicka på package.json open och sedan läsa versionsparametern.
Typning
git stash git pull git checkout -b my_new_feature git stash pop
är mycket snabbare än att göra samma sak med något visuellt verktyg.
Du kanske tycker att det bara är att spara sekunder, men för att bli en 10X utvecklare spelar varje sekund roll (och hur som helst är det bra att hålla sig borta från musen för att förebygga karpaltunnelsyndrom)
Här kan du läsa om några verktyg och tips som hjälper mig att skriva och felsöka kod bättre och snabbare.
Var ivrig att lära
Mängden information som finns där ute är enorm. Ibland måste du betala för den, men för det mesta är den gratis. Det finns inga ursäkter för att inte ägna lite tid åt personlig utveckling. Läs artiklar, lyssna på podcasts, titta på handledningar och följ onlinekurser. Det behöver inte ens alltid handla om kodning – annars skulle man kunna hävda att en 10x utvecklare tillbringar hela dagen med att ”arbeta” (jag tycker till exempel att Getting Smarter Every Day och You are not so smart är mycket tankeväckande).
Det är mer en attityd, ett sinnestillstånd. Det är nyfikenheten och kunskapstörsten som skiljer dig från genomsnittet.
Omge dig med toppresterare / hitta en mentor
Att vara den snabbaste, smartaste och skickligaste utvecklaren i ditt team kan vara bra för ditt ego, men det är inte bra för din utveckling. Hur bekvämt och tillfredsställande det än kan vara, försök att aldrig vara den smartaste personen i rummet och håll alltid utkik efter personer som är mycket bra på det de gör, som är bättre än du och håll dig till dem.
Ge tillbaka. Dela med dig av dina kunskaper
Så fort du lär dig något, försök att hjälpa någon annan, lär andra kollegor, dela med dig av det du lärt dig.
Det kan vara att ge några råd efter din dagliga standup, göra en kort presentation för ditt team, skriva ett blogginlägg eller bli mentor på en kodningsplattform online.
Var aldrig arrogant eller irriterad på någon som vet mindre än du.
Om vi tar hänsyn till allt detta har en mycket duktig utvecklare naturligtvis gedigna och starka programmeringskunskaper, men det som verkligen kan göra skillnad är passion, attityd och vissa mjuka färdigheter.
Den kollega som jag såg med vördnad på och som inspirerade mig mest när det gällde att förbättra mig själv var mycket motiverad och skicklig, och naturligtvis supersnabb i sina uppgifter: ingenting verkade stoppa eller skrämma dem, om de inte visste något undersökte de det i ett par timmar och kände sig sedan tillräckligt självsäkra för att ta ägarskap för felrättningen eller funktionen. Dessutom skrev de dokumentation, organiserade workshops eller minipresentationer så snart de hittade eller lärde sig något som kunde vara till nytta för andra teammedlemmar. De älskade att dela med sig.
Och i slutändan tror jag att detta kan vara den verkliga multiplikationsfaktorn. Att dela med sig av kunskap, främja tillväxt, vara ett exempel på passion och hårt arbete, är det som verkligen kan ha en otroligt positiv inverkan på andra människor och höja ribban i ett teams prestationer ( även om det bara består av ”genomsnittliga” utvecklare).