Den gylne kodings regel

Koding — er det kun for livsfjerne nerder? Spiller det noen rolle om kodere er bare menn, og trenger man egentlig forholde seg til andre mennesker når man har en datamaskin?

20/11/2018

Christoffer Vig

Koding — er det kun for livsfjerne nerder?

Spiller det noen rolle om kodere er bare menn, og trenger man egentlig forholde seg til andre mennesker når man har en datamaskin?

(Read this article in english?)

Linus’ gjenkomst

Linus Torvalds var nylig i fokus i IT-nyhetene etter at han annonserte behov for å trekke seg tilbake for en periode. Linus har en sentral rolle i utviklingen av kjernen i operativsystemet Linux. Det er vel ingen overdrivelse å si at Linux har hatt en enorm betydning for programvareutvikling de siste 25 år.

En rekke pinlige og vanskelige konflikter i utviklermiljøet ledet Linus til en erkjennelse av manglende kommunikasjon. Linus skriver “I realized that I had completely misread some of the people involved”.

Linus innrømmer manglende evne til å kommunisere med sine kolleger på det følelsesmessige planet — han mangler empati, og vil trekke seg tilbake for å søke hjelp til å lære seg å forstå og respondere på andre menneskers følelser. Han sammenligner avbrekket med tidligere perioder hvor han har trukket seg tilbake for å utvikle verktøy, slik som kildekodesystemet git. Han må nå igjen lære seg nye triks, allerede har han planer om å lage et program som sjekker utgående e-post og holder igjen utsending dersom upassende språk oppdages.

Linus vendte tilbake fra ørkenen (?) etter litt over en måned. I mellomtiden hadde Linux-kernel utviklerne blitt enige om en ny Code of Conduct, som tydelig vektla krav om å unngå trakassering og dårlig oppførsel. For å finne ut om noen endring i oppførselen hadde funnet sted, gjorde nettstedet Phoronix en sammenligning av tonen i Linus’ kodegjennomgang før og nå. Forskjellen er merkbar. Mens han tidligere kunne skrive “COMPLETELY UNACCEPTABLE” med store bokstaver, er det nå det litt mer moderate “Just don’t do it“.

IT og empati

Linus er ikke noe enestående tilfelle. IT-verdenen er dominert av menn som jobber med maskiner. Maskinens egenskaper kan ha en tendens til å smitte over på mennesket. Menneskelig samhandling blir inndata og utdata, kalkyle og beregninger, hvor følelser gis liten betydning.

Kommunikasjon med kunder, brukere, kolleger og venner blir kort og hard, uten tanke på hvordan det blir mottatt.

Denne tendensen til følelsesløs kommunikasjon er noe vi ser bre om seg — netthets og stygge kommentarer er heller normen enn unntaket i mange debattfora, hvor man gjerne ser seg nødt til å ansette moderatorer for å filtrere vekk støtende innlegg.

Men empati er mer enn et filter. Det er en måte å være til i verden på, i et samspill med andre mennesker. Det motsatte er hvor hver enkelt lever isolert som om de befant seg på hver sin øde øy.

Empati er evnen til å forstå andre menneskers følelsesliv og viser seg i praksis ved at man tar hensyn til andre menneskers følelser.

Bli mer empatisk — du også!

Så hva skal du gjøre, dersom du er en person som plutselig en dag får beskjed om at — hei! du mangler empati. Hva gjør du? Er du dømt til et liv på en øde uempatisk øy?

Man skulle kanskje tro at empati er medfødt. Men de fleste andre menneskelige egenskaper utvikles og påvirke av livet etter fødselen. Vi har egentlig ikke noen god grunn til å tro at evnen til å føle empati skulle være noe unntak.

Den gylne regel — du skal gjøre mot andre som du ønsker andre skal gjøre mot deg selv — er et moralsk prinsipp som finnes i de aller fleste kulturer i en eller annen variant. Det er kanskje det nærmeste man kommer et universelt moralsk prinsipp.

Dessverre er ikke andre menneskers tanker og følelser direkte tilgjengelig for oss. Vi er nødt til å bruke de verktøyene vi har, via sansene oppfatte ord og bevegelser, som tolket med fantasi og innlevelse gjør oss i stand til å sette oss inn i den andres sted, og oppnå en forståelse av den andres tilstand.

Det er ikke bare enkelt å endre allerede innøvd adferd, men det er mulig. I starten trenger man kanskje hjelpemidler, huskelapper e.l. Den gylne regel kan fungere som et filter som automatisk aktiveres rett før man skal til å uttrykke noe: Hvordan ville jeg selv reagert på dette jeg nå skriver? Hva ville den andre ønske/ikke ønske?

Som Aristoteles sa: «Vi blir modige gjennom å gjøre modige handlinger» — på samme måte vil vi kunne utvikle empati gjennom å etterligne og venne oss til å gjøre empatiske gjerninger.

Den gylne kodes regel

Kode er vanskelig å forstå. Ikke bare for de som ikke “kan” koding, utviklere er vanligvis fullt klar over at kode kan være vanskelig å forstå, og en viktig del av kodejobben er å forsøke å gjøre det enklere. Nettopp dette — å sørge for at koden er forståelig — kan man argumentere for via den gylne regel. Jeg skriver kode som er lett å lese, fordi jeg selv har erfart smerten ved å forsøke å forstå uforståelig kode, og jeg ønsker ikke å påføre andre kodere denne smerten. En programvareutvikler vil kunne fortelle deg en rekke ulike tiltak hun kan gjøre for å sørge for at koden er forståelig. Fra korrekt formatering av teksten og riktige innrykk, gode navn på variablene, til å unngå at koden gjør ting unødvendig.

Man kan si at en god programmerer følger den gylne kodes regel:

«Du skal kode på en måte som du ville ønsket at andre hadde kodet.»

Den gylne kodes regel krever at koden er skrevet for din neste. Om det er deg selv, din kollega, eller noen helt ukjente som er mottager/leser av koden spiller ingen rolle. Forsøk å gi koden et forståelig uttrykk. Forsøk å unngå at koden kan være til skade. Benytt gjerne prinsipper for god kode av typen «clean code», men ikke glem at prinsippene bare er et hjelpemiddel.

Hvordan gjøre kodegjennomgang

April Wensel har jobbet mye med “Compassionate coding”, og har bl.a. holdt presentasjoner om hvordan gjøre en god kodegjennomgang.

Andres måte å kode på kan ofte virke provoserende, av ganske usaklige grunner (feil bruk av parenteser osv.) . For å sikre at kommentarene er nyttige, skal du stille deg disse spørsmålene før du kommenterer en annen persons kode:

“Er det sant?”

“Er det nødvendig?”

“Er det snilt?

Ved å stille seg selv disse tre spørsmålene (ofte kalt Sokrates’ sil) vil man kunne sikre at kodegjennomgangen holder et høyere saklighetsnivå.

Linus fikk erfare «den harde veien» at det er viktig å forholde seg til andre mennesker og deres følelser. Hvorvidt han deltok på seminar hos April, eller rett og slett kom på gylne koderegler helt av seg selv vites ikke.

Mannsdominansen i IT fører sannsynligvis til at vi går glipp av mange store IT-talenter. Empati er et viktig ledd i å sikre at alle stemmer er representert i arbeidet med å utvikle morgendagens IT-løsninger.

Originally published at cowork.no on November 20, 2018.

------------------------------

Den gylne kodings regel was also published in
Coworkforce on Medium, where people are continuing the conversation by
highlighting and responding to this story.

Behov for hjelp med din digitale produktreise?
Vi tar gjerne en kaffeprat!