Egoløs programmering: De 10 Bud


torsdag 28. april 2011 Softwareutvikling Meninger Softskills

I dag ble jeg tipset om en artikkel av Ted Neward – Advice to a New Programmer – med mye bra innhold om ting han og noen andre guruer skulle ønske de hadde blitt fortalt da de startet sin karriære.

Artikkelen nevner blant annet hvordan testing gradvis har blitt en viktig aktivitet for programmerere gjennom det siste tiåret, og at det nå blir regnet som et grunnleggende ansvar utviklere har. Den trekker også frem betydningen av parprogrammering:

“… when programmers actually practice pairing for a non-trivial amount of time, they quickly discover that pairing is nothing like they imagined it to be. In fact, when I talk to developers who initially resist pairing, and then give it a shot, the reactions that emerge are overwhelmingly positive …”

En annen sannhet ertikkelen snakker om er at den raskeste måten å utvikle på er å gjøre det riktig. Kvalitet er lik fart!

“… building applications “the right way” (whatever way that is) to produce a quality application is actually faster than producing an application quickly, then spending just as much time (or more) fixing the inevitable bugs and architectural changes that appear.”

Men det Ted sier var viktigst å lære for ham er det som kalles egoløs programmering, en programmeringsstil hvor personlige faktorer minimeres for å øke kvaliteten. Denne stilen har 10 bud man kan følge for å få en bedre hverdag som deltager i et utviklingsteam. Jeg har oversatt dem til norsk:

De 10 bud

1. Forstå og aksepter at du kommer til å gjøre feil.
2. Du er ikke koden din.
3. Samme hvor mye "karate" du kan vil det alltid være noen som kan mer.
4. Ikke skriv om kode uten konsultasjon.
5. Behandle folk som kan mindre enn deg med respekt, ærbødighet, og tålmodighet.
6. Det eneste konstante i verden er endring.
7. Den eneste sanne autoritet kommer fra kunnskap, ikke fra stillingen.
8. Kjemp for det du tror på, men akseptere nederlag på en god måte.
9. Ikke bli "den fyren inne på rommet der".
10. Kritiser kode i stedet for mennesker, være vennlig mot utvikleren, men ikke koden.

(Kilden inneholder mer utdypning av hvert bud)

Ted Neward kommenterer:

“… adherents to these 10 commandments will find themselves not only learning more, but gathering the respect and admiration of their peers at a shockingly accelerated rate.”

“However, of all of these, by far the most important principle to understand is that of the first: “You are not your code.” This is a lesson I wish every developer would be forced to learn before ever being allowed to launch a compiler or interpreter, because everything else stems from that basic realization.”

“… when somebody turns to you and says, “I think I’ve found a bug in your code,” that the right response is to say, “Oh, that’s wonderful. Where is it?” That when somebody says, “I think I have a better way of handling this particular situation,” the right response is to say, “Excellent! Show me your ideas.” And that when somebody says, “I still don’t understand how this thing works,” the right response should be, “OK, tell me what part doesn’t make sense and let’s go over it again.”

Jeg anbefaler deg å lese hele artikkelen, og gjør disse budene til dine egne. Si til deg selv hver morgen når du ankommer kontoret, og hver kveld før du sovner: “Jeg er ikke koden min!”

Et siste sitat med på veien:

“It is amazing what one can accomplish
if one does not care who gets the credit.”
-- JohnDoveIsaacs (attrib)

comments powered by Disqus