- Programmering kan ikke gjøres på samlebånd!

- Jeg skjønner ikke at mange norske utviklere finner seg i å være “human keyboard”, sier Ukas Koder Christine Teig.

Christine Teig driver sitt eget selskap, Ctekk, og har jobbet som utvikler i 18 år. 📸: Privat
Christine Teig driver sitt eget selskap, Ctekk, og har jobbet som utvikler i 18 år. 📸: PrivatVis mer

Hvordan begynte du med koding? 👶

Første gang jeg gjorde noe ala koding var på en Amstrad som faren min kjøpte da jeg gikk på ungdomsskolen. Den ble mest brukt til spill, men jeg skrev også av programmer fra en bok som fulgte med, og så endret jeg på disse for å få de til å gjøre det jeg ville.

Etter det gikk det flere år før jeg programmerte igjen.

Jeg gikk på UiO og visste ikke helt hva jeg ville annet enn at det måtte være noe innen realfag. Etter å ha tatt flere kurs i matte, kjemi og fysikk prøvde jeg Informatikk, og da visste jeg at det var dette jeg skulle fortsette med.

Her kunne jeg kombinere teori med både det å være kreativ og praktisk.

Hva jobber du med akkurat nå? 🛠️

For to år siden startet jeg mitt eget firma, og har siden det jobbet som selvstendig konsulent. Etter to år som konsulent hos Tomra har jeg nå tatt en ekstra lang sommerferie før jeg går inn i et nytt oppdrag.

Så det betyr at akkurat nå sitter jeg hjemme og jobber. I tillegg til at jeg har fått tid til å trene mer, så har jeg brukt en del tid på et hobbyprosjekt.

«Tidligere hobbyprosjekter har hatt en tendens til å stoppe opp før jeg har noe ferdig produkt.»

Tidligere hobbyprosjekter har hatt en tendens til å stoppe opp før jeg har noe ferdig produkt, fordi jeg har hatt mest fokus på å lære ny teknologi eller språk, og gjerne byttet ut teknologien før jeg har noe som fungerer. Denne gangen forsøker jeg å starte motsatt og fokuserer på hvordan jeg raskest mulig kan få en web-app kjørende.

Så første versjon blir da med teknologier og språk jeg kan fra før: Java, AWS, Terraform og Python. Planen er å bytte ut Java med Kotlin på sikt. Til daglig er det Infrastruktur og backend-utvikling jeg driver med, men i dette prosjektet har jeg tenkt å lære mer frontend også.

Det jeg utvikler skal bli den beste terminlista for langdistanseløp ever, med gode søkemuligheter. Men om den noen gang blir releaset vil tiden vise. For nå kjenner jeg at det skal bli godt å komme seg mer ut og treffe kolleger, og jeg har så smått startet på jobben med å finne det perfekte oppdraget.

Et glimt fra hjemmekontoret til Christine Teig. 📸: Privat
Et glimt fra hjemmekontoret til Christine Teig. 📸: Privat Vis mer

Hvordan ser en typisk arbeidsdag ut for deg? ☕

En arbeidsdag kan variere ganske mye avhengig av rolle eller type prosjekt. Men den ideelle dagen er kanskje slik:

Kommer på jobb, henter en god kopp kaffe og hilser på resten av teamet. Kaster et blikk på overvåkningsskjermene og ser at ingen krise har skjedd i løpet av natta, dermed kan jeg jobbe med planlagte oppgaver. Kalenderen inneholder et møte hvor teamet skal diskutere oppstart av nye planer. Resten av dagen kan jeg konsentrere meg om programmering og diskutere med teammedlemmer via Slack ved behov.

Men det er ikke alltid slik. Noen dager må kritiske feil fikses i prod til langt på natt, eller det er flere møter fordi er mye som skal planlegges. Det er bra. Det hadde vært kjedelig om alle dager var like.

Hva synes du er de mest spennende språkene, rammeverkene eller teknologiene akkurat nå? ✨

Jeg tror ikke at det er noe rammeverk eller teknologi som er svaret på alt, men kan nok si ganske sikkert at mitt neste oppdrag kommer til å være et sted hvor de jobber med sky-teknologi.

Til nå har jeg jobbet mest med AWS, men skulle gjerne jobbet mer med GCP. De som har jobbet med meg vet at jeg er ganske insisterende på at “vi setter ikke opp infrastrukturen vår manuelt”, og at jeg synes Terraform fungerer bra (bortsett fra når du skal refaktorisere større moduler).

Jeg har stort sett programmert Java til nå, og har ikke hatt noe behov for å endre på dette til tross for sterk “funksjonell programmering og Scala”-press på hjemmebane. Men Kotlin har jeg planer om å bruke mer i hobbyprosjektet fremover.

Hva er du mest stolt av å ha laget? 🏆

Vanskelig å velge hva man er mest stolt av, men det prosjektet som har gjort mest inntrykk var automatisering av deploy av et Windows-basert økonomisystem hos Nav.

Da jeg kom inn i prosjektet tok det fire dager å installere nye versjoner av systemet. Prosjektet hadde allerede holdt på en god stund. De hadde begynt med noe scripting, men fremgangen var liten og jeg fikk jobben med å sørge for at prosjektet ble ferdig.

«Det er ikke teknologi som er vanskelig, det er alt det rundt.»

Tidspunktet sammenfalt med innspurten av en Hovedleveranse hos Nav, og mange utrullinger var planlagt fremover. En Hovedleveranse hos Nav på den tiden inkluderte noen hundre personer og var ikke noe man motsatte seg, men for å få tid til automatiserings-arbeidet kunne vi ikke bruke tiden vår på deploy-takten til resten av Nav og måtte be om fritak fra planlagte utrullinger.

Dette var en kamp i seg selv, men noen fritak fikk vi presset igjennom og vi rakk å gjøre forbedringer mellom hver gang vi måtte følge “hovedleveranse-toget”.

Etter noen uker forteller vi stolt til brukerne at vi aldri har installert ny versjon så raskt før, og fikk til svar at systemet aldri hadde vært så ubrukelig før. Det var mange (veldig mange) innstillinger som tidligere hadde blitt satt manuelt, og vi hadde stort sett feil verdier.

Ny gjennomgang av alle innstillinger. Til slutt hadde vi endret deploy fra å ta 4 dager hvor alle instillinger ble satt manuelt, til automatisk deploy uten manuelle steg og vi hadde et system som fungerte(!) umiddelbart etter installasjon.

Det er ikke teknologi som er vanskelig, det er alt det rundt.

Hva er det vanskeligste ved å være utvikler? 🤷

Det må være at det alltid er så mye mer man burde kunnet.

Fordelen er selvfølgelig at det alltid er nye ting man kan lære, så man slipper at jobben blir rutine.

Men allikevel må man innse at man må avgrense på noen områder, for man rekker ikke lære alt man skulle ønske.

Her nyter Christine Teig det hun selv kaller "ute-hjemmekontor". 📸: Privat
Her nyter Christine Teig det hun selv kaller "ute-hjemmekontor". 📸: Privat Vis mer

Hva synes du norske utviklere bør bli flinkere på? 🙋

Jeg skjønner ikke at mange norske utviklere finner seg i å være “human keyboard” fra spec til kjørende kode.

«Jeg skjønner ikke at mange norske utviklere finner seg i å være human keyboard.»

Programmering kan ikke gjøres på samlebånd, slik en del større prosjekter i Norge har gjort. Det blir så mye bedre løsninger, og det blir så mye morsommere å være utvikler, når man involveres i å snakke med brukerne, er med å planlegge løsninger og tar ansvar for at koden kjører feilfritt i produksjon i tillegg.

For å komme meg bort fra samlebåndet har jeg de siste årene jobbet mest med infrastruktur. Der har det vært mulig å både tenke selv og gjennomføre kode-endringer, uten masse folk som skal planlegge alt ned i minste detalj i forkant.

Det at mange ønsker seg til mindre arbeidsplasser eller å jobbe i start-ups betyr vel at det er flere enn meg som gjerne vil utvikle og vil ta ansvar, men ikke vil ha en trang utvikler-rolle.

Hva liker du å gjøre når du ikke jobber? 🕹️

Når jeg ikke er på jobb liker jeg å løpe, gå på ski, orientere og være med familie. Eller jeg koder med sønnen min på 10 eller med mann min.

Så for å kunne ha egne utviklingsprosjekter, så må jeg ha ekstra lange sommerferier, som i år. 😊