Hvordan begynte du med koding? 👶
Mitt første møte med koding var på ungdomsskolen, da jeg lærte at man kunne bytte ut kabal-ikonet på PC-en med et script som sendte maskinen i shutdown, noe som var veldig gøy å legge inn på skole-PCene.
Men jeg lærte meg ikke egentlig å programmere skikkelig før jeg startet på NTNU.
Da jeg startet i arbeidslivet begynte jeg først med C++/Qt-programmering, før jeg dykket ned i lavnivå C-programmering for mikrokontrollere og til slutt endte opp som FPGA-designer.
FPGA-programmering er på en måte grenseland mellom software-utvikling og hardware-utvikling, for man utvikler FPGA-designet som software, men det endelige produktet blir mer eller mindre likt klassisk hardware.
Hva jobber du med akkurat nå? 🛠️
Som konsulent jobber jeg ofte på flere prosjekter, men hovedprosjektet mitt akkurat nå går ut på implementering av en motorkontroller på en FPGA for bruk i safety-kritiske applikasjoner.
Jeg jobber da med alt fra modellering av motorkontrolleren i Matlab/Simulink, implementering og verifisering i VHDL, og til slutt testing på labben med et egenutviklet Python-interface.
Det artige med lav-nivå programmering er at man ofte får være involvert i utviklingen av hardware-designet, kjernefunksjonaliteten og til slutt GUI-utvikling for testing.
På et lavt nivå, selvfølgelig!
Hvordan ser en typisk arbeidsdag ut for deg? ☕
Vanligvis starter jeg dagen med å sjekke status på alle nightly builds på Jenkins mens jeg drikker morgenkaffen.
Resten av dagen varierer veldig, men det pleier å være ganske jevnt fordelt mellom møter, tid til utvikling på kontoret og testing på labben.
Når jeg jobber med større team deltar jeg gjerne på stand-up i løpet av dagen, også.
Hva synes du er de mest spennende språkene, rammeverkene eller teknologiene akkurat nå? ✨
Jeg synes den mest spennende teknologien akkurat nå er System-On-Chip (SoC)-moduler med kombinert prosessor og FPGA.
I den konteksten kan FPGA-en fungere som en tett integrert akselerator for spesifikke oppgaver for prosessoren, på samme måte som en GPU er en akselerator for grafikk-prosessering.
Sa opp jobben for å lage IoT-byggesett
- Hvorfor må maskinvare være så vanskelig?
SoC med FPGA er ikke en helt cutting-edge teknologi, men jeg synes at den først nå har blitt moden nok til å virkelig gjøre en forskjell i markedet.
Denne teknologien har også vist seg å ha stort potensial til blant annet Computer Vision og Machine Learning-plattformer.
Et design med en kombinert prosessor og en FPGA-del gir også mye fleksibilitet. Hvis man for eksempel finner ut at man trenger ekstra regnekraft, kan man bare legge til en ekstra prosessor i FPGA-delen. Hvis man trenger ekstra minne kan man legge inn ekstra RAM i FPGA-delen. Trenger man en UART? Legg til en i FPGA-delen.
Hva er du mest stolt av å ha laget? 🏆
Jeg er veldig interessert i romfart, så jeg er naturligvis stolt av å ha jobbet med en radiomottaker som i dag går i bane rundt jorden.
«Jeg er naturligvis stolt av å ha jobbet med en radiomottaker som i dag går i bane rundt jorden.»
På dette prosjektet fikk jeg bidra til både design og verifikasjon av FPGA-en som sitter på radiomottakeren, og jeg fikk sette meg godt inn i signalbehandlingen som foregår inne i denne. Det er mye kompetanse og positivt engasjement blant de som jobber i denne bransjen, og det var veldig gøy å være med på et slikt prosjekt.
I tillegg er jeg stolt av å ha arbeidet med UVVM (Universal VHDL Verification Methodology), som er et open-source verifikasjons-rammeverk for FPGA-kode, som ligger tilgjengelig på Github.
Det er veldig gøy å ha vært med på reisen fra verktøyet ble gjort open-source i 2016 og til nå, når det har blitt det raskest voksende verifikasjons-rammeverket for FPGA på verdensbasis.
Hva er det vanskeligste ved å være utvikler? 🤷
Jeg synes det vanskligste er å ville delta på flere prosjekter enn man egentlig har tid til.
Hva synes du norske utviklere bør bli flinkere på? 🙋
Jeg synes egentlig at norske utviklere har høyt nivå, men man kan kanskje bli flinkere til å inkludere ferske utviklere i code-reviews.
Ofte opplever jeg at det kun er de mest erfarne utviklerene som får være med på review, men jeg husker selv som fersk utvikler så var det å delta på reviews en trygg og effektiv måte å lære god kode-stil.
- Si fra om du ikke forstår koden i en pull request!
Hva liker du å gjøre når du ikke jobber? 🕹️
Jeg er glad i friluftsliv og trives godt i naturen, både på ski og på beina. Jeg drar gjerne på fisketur også, selv om jeg har elendig fiskelykke.
Ellers driver jeg innimellom med litt hobbyprosjekter på fritiden. Det siste prosjektet jeg jobbet med var et tidsstyrt automatisk matesystem for hester til utendørs bruk, så man kan legge klar høy på morgenen og være trygg på at hesten får mat til rett tid i løpet av dagen.
Så langt er alle t(h)est-kundene fornøyde med resultatet!
Hanne lager IoT-bonger for Oslo Pride
Meldte seg som frivillig, endte opp med å digitalisere bongene. - Tror ikke jeg har hatt det så gøy på mange år!