En utviklers karakter
- Thursday, February 19th, 2009
- Skriv en kommentar
Dine personlige karaktertrekk har direkte innvirkning på din evne til å programmere. Karaktertrekkene som betyr mest er ydmykhet, nysgjerrighet, intellektuell ærlighet, kreativitet, disiplin og opplyst latskap. Overraskende nok gjør ting som rå intelligens, erfaring, ståpåvilje og mot like mye skade som nytte når det kommer til programmering.
Å være en av de bedre utviklerne har nesten ingen ting med talent å gjøre, og nesten alt å gjøre med å forplikte seg til personlig utvikling. Mange programmerere søker ikke aktivt ny informasjon og utviklingsteknikker, men stoler heller på tilfeldig tilgang til ny informasjon når de trenger det. Hvis du bruker en liten prosent av tiden din til å lese og lære om programmering, vil du derfor etter noen få måneder eller år klart skille deg ut fra de fleste andre programmerere.
Riktige karaktertrekk er først og fremst et spørsmål om å ha de riktige vanene. Den beste oppskriftene på å bli en god programmerer er å utvikle de riktige vanene – så vil resten komme naturlig.
Påstandene over er hentet fra Code Complete (fritt oversatt etter key points fra kapittel 33). De er på en måte overraskende, samtidig som de gir mening. Jeg er blitt spesielt oppmerksom på dette med vaner, og skjønner at om jeg skal bli en bedre utvikler så må jeg kultivere nye vaner. Og det er faktisk ganske enkelt om man gjør det på den riktige måten. Man må gå sakte frem, og gjøre ting riktig. Gjør små prosjekter hvor du f.eks. fokuserer på å gjennomføre TDD 100%. Eller å følge ett av SOLID prinsippene. Gjenta, gjenta og gjenta. Om ikke lang tid har du tillagt deg en ny vane.
“The moral virtues, then, are engendered in us neither by nor contrary to nature…their full development in us is due to habit…Anything that we have to learn to do we learn by the actual doing of it…Men will become good builders as a result of building well and bad ones as a result of building badly…So it is a matter of no little importance what sort of habits we form from the earliest age – it makes a vast difference, or rather all the difference in the world.”
-Aristotle
Bytt ut “moral virtues” med “programming skills”…
Kategorier: .net ninja.
RSS feed for kommentarene.
Tilbaketråkk.



February 22nd, 2009 at 8:13 pm
Jeg har også lest boka en tid tilbake. Syntes den var god. Derimot lurer jeg på hvordan rå intelligens og erfaring kan skade. Hvis man kombinerer intelligens med erfaring skulle man vel bare bli en bedre programmerer med tiden? Man lærer av sine feil (intelligens) og gjør det bedre neste gang (erfaring). Eller?
February 23rd, 2009 at 7:48 pm
Når det gjelder erfaring – det er ikke sjelden at man er skeptisk til “gamle” utviklere. Utviklingen skjer så raskt i bransjen vår, og utviklere som utdannes i dag lærer mere effektive måter å jobbe på enn det jeg gjorde. Erfarne utvikleres største utfordring er å lære seg av med dårlige vaner.., dvs. vaner som ikke er “gyldige” lengre.
Innen systemutvikling utgjør dessuten informasjon fra bøker en mye større del av kunnskapen som er nødvendig for å “gjøre jobben” enn det personlig erfaring gjør.
En annen ting som nevnes i boken er at utviklere som har hatt suksess innenfor faget har en tendens til å “flyte” på denne suksessen, og derfor stopper å utvikle seg. De fleste lærer det meste av det de bruker i løpet av de par første årene som utvikler.., deretter repeterer de denne (etterhvert utgåtte) erfaringen.
Når det kommer til intelligens så er budskapet at det er ikke avgjørende hvor intelligent du er, men hvordan du bruker den. Det er viktig at man er ydmyk – de beste utviklerne (hevder forfatteren) er de som innser hvor små og utilstrekkelige hjernene våre er. Programmering er en øvelse i å kompansere for begrenset hjernekapasitet. Studier viser at ydmyke utviklere som kompanserer for sin feilbarlighet skriver kode som er enklere å lese og forstå – for seg selv og andre – og som har færre feil.