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

29. oktober 2018 kl. 12:22
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.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

Tore Havsø Sæstad

Profil:

29 år, uddannet civilingeniør i elektronik. Har i fire år været R&D-teamleder i Appear TV, et norsk selskab, som laver løsninger til for leverance af professionelle videotjenester. Tores team er ansvarlig for udviklingen af en OTT-packager. Det er motoren bag adaptiv videostreaming til forskellige enheder som mobiltelfoner, tablets, pc’er og tv’er. Nett-TV er et eksempel på en tjeneste, som bruger en OTT-packager.

Seneste projekter:

Etablering af en DevOps-kultur i teamet for hurtigere at kunne udvikle og levere ny funktionalitet og andre forbedringer. For at visualisere flowet helt fra idé til leverance er de begyndt at bruge projektstyringsværktøjet Trello. For at få hurtigere tilbagemeldinger har de reduceret opgavernes størrelse og tjekker nu kode ind oftere. De har automatiseret og forenklet opgraderingen af softwaren, og monitorering har de implementeret ved at eksportere data til Prometheus og visualisere dem i Grafana.

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.

Artiklen fortsætter efter annoncen

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.

Artiklen fortsætter efter annoncen

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?

Artiklen fortsætter efter annoncen

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.

Ingen kommentarer endnu.  Start debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger