utviklerprofilen

Fabian får jobbe med det han syns er aller mest spennende: Kunstig intelligens

Les ukens utviklerintervju.

Fabian Sødal Dietrichson jobber til daglig med kunstig intelligens. På fritiden går det mye i vannsport.
Fabian Sødal Dietrichson jobber til daglig med kunstig intelligens. På fritiden går det mye i vannsport.

Årets første utviklerprofil er Fabian Sødal Dietrichson (26), som er ansatt som konsulent i teknologiavdelingen til Accenture.

Kan du kort beskrive stillingen og oppgavene dine?

Jeg er så heldig at jeg får lov til å jobbe med det jeg synes er aller mest spennende, nemlig kunstig intelligens. Selv om AI er i startfasen ser vi at etterspørselen etter kompetanse og prosjekter knyttet til AI vokser i det norske markedet i takt med at stadig flere får en bedre forståelse av teknologien, hva den kan brukes til og hvilken verdi den kan gi.

Det er utrolig spennende å få lov til å være en del av denne utviklingen, og at jeg kan bruke min tekniske kunnskap og erfaring på feltet til å hjelpe våre kunder med å bli enda mer digitale og effektive.

Hvorfor valgte du akkurat denne arbeidsgiveren?

For meg er personlig og faglig utvikling viktig på jobb, og Accenture kunne heldigvis tilby meg begge da jeg søkte. Jeg ble også trigget av å jobbe i et selskap med et stort globalt nettverk av svært dyktige mennesker, med ulik kompetanse og bakgrunn, og ikke minst at Accenture er et ledende teknologiselskap.

Som konsulent er det naturlig at jeg jobber mest hos kunden. Det er på den måten vi kan oppnå de beste resultatene sammen.

Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?

Som konsulent er det naturlig at jeg jobber mest hos kunden. Det er på den måten vi kan oppnå de beste resultatene sammen. Men det hender også at jeg sitter på vårt hovedkontor eller at jeg har hjemmekontor ved spesielle anledninger. Den fleksibiliteten er utrolig deilig.

Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?

Jeg har jobbet i både kortvarige intensive og langsiktige stabile prosjekter.

Et prosjekt jeg er stolt av å ha vært med på er et prosjekt vi hadde i samarbeid med oppstartselskapet Picterus. Picterus jobber med en bildeapplikasjon som estimerer tilstedeværelse av sykdommen gulsott hos nyfødte. Prinsippet er at man tar et bilde av en hudflekk og fargekort sammen, og bruker en matematisk modell til å estimere gulsott i huden ut ifra dette bildet. Fargekortet – eller kalibreringskortet – i bildet brukes til å justere for variasjon i lys.

Vår rolle var å undersøke om vi kunne forbedre den matematiske modellen med moderne datasyn basert på dyp læring. Dyp læring er et nyere felt innenfor kunstig intelligens som har hatt stor utvikling det siste tiåret. Med tilstrekkelig stort og variert datagrunnlag kunne vi forbedre treffsikkerheten til den matematiske modellen ved bruk av dyp læring.

Land som typisk har størst behov for denne typen applikasjon, har også typisk ikke en velutviklet IT-infrastruktur.

I tillegg reduserer det beregningstiden for hvert bilde, noe som gjør det mulig å kjøre appen i offline-modus lokalt på mobilen. Dette er en stor fordel fordi applikasjonen må i dag sende bildet til en server for å få en estimering. Land som typisk har størst behov for denne typen applikasjon, har også typisk ikke en velutviklet IT-infrastruktur.

Hvor lenge har du jobbet som utvikler?

Har jobbet i 1 ½ år som utvikler i Accenture.

Har du vært ansatt ved samme sted hele tiden?

Startet direkte i Accenture etter mine studier på NTNU i Trondheim.

Hvor gammel var du da du først begynte å lære deg programmering?

Da jeg hadde mitt første møte med programmering var jeg 17 år og gikk i 2. gym. Da lagde jeg en versjon av spillet Asteroides i Flash med programmeringsspråket ActionScript. Du kunne ikke skyte mer enn cirka 100 skudd i ett spill, for da begynte spillet å krasje.

Hva slags utdannelse har du?

Sivilingeniør NTNU – teknisk kybernetikk og robotikk. Her spesialiserte jeg meg i autonome systemer og ble i løpet av mine siste to år veldig interessert i kunstig intelligens og smarte algoritmer.

Hvilken pc-plattform/OS foretrekker du selv å bruke? Kan du fortelle litt om hvorfor?

Jeg foretrekker å arbeide i et Linux-basert miljø. Det er rett og slett fordi Linux har blitt utviklet og forbedret over tid av forbrukerne selv, og dermed blitt en veldig god plattform til utvikling.

Hva er favorittspråket og hvorfor?

Når det kommer til programmeringsspråk er jeg agnostisk. Programmeringsspråk er jo en måte å uttrykke logikk på. Ulike språk gir ulike måter å kode samme logikk, så alle språk har sine styrker og svakheter. Derfor avhenger valg av programmeringsspråk av scenariet og omstendighetene vi står ovenfor. Er språket unødvendig komplisert? Er det kompatibelt med det vi jobber med? Trenger vi noen spesielle pakker dette språket tilbyr?

Det går fort å utforske ting med Python.

Når det er sagt, har vi alle preferanser. Personlig har jeg programmeringsbakgrunn i C++. Når vi jobber med kunstig intelligens, er førstevalget Python på grunn av dets letthet og korte vei til noe fungerende. Det går fort å utforske ting med Python, og det er nok mye av grunnen til at det er språket som vokser raskest i popularitet for tiden. Opprinnelig var Python et akademisk programmeringsspråk, men jeg har sett det flere steder i jobbsammenheng, spesielt på prosjekter med dataanalyse.

Når vi jobber med store applikasjoner derimot, er Java veldig vanlig å bruke. Det er et strengere språk som hjelper deg å skrive kode du ikke mister oversikt over når kodebasen vokser seg veldig stor og man er mange som jobber med samme kode.

Hvilke to verktøy greier du deg ikke uten, og hvorfor?

En god IDE – integrert utviklingsmiljø. Det gjør rett og slett livet mye enklere for en utvikler. De fleste utviklere er kjent med for eksempel VS Code, IntelliJ eller Pycharm. Her blir mye av utviklingen fasilitet for deg og du blir en mer effektiv utvikler av disse verktøyene. Det er litt som å skrive en artikkel i Word versus notisblokk.

Git klarer jeg meg ikke uten, og det gjelder nok mange utviklere. Git er et versjonskontrollsystem for å spore endringer og sammenflette kode i en kodebase. Det tillater flere utviklere å samarbeide i samme kode uten å overskrive hverandres. Mange har sikkert vært gjennom det svært smertefulle utviklingsprosjektet der alle sitter med hver sin versjon av koden og forsøker å samkjøre gjennom zip-filer i Dropbox eller Drive som heter «master_kode_aller_siste_versjon.zip».

Hva slags oppgaver liker du best å jobbe med?

Det mest spennende oppgavene er kortvarige prosjekter i en bransje du ikke nødvendigvis kan så mye om fra før av. Typisk er dette «business caser» vi bestemmer oss for å implementere gjennom en prototype eller «proof of concept». I løpet av slike prosjekter møter du mange fageksperter og lærer forfriskende mye nytt om bransjen.

Det er viktig å ha et klart bilde på om løsningen vil løse et problem som er viktig og relevant for en tilstrekkelig stor gruppe mennesker.

Disse prosjektene krever en kombinasjon av forretningsforståelse, teknisk forståelse og sosiale ferdigheter. Det er viktig å ha et klart bilde på om løsningen vil løse et problem som er viktig og relevant for en tilstrekkelig stor gruppe mennesker.

Samtidig er det også viktig å kunne håndtere både kjente og ukjente tekniske utfordringer som skal til for å implementere løsningen. For at løsningen skal nå personene som har behovet, må man også kunne fremføre og demonstrere løsningen på en god måte, ellers vil løsning ikke bli tatt i bruk.

Hvordan sørger du for å holde deg faglig oppdatert?

Når du vil lære deg noe godt, så forsøk å lære det bort. Å kunne forklare et vanskelig konsept til en utenforstående på en forståelig måte, viser at du behersker materialet. Er det en spennende teknologi jeg ønsker å lære meg som er jobb-relevant, lager jeg en praktisk workshop på temaet og holder denne for kolleger. Sørger man for å lage et godt opplegg og velger ut tema som er forretnings-relevant for mange, får dette ofte høy gjenbruksgrad. I ettertid har jeg holdt flere av disse workshopene for kunder, på konferanser og på universiteter i rekrutteringssammenheng.

Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?

Maskinlæring har virkelig gjort sin inntreden på arbeidsmarkedet de siste årene. Det har fått mye fokus i det siste og det snakkes mye om. Men konseptene i maskinlæring har blitt oppfunnet for lenge siden. Maskinlæring har blitt populært og mer benyttet i senere tid fordi vi har masse mer tilgjengelig data, sterkere og billigere prosessorer og det har blitt mye enklere å bruke.

Python har gjort mye her ved at man enkelt kan implementere maskinlæringsalgoritmer med Python-biblioteker. I praksis betyr det at det å holde på med maskinlæring ikke lenger er forbeholdt akademikere som skrive en PhD. Du kan rett og slett komme godt i gang med et nettkurs.

Du trenger ikke lenger å skrive noe kode for å benytte maskinlærings-algoritmer.

Nå tilbyr også de store skyleverandørene – Google Cloud, Microsoft Azure, Amazon Web Services, IBM Cloud – gode maskinlæringsplattformer i skyen. Her kan du lage maskinlæringsapplikasjoner ved å bare sammenkoble bokser i et diagram. Det vil si at du ikke lenger trenger å skrive noe kode for å benytte maskinlæringsalgoritmer, men kun stille med datagrunnlaget du har.

Dette tilgjengeliggjør maskinlæring også til dem som ikke nødvendigvis har så mye erfaring med programmering. Dermed er det enklere å kunne jobbe i skjæringspunktet mellom teknologi og forretning, siden du ikke lenger trenger å være teknisk ekspert for å benytte maskinlæring.

Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?

Konferanser er en veldig god måte å orientere seg i en teknologi på. Du får vite hva andre selskaper gjør på feltet, hva som er nytt innen teknologiene relatert til konferansen, og ikke minst bli du kjent med andre som jobber og brenner for det samme som deg.

Jeg har fått dra på en konferanse i halvåret og ser på det som en viktig del av det å holde seg oppdatert. Den beste konferansen jeg har deltatt på så langt er Tensorflow World i San Jose, sponset av Google. Denne konferansen gikk ned i det tekniske og lærte deg nyttige teknologier du kan benytte deg av til utvikling av AI-applikasjoner. I tillegg fikk du innblikk i hvordan tech-gigantene som Facebook, Instagram, Twitter, Spotify, Snapchat og selvfølgelig Google benytter AI til å skape verdi.

Hvor mye programmerer du på fritiden?

Det er veldig gøy å ha noen sideprosjekter på fritiden der man har som mål å lage noe stilig som en nettside for CV-en sin eller algoritmer som kan lære seg å spille Pacman. Det har vært en god måte å lære seg nye ting og er veldig moro!

Det er viktig for din hukommelse og kreative evne å ta gode pauser fra ting du jobber med å lære deg.

Etter hvert har jeg blitt mer og mer bestemt på å legge fra meg programmering på fritiden og drive med andre ting siden jeg får programmere veldig mye på jobb. Det å gi hodet og skjermtittemuskelen god hvile, men også å la hjernen kverne på ting du har lært i fred og ro i underbevisstheten. Det er viktig for din hukommelse og kreative evne å ta gode pauser fra ting du jobber med å lære deg. Man har kapasitet til å lagre en viss mengde informasjon om dagen.

Har du noen (andre) hobbyer?

Spesielt er jeg glad i vannsporter fordi vann gir deg mulighet til å bevege deg på så mange måter. Du kan skli rundt på vannet med et wakeboard etter en båt eller vinden med en kite. Du kan padle deg raskt til holmer og øyer. Eller så kan du dykke ned i vannet og utforske havlivet i tre dimensjoner, med eller uten luft.

Hva gleder du deg mest over ved å jobbe som utvikler?

Som utvikler får du være i en flyt-tilstand der all din oppmerksomhet vies til å løse den logiske utfordringen du står ovenfor. Det er en utrolig oppslukende måte å jobbe på, og jeg har ofte jobbet timer i strekk uten å legge spesielt merke til det. Her er det en balanse mellom programmeringsoppgaver som er for enkle eller for komplekse.

Blir det for komplekst kan man bli frustrert og miste fokus av at du ikke føler progresjon. Blir det for derimot for enkelt, mister du også fokus rett og slett fordi oppgavene ikke er mentalt engasjerende.

Opplever du at jobben som utvikler har noen negative sider?

Det jeg merker aller mest er hvor mentalt sliten jeg er når jeg kommer hjem. Å arbeide med tunge tekniske utfordringer en hel arbeidsdag gjør at jeg trenger å hvile hodet når jeg kommer hjem og får et behov for å gjøre noe fysisk aktivt. Det er en veldig fysisk inaktiv jobb, så det gjelder å holde aktivitetsnivået oppe ved å for eksempel drive med en sport man liker og å sykle til jobb.

Det man kanskje savner mest som utvikler, er den personlige utviklingen av sosiale ferdigheter.

Det man kanskje savner mest som utvikler, er den personlige utviklingen av sosiale ferdigheter. Dette kan være ting som salg, presentasjonsevner og så videre. For noen er kanskje dette nettopp grunnen til at man er utvikler. Her tenker jeg også at det er viktig å ha en balansegang mellom teknologioppgaver og sosiale oppgaver.

Hva er det beste frynsegodet du får?

Der jeg jobber, har vi mange gode frynsegoder. Den aller beste er at vi har et sterkt AI-miljø som har fått mange gode privilegium. Vi får samles til fagmøter hos bedrifter som IBM og Google, dra sammen på konferanser som har AI som tema, og benytte arbeidstid til å ta kurs og utvikle prototyper på spennende AI-teknologier vi ønsker å holde oss oppdatert i.

Det har skapt et sosialt hyggelig og faglig sterkt samvær.

Du finner mange flere utviklerintervjuer på vår samleside »

Powered by Labrador CMS