Udvikler: Det er vigtigt at lave løsninger, som gør, at små fejl ikke kan eskalere

Illustration: Privatfoto
Mit favoritsprog er Python. Det bruger jeg til dataanalyse, scripting, testing og debugging, lyder det i mini-interview med norsk udvikler.

Version2 norske søstermedie, Digi.no, har stillet en række spørgsmål til udvikler Tore Havsø Sæstads professionelle virke:

Hvilken pc-platform/OS foretrækker du at bruge?

Jeg foretrækker at arbejde på Linux, både på arbejdet og privat. Oftest bruger jeg Linux-distributionerne Fedora eller Ubuntu. Her har jeg enkel tilgang til mange kraftige udviklingsværktøjer.

Jeg kan godt lide det grafiske brugerinterface, men bruger mest kommandolinjeværktøjer. Derudover har jeg frihed til at foretaget ændringer, og jeg oplever meget sjældent problemer.

Hvilke programmeringssprog benytter du?

Jeg koder hovedsagelig i C++ og Python. Det bliver også til lidt Bash og SQL.

Hvad er dit favoritsprog og hvorfor?

Mit favoritsprog er Python. Det bruger jeg til dataanalyse, scripting, testing og debugging. Jeg kan rigtig godt lide den enkle syntaks, og at det går hurtigt med at udvikle små programmer.

C++ kommer som nummer to på listen. I løbet af de seneste år har det været store forbedringer, sådan at C++ kan bruges som et moderne programmeringssprog.

Hvilke to værktøjer kan du ikke klare dig uden og hvorfor?

Alt går lidt langsommere, hvis jeg ikke har adgang til mit IDE. Det at kunne navigere hurtigt i koden, få hjælp til omskrivninger, have Git-historikken integreret og have adgang til en god debugger er vigtigt for mig.

Som IDE bruger jeg Eclipse med lidt forskellige tillæg.

Jeg har lavet en samling med små scripts og genveje. Disse effektiviserer min arbejdshverdag.

Hvilken slags opgaver kan du bedst lide at arbejde med?

Debugging af vanskelige fejl er spændende. Jeg kan også godt lide opgaver, hvor et programs ydelse skal forbedres. Her gælder det om at gå systematisk til værks for at isolere problemet.

Sådanne opgaver lærer jeg ofte utrolig meget af.

Den faglige opdatering

Hvordan sørger du for at holde dig fagligt opdateret?

Jeg deltager på ret mange meetups både internt i Appear TV og eksternt. Det er mange interessante meetup-grupper i Oslo.

Derudover følger jeg flere blogs om temaer som DevOps, smidig udvikling, skytjenester og C++. Jeg læser også fagbøger og hører lidt på podcasts indimellem.

I hvilken grad har metoder og teknologier som DevOps, maskinlæring, clouden og containere ændret måden, du arbejder på

DevOps har vi fokuseret meget på her på det seneste. Dette fører til, at vi arbejder mere fokuseret og får hurtigere tilbagemeldinger. Vi bruger mindre tid på manuel testing og konfigurering.

DevOps har også gjort, at vi til enhver tid har kode, som er stabil, og som hurtigt kan sættes i produktion.

Jeg kan se, at der sker meget spændende i branchen inden for machine learning.

Eksempler på dette er at optimere kodeparametre for hvert videoklip, farvelægning af gamle sort-hvide film og genkendelse af objekter, personer og sceneskift.

Små fejl kan få store konsekvenser og i værste fald tage hele systemer ned

Softwaren, jeg arbejder med, er lavet således, at den kan køres på normale servere og i clouden.

Det bliver hurtigt meget kompliceret, når man arbejder med distribuerede systemer, så her gælder det om at vælge smarte løsninger. Små fejl kan få store konsekvenser og i værste fald tage hele systemer ned.

Derfor er det vigtigt at lave løsninger, som gør, at små fejl ikke kan eskalere. Dette påvirker også, hvordan man tester softwaren. Udforskende test og tilfældig test bliver vigtigere.

En aggressiv retry-mekanisme kan for eksempel gøre tingene værre. En tjeneste, som pludselig får lang responstid, kan være værre end en tjeneste, som returnerer fejlmeldinger.

Containere bruger jeg hele tiden. Det er meget praktisk at kunne bygge en container, som indeholder softwaren og alle nødvendige afhængigheder.

Den kan startes på hvilken som helst server med samme resultat. Jeg bruger ofte containere til at teste ny software. Det går meget hurtigt, og jeg undgår at installere alt for meget på min udviklingsmaskine.

Artiklen er en forkortet udgave af en artikel fra digi.no.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (0)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere