Kjersti om den geniale utvikleren [Luke 19, 2012]


onsdag 19. desember 2012 Julekalender Meninger Softwareutvikling

Kjersti Berg (@KjerstiBB) er en dyktig og engasjert utvikler som ikke er redd for å prøve nye ting. For et år siden forlot hun Java til fordel for C#, og for et halvt år siden byttet hun ut konsulentselskapet Miles med PSWinCom, og ble min kollega.

Kjersti står også bak Bergen CodingDojo, og er med og arrangerer BOOSTER-konferansen. I dag følger hun opp en kommentar hun kom med her på bloggen for litt siden...

fbda2c379515156ea6800018d708a8a5

Hvem er du?
En programmerer med sans for folk.

Hva er jobben din?
Utvikler i PSWinCom i Bergen.

Hva kan du?
Kan slette kode. Ingen kode – ingen bugs.

Hva liker du best med yrket ditt?
At jeg, på en god dag, kan lage noe som kan bidra tilk å gjøre livet litt enklere for noen andre.


Jakten på enhjørningen

tl;dr; Myten om den hyperproduktive utvikleren, er den egentlig sann? Og, bør vi bruke tid på å diskutere den?

Den dukker opp med mer eller mindre jevne mellomrom. Påstanden om at forskjellen i produktivitet blant utviklere er stor. Veldig stor. Større til og med enn blant andre yrkesgrupper. Sist i en artikkkel i Computerworld, der vi kan lese at Lyle M. Spencer rapporterer at de beste systemutviklere produserte 13 ganger så mye testet funksjonalitet per månedsverk som de gjennomsnittlige, og 32 ganger mer enn de dårligste. . Et kjapt søk på "programmer productivity" på Google gir over 12 millioner treff, og mange av dem gjentar denne påstanden i en eller annen form, med litt ulike kilder.

Jeg er i utgangspunktet skeptisk. Jeg får det nemlig ikke til å gå opp med min egen erfaring. Ikke at man skal trekke for bastante konklusjoner bare basert på egne erfaringer, a.k.a. anekdoter, men siden forskjellene er rapportert å være så store, skulle jeg ikke ha sett i det minste noen tegn til dette etter 10 år som utvikler? Flinkere folk enn meg har studert kildene, og utfordret påstandene og kritisert kildebruken. Klart det er forskjell på folk, men er disse forskjellene virkelig den viktigste faktoren for om et prosjekt skal lykkes eller ikke? Bør vi derfor ta konsekvensen av dette og lønne "dyktige" utviklere mer enn de "uproduktive"?

Etter å ha lest litt i noen av kildene som brukes for å underbygge påstanden er jeg ikke blitt mer overbevist. Ingen av de kildene jeg har lest klarer engang å forklare hva produktivitet i vår bransje egentlig er for noe, langt mindre hvordan vi meningsfylt skal kunne måle det. Ingen har klart å finne en objektiv metode for å skille de hyperproduktive fra de mindre produktive utviklerne. Hvorfor ikke? Kanskje fordi hele greien er en myte mer enn faktisk viten? Finnes det ikke egentlig noe som kan kalles utviklerproduktivitet i det hele tatt? Kanskje er produksjon helt feil analogi på det vi gjør?

Men, vil du kanskje si, jeg har nå vitterlig møtt endel idioter i jobben opp gjennom årene. Og noen av dem var ikke bare mindre produktive, de bidro faktisk negativt, fordi vi måtte bruke masse tid på å rydde opp i alt rotet de klarte å produsere. Neste gang du instinktivt tenker det; prøv å se om det finnes andre forklaringer enn bare den enkle; idioten er ikke en så flink og produktiv utvikler som meg. Kan det være at han er blitt tildelt en oppgave han ikke hadde forutsetninger for å løse alene, og fordi det ikke er en kultur for å spørre om hjelp i teamet? Kan det hende han er demotivert, fordi han har sittet med den samme typen oppgaver i flere år, og aldri fått mulighet til å utvikle seg? Har han kranglet med sjefen? Har han kranglet med kona?

I en studie om kollektiv intelligens, ble 192 team ble satt sammen på ulikt vis og gitt et sett oppgaver de skulle løse for å finne ut hvilke faktorer som påvirket gruppens score. Team med gruppemedlemmer med høy IQ gjorde det ikke bedre enn team der medlemmene hadde lavere IQ. Faktisk var heller ikke faktorer som motivasjon, samhold eller tilfredshet i gruppen avgjørende. Det som sto igjen som den viktigste faktoren var andel kvinner i gruppen! Som kvinne er det selvfølgelig deilig å kunne slå en mannlig kollega i hodet med slike resultater, men, som forskerne selv sier; poenget er nok ikke først og fremst å ha med mange kvinner, men å ha med folk som er flinke til å lytte til hverandre, som er sensitive til andres behov, som er åpne til andres idéer, egenskaper som de altså mener er mer fremtredende hos kvinner enn hos menn.

Hvis jeg har vært flink (sic!) nå, så er du kanskje overbevist om at utviklerproduktivitet ikke er et så veldig interessant fenomen å snakke om. Men, er det så farlig å gjøre det? Det er jo ikke på noen måte bevist at det ikke er så store forskjeller blant utvikleres evne til å løse problemer, selv om vi ikke klarer å måle det ordentlig ennå. Det føles jo ofte intuitivt riktig, selv om ikke forskningen gir ryggdekning for det. I tillegg er det jo deilig å føle seg som en del av en produktiv elite, ikke sant?

Jeg tror det gjør noe. Hva tenker du for eksempel om kollegaene dine? De som aldri drar på konferanser, og som ikke lærer seg et nytt programmeringsspråk hvert år. Eller han nye kisen som kommer rett fra skolen, og ennå ikke har lært seg hva som er «best» av TDD og BDD, eller ikke har sterke meninger om distribuert versjonskontroll og DI-rammeverk. Er du i stand til likevel å lære noe av ham? Lytter du ordentlig til det han sier, eller avviser du ham som en dinosaur eller noob, alt ettersom? Å lage software er helt grunnleggende en sosial aktivitet, men, når vi er for opptatt av å dyrke de beste, å forsøke å bli en av de beste, de hyperproduktive, geniale utviklerne, så er det lett å glemme det.

Med andre ord; jeg tror påstanden, eller egentlig, myten om den geniale utvikleren, ødelegger for vår evne til å vise respekt, høre på andre,og være ydmyk om egne evner. Jeg tror den gjør oss til større rævhol enn vi trenger å være. Og hvem vil vel egentlig være det?

Hvis du skal ansette noen utviklere, så for all del; gjør ditt beste i å finne noen som du tror er flinke og engsjerte, men enda viktigere; finn noen som du tror vil passe inn i organisasjonen din. Og, viktigst av alt, tør å analysere hvordan organisasjonen din hjelper eller hindrer de utviklerne som er der i å gjøre en så god jobb som de kan. Det er mye mer å hente der.

The talent myth assumes that people make organizations smart. More often than not, it's the other way around. (Malcolm Gladwell, The talent myth, fra the New Yorker)


comments powered by Disqus