Så feil kan man ta…

Kjetil Klaussen trodde aldri han skulle gjøre karriere av utvikleryrket. Han skulle bli prosjektleder innen IT, og studerte utvikling fordi han tenkte det kunne være et godt grunnlag for å komme seg oppover i systemet. Ikke var han særlig interessert i faget heller, og ble ikke bitt av basillen før et stykke ut i ingeniørstudiet. Tilfeldigheter gjorde at han fikk deltidsjobb ved siden av studiene gjennomen barndomskompis, og etter fullført ingeniørgrad i elektronikk og sivilingeniør i telematikk endte han opp fulltid i samme bedrift. Dette er 12-13 år siden nå.

I 2008 leste han «Test-Driven Development By example» av Kent Beck og etter det ble aldri verden helt den samme. Kjetil beskriver det selv om at han så lyset, ble TDD-frelst og programmering ble plutselig kjempegøy. Det å ha bevis for at koden han skrev funket – og en varsellampe som sa ifra når han gjorde noe dumt – ga en helt annen selvtillit. Fra da av var det ingen tvil; det var programmering han skulle drive med.

Så feil kan man ta. Og så «rett» kan tilfeldighetene bringe en!

clip_image001

«En god utvikler er en utvikler som aldri lar sjansen gå fra seg til å lære noe nytt. Det trenger ikke være noe stort, men en dag uten å ha lært noe nytt er en bortkastet dag (i alle fall faglig). En god utvikler ønsker alltid å bli bedre og gremmes alltid av å lese egen kode fra i fjor. En god utvikler tar alltid ansvar; gjør man en feil, så rydder man opp etter seg. Gjør andre feil, så hjelper man til med å rydde opp. Trenger andre hjelp, så hjelper man til. En god utvikler vet når man skal be andre om råd og hjelp. En god utvikler kjenner sine verktøy godt og leter alltid etter måter å gjøre ting litt smartere på.»

Og for å nettopp bli en god utvikler, lære noe nytt, må man prøve og feile. Og Kjetil innrømmer at han har gjort mange feil i løpet av årene. Han beskriver selv en feil fra et av de aller første prosjektene han jobbet på:

«Jeg var rimelig fersk i faget, men hadde fått i oppgave å migrere en hel haug med ‘stored procedure’ fra en Microsoft SQL Server til Oracle. Programmeringsspråkene i de to databasene bygger begge på ANSI SQL, hhv T-SQL og PL-SQL, og de er i utgangspunktet ganske like, men T-SQL har noen funksjoner som PL-SQL ikke har og vice versa. Vi hadde verktøystøtte som gjorde det meste av jobben, men der hvor det var avvik måtte jeg inn og skrive om T-SQL til PL-SQL for hånd. For å ikke ødelegge noe på utviklingsdatabasen som resten av teamet satt og jobbet mot, kjørte jeg en restore av denne databasen, som jeg igjen kjørte en migreringsjobb over til Oracle-databasen på. Ettersom dette var en stort utviklingsteam på rundt 50 utviklere, så var utviklings-databasen i stadig endring, og jeg måtte kjøre denne restore/migrere-jobben flere ganger daglig. Svakheten i dette oppsettet var at før jeg kunne kjøre en restore, så måtte jeg slette databasen jeg hadde testet med sist. Før eller siden måtte jo dette gå skeis, så jeg endte jo til slutt opp med å kjøre en ‘drop database’ på begge databasene – både utviklingsdatabasen og min kopi. Jeg kan fortsatt kjenne den ekle følelsen i mageregionen etter å ha oppdaget blunderen et par sekunder for sent.»

På den andre siden har det så klart også vært masse positivt. En av de prosjektene han husker best og hvor han lærte mye og jobbet på et utrolig bra team, var på et prosjekt for ultralydmaskiner. Kvalitetskravene og regelverkene innen medisinsk-teknisk utstyr er så ekstreme og noe av det som gjorde at det var utrolig morsomt å få være med på et slikt prosjekt.

clip_image003

De siste årene har Kjetil jobbet med mange prosjekter og produkter helt fra starten av, noe han betegner som en fantastisk reise. Alt fra å bygge opp team, innføre smidige arbeidsmetoder, finne gode arktiekturløsninger, og ikke minst skrive kilometervis med C#-kode har vært ekstremt lærerikt. Og som rehabilitert eks-konsulent har det vært utrolig fint å få være med i hele produktløpet – ikke bare komme inn som brannslukker, eller bli hivd på som «en ekstra ressurs». Kjetil har lagt sjela si i arbeidet de siste årene, nettopp fordi han vet at det er nettopp koden han produserer som betaler for mat, hus, unger, og alt annet han trenger.

Kjetil mener selv at det har vært uvurderlig for han å få jobbe med, og lære av, folk som har vært bedre enn han, og han har hele tiden hatt et ønske om å bli like gode som dem. Minst. Han anbefaler alle som ønsker å bli gode utviklere å lese minst 10 fagbøker i året, hvorav en av dem er teknologi-spesifikk (programmeringsspråk, rammeverk etc), mens de andre ni handler om metodikk, arbeidsteknikk, og soft-skills. Selv inspireres han av å lese bøker. «C# in Depth» av John Skeet, er gull verdt, men utenom det forsøker han å unngå de rent teknologi-spesifikke bøkene og leser heller bøker som går på metodikk (Kanban, Scrum, Lean), teknikk (TDD, BDD, DDD) og psykologi/soft-skills (ledelse, kommunikasjon, hjerneforskning). Hvorfor? Jo, fordi teknologiene endrer seg raskt, men metodikker og teknikker som man lærer seg har man med seg og kan dra nytte av i lang tid.

For å øke antallet utviklere mener Kjetil at programmering burde innføres som obligatorisk på barneskolen. Det viktige er nemlig at alle – både gutter og jenter – får sjansen til å prøve seg på programmering før de blir store nok til å tro at «dette er for vanskelig».

Drømmen har lenge vært å starte opp og drive eget firma, men enn så lenge er Kjetil «bare» en ansatt. Han bruker mye av tiden i dag til å teste ut websites i Azure, og mener det virker veldig lovende. Han testet litt da Azure og Amazon ble tilgjengelig i 2008/2009, men det har skjedd virkelig mye siden den gang. Kjetil mener nå at Azure-plattformen og verktøystøtten rundt det i Visual Studio imponerer! Kodekvalitet, automatisert testing og kontinuerlig deployment er andre temaer som opptar Kjetil spesielt om dagen. På verktøysiden er combo’en Visual Studio + ReSharper + NCrunch gull verdt.

På Kjetils mobiltelefon er det appene Twitter, Podcast Lounge og Metroblur (rss-leser) som er klart mest brukt. Han liker som sagt og lære og utvikle seg, og deler gjerne av seg selv med andre som vil lære av han også. Vi håper du en dag kan leve ut drømmen om eget firma, Kjetil!