You are using an outdated browser. Please upgrade your browser to improve your experience and security.

Miljøvennlig koding

En åpen Macbook med skjermen full av koder står på et skrivebord

Utviklere kan faktisk bidra til å redde klimaet.

Av: Marius Slette Johansen, Head of Platforms and Services

Er mer effektiv kode lik mindre strøm?

Kan mer effektiv kode påvirke miljøet?

Har vi utviklere et miljøansvar?

En forskningsartikkel fra et fransk team gjorde analyser på kode for å måle strømforbruk før og etter optimalisering, og fant at optimalisert kode bruker mindre strøm. Derfor spør jeg, har vi utviklere et større ansvar enn jeg trodde?

I disse dager er klimautfordringene høyt på agendaen til folk, og dermed også hos politikerene. Store nasjoner dysser ned global oppvarming, mens enkeltindivider som Greta Thunberg hever stemmen for miljøet, og samler en stor bevegelse bak seg – opp mot makteliten.

I Oslo og rundt om i vårt land ser vi Miljøpartiet De Grønne fosse frem på meningsmålinger. Valgresultatene fra kommunevalget i 2019 viser at miljøspørsmålene må tas alvorlig, og de øvrige politiske partiene hyler i kor om at deres egen miljøpolitikk ikke kom godt nok frem i valgkampen.
Dem om det, men hva med oss? Vi som driver digitalisering av samfunnet, vi som skriver linje på linje med kode for å gjøre hverdagen mer effektiv og bedre for folk og næringsliv.

Kan vi påvirke miljøet?

Jeg spiste lunsj med noen kolleger som jobber i et prosjekt der kunden ønsker å gjøre noe for miljøet, og for å komme dit trenger de å samle masse data om miljøet, prosessere disse dataene og presentere resultatet. Enkelt nok i teorien, men så gikk dialogen over på hva prosessering egentlig innebærer. For denne typen prosjekt ligger det en dataplattform bak som skal behandle enorme mengder data. Dette krever store ressurser fra datasentre som leverer skytjenester plattformen bruker. Et datasenter er en samling strømførende komponenter som gjør beregninger og leverer resultat. Det er hardware og software i skjønn forening. Milevis av nettverkskabler, strømkabler, utallige prosessorer og hovedkort som skal ha strøm og kjøling. Det er ikke vanskelig å se at dette krever mye strøm.

De som driver disse datasentrene er opptatt av strømforbruk, fordi strøm koster penger. Effektivisering er dermed viktig. Google for eksempel, har vært karbonnøytrale i et tiår og jobber hardt for at deres datasenter skal gå på grønn energi.

Men hva kan vi gjøre, vi utviklere?

Jeg kom over en video hvor Rob Pike, en av personene bak kodespråket Go, snakket om effektiv kode og hvordan Go er laget med hensikt om å være enkelt, effektivt og forståelig. Pike var innom en setning jeg bet meg merke i:

When the [complex] features are there to make life easier and more expressive, they tend to generate more expensive (in terms of computer time) solutions.

Når vi koder løsninger som trekker inn store rammeverk (om det er Microsoft, Java eller Javascript-rammeverk) følger det med mye ekstra kode som ikke nødvendigvis er essensiell for oppgaven, men det løser problemet der og da. Hva om vi hadde skrevet mer selv – hadde vi da fått mer effektiv kode som krever mindre prosessorkraft for å kjøre?

Det er kanskje ikke like ressurskrevende eller relevant for et enkelt program, en liten app, eller en webløsning, men hva skjer når vi skalerer opp og bruker en skytjeneste eller ti, når volumet og prosessorkraften vi bruker øker dramatisk?

Løfter vi blikket videre og ser på hvordan samfunnet utvikler seg så ser vi en enorm økning i bruk av digitale tjenester, mobilbruken øker fortsatt, og alt vi gjør i dagens samfunn flyttes på nett. Store webløsninger har masse trafikk. Vi lager langt mer komplekse tjenester, løser stadig mer komplekse problemer, analyserer mer data, og sender flere snaps og videoer til hverandre. Dette krever mer infrastruktur, og som vi har etablert så er infrastruktur en blanding av kabler, sendere, datamaskiner og programvare, og alt dette krever store mengder strøm.

Alle kan bidra til en mer miljøvennlig verden på sin måte. Kan vi utviklere spare verden for litt ressursbruk hver dag gjennom å skrive mer effektiv kode?

Jeg tror det.

Flere interessante saker fra NoA Ignite

Er en grafisk designer en grafisk designer?

I det siste har jeg prøvd å finne en dekkende tittel for grafisk design i digital produktuvikling. Grafisk design assosieres først og fremst med printbasert design, og er derfor ikke dekkende. User Interface Design dekker heller ikke bredt nok, da det ikke omfatter merkevare og visuell identitet. Finnes det unison enighet om en dekkende tittel for det digitale motstykket til grafisk design?

Har universell utforming noe med demokrati å gjøre?

Ja. I hovedsak betyr demokrati at alle innbyggere deltar aktivt i viktige politiske beslutningsprosesser og alle har lik rett til å delta i samfunnet — og vi ser på ytringsfriheten som en av de viktigste verdiene i et demokrati.

Skvulp - ukentlige nyheter fra bransjen

Skvulp uke 39

Respektløs design, Internets historie fortalt gjennom Google signup forms, verdens mest avanserte smarthus, medisin mot kreativ tørke, studenters favoritt-medier, retur fra Figma til MS Paint og en curling-robot. Her er ukens beste saker!

Skvulp uke 38

TikTok-forbud fra søndag, hvordan samarbeide med andre designere, McKinsey om korona-varehandel, Lego+IKEA, Facebook for studenter, Commodore 64 på sprayboks. Her er ukens beste saker!

Skvulp uke 37

Det Amazon egentlig tjener penger på, AI vs. designere og utviklere, 4 triks for historiefortelling, Elkjøps kundeklubb runder millionen og tegnsettingens historie. Her er ukens beste saker!