3 måter konkurranseprogrammering gjør deg til en bedre utvikler

Oppdatert: 24. mars 2026

Konkurranseprogrammering handler om å løse en rekke oppgaver raskest mulig under tidspress. Selve begrepet “konkurranseprogrammering” kan initielt virke avskrekkende og noe fjernt. Alt med et element av konkurranse kan skape tanker om at man ikke er på et gitt nivå og skape tvil om man strekker til. Først og fremst vil jeg avfeie dette og påpeke at i denne artikkelen omtaler jeg konkurranseprogrammering som et spenn av mindre oppgaver som tester problemløsningsferdigheter. Men, hvordan kan slike oppgaver faktisk gjøre deg til en bedre utvikler?

Før vi gyver løs videre vil jeg nevne hvordan man kan drive med konkurranseprogrammering. Konkurranseprogrammering i sin rene form kan utføres i konkurranser som IDI Open, NCPC, eller mer lokale konkurranser arrangert av studentforeninger som MAPS (som undertegnede selv var aktivt med i under studiene). Utenom dette er ulike nettsider som Kattis, Leetcode, Project Euler eller Advent of Code gode arenaer for å teste sine problemløsningsferdigheter. Jeg anser slike sider, og oppgavene de tilbyr, til å inngå under paraplyen “konkurranseprogrammering”. Med det sagt, hva er det konkurranseprogrammering nytter for?

1. Forbedre problemløsningsferdigheter som utvikler

Å utføre mindre oppgaver som får deg til å tenke er med på utvikle intuisjon og forbedre problemløsningsferdighetene dine. Fordelen med oppgaver på nettsider som Kattis og Leetcode er at de er relativt raske å utføre og få tilbakemelding på, sammenlignet med større prosjekter i jobb eller hobbyprosjekter. Dette innebærer å sette seg inn i en kontekst, få beskrevet et problem med gitte restriksjoner og en input, og med det prøve å løse problemet. Denne evnen til å trekke ut essensiell informasjon raskt er gull verdt i utviklerhverdagen.

Her vil jeg også gi honnør til min tidligere foreleser i kurset Algoritmer og datastrukturer (IN2010) på Universitetet i Oslo, Lars Tveito, som også understreket viktigheten av slike oppgaver for å utvikle problemløsningsferdigheter og intuisjon. To ferdigheter som ofte er til stede hos studenter som mestrer slike kurs.

2. Større variasjon i utviklerhverdagen

En vanlig dag som utvikler består som regel av en ganske annen type programmering enn den man ser forekomme i konkurranseprogrammering. Her handler det sjelden om å optimalisere algoritmer for maksimal effektivitet. I motsetning kan dette være forskjellen mellom å få til en oppgave, og ikke i kontekst av konkurranseprogrammering. Likevel så kan oppgaver — lik de man finner på Kattis og andre nettsider — bidra til å ekspandere den daglige verktøykassa man benytter for å løse problemer. Kanskje lærer man å benytte seg av en annen type datastruktur enn det man første trodde var den mest hensiktsmessige? En større grad av variasjon bidrar til å kunne reflektere rundt valgene man tar som utvikler og vurdere hvilke teknikker — enten det er valg av datastruktur eller fremgangsmåte for å løse et problem — som passer best.

3. Lær nye programmeringsspråk og forbered deg til jobbintervjuer

Det blir ofte sagt at det å være en spesialist er foretrukket fremfor å være en alt-mulig-mann (“jack of all trades”). Likevel er det stor verdi i å eksponere seg for flere programmeringsspråk. Særlig de som fremmer andre paradigmer enn det du er vant til. Da jeg lærte meg Haskell for første gang var det som å lære seg programmering delvis på nytt, ettersom språkets mekanismer i mye større grad er sentrert rundt funksjonell programmering, enn f.eks. Java og Python.

Konkurranseprogrammering er en strålende måte å praktisere nye språk på, fordi du kan teste deg på konkrete oppgaver med umiddelbar tilbakemelding.

I tillegg er det et sterkt verktøy for å forberede seg til tekniske jobbintervjuer. Store teknologiselskaper som Google og Meta benytter ofte oppgaver av samme type som du finner på Leetcode og Kattis. Også i Norge har jeg opplevd å bli bedt om slike oppgaver, dog i en noe lettere versjon. Å være komfortabel med slike oppgaver gir deg en solid fordel i jobbintervjuer.

Hva nå?

I jobbsammenheng kan jeg anbefale å ta kontakt med sine respektive fagnettverk og forsøke å få til organisering av arrangementer som kodekvelder eller lignende. Her kan man finne frem et sett med ulike oppgaver på en nettside som Kattis og la folk begi seg utpå disse, eller så kan man ta det et steg lenger å benytte seg av konkurranse-modulen til Kattis og arrangere en konkurranse med ledertavler basert på antall oppgaver løst, førstemann til å løse oppgaven, osv.

Enten du er en student eller utvikler så kan oppgaver innen konkurranseprogrammering hjelpe deg å utvikle intuisjonen din og gjøre deg til en bedre problemløser. Hvorfor ikke sette av 10 minutter hver dag til en utfordring på Kattis eller Leetcode?

God koding!

Ahmed


3 måter konkurranseprogrammering gjør deg til en bedre utvikler was originally published in Compendium on Medium, where people are continuing the conversation by highlighting and responding to this story.