Profilbilde av Odin Hole Standal

Odin Hole Standal

Programmerer

+47 91 63 50 08
odin@kodemaker.no

Utvikler med 19 års erfaring

  • Fullstackutvikler som liker å lage brukergrensesnitt
  • Bred erfaring med bygg og kontinuerlige leveranser
  • Selvdrevet, samarbeidsvillig og ansvarsfull

«Jeg er superimponert over hvor fort han setter seg inn i et nytt område, og raskt har oversikt både over domenet og den tekniske løsningen vi jobber med. Hans lange erfaring har gitt masse nyttig input til vår utviklingsprosess og bidratt til gode tekniske løsninger.»

- Joakim von Brandis, Head of development, Mnemonic

Om Odin

Odin er en pliktoppfyllende og selvdrevet problemløser som liker å ta ansvar. Han lærer raskt og er lidenskapelig opptatt av faget sitt. I tillegg er han glad i utfordrende arbeidsoppgaver og er flink til å samarbeide.

Conax

Workshops om testautomatisering, byggautomatisering, frontend- og backendutvikling og testautomatisering.

Telenor Digital

Integrasjon av datakilder, sikkerhet og visualisering av store datamengder.

Norled

Arkitektur, infrastruktur og implementasjon av nytt informasjonssystem for fergedrift basert på Clojure, Kafka og Datomic.

Teknologi



Devops

Kubernetes, Bamboo, Jenkins, Docker, Ansible, Amazon Web Services (AWS) og Datadog


Web- og apputvikling

React, D3, CSS, HTML, Frontend, Canvas, Mapbox, SVG, WebGL og Redux


Utvikling

REST, Spring, Apache Cordova, Spring MVC og Compojure


Data

Datomic, Kafka, Elasticsearch, Cassandra, PostgreSQL, Hibernate, DataScript, SQL, JMS, Apache mq, Redis og MongoDB


Metode og tilnærming

Kontinuerlig integrasjon, Kontinuerlig leveranse, Automatisert testing, Analyse, Funksjonell programmering, DevOps og Arkitektur


Plattform


Annet

Maven, Web3, Git, Gradle, Hazelcast, OpenID Connect, Cytoscape, Oauth og OpenID


Prosjekter


Arbeidsgiver

Kodemaker Systemutvikling AS


Norsk Helsenett
2023-

Utvikling av Kjernejournal

Norsk Helsenett (NHN) utvikler og drifter nasjonale helse-IT-løsninger. Kjernejournal tilgjengeliggjør helseinformasjon til innbyggere via helsenorge.no. Helsepersonell får tilgang via deres EPJ. Vaksiner, journaldokumenter, besøkshistorikk, legemidler, behandlingsplaner, reservasjoner, donorkort, mer og mer helseinformasjon skal tilgjengeliggjøres sikkert der de trengs. Oppdraget innebærer å både utvikle ny funksjonalitet, og jobbe for at kode skal kunne rulles ut kontinuerlig på en sikker måte.

Kotlin, Java, Maven, Kubernetes, Redis, TypeScript, OpenID, Oauth, REST, Kontinuerlig integrasjon og Kontinuerlig leveranse


Pone Biometrics
2022-2023

OffPAD

Klientutvikling for device management på Windows. Embeddedutvikling med JavaCard.

.NET, C#, Winui, Java og Bluetooth


Mnemonic
2019-2022

Semi-Automated Cyber Threat Intelligence (ACT)

Frontend- og backendutvikling av ACT-plattformen som er et forskningsprosjekt med mål om å utvikle nye metoder for å analysere sikkerhetsangrep. Frontendutvikling på Argus, sikkerhetsproduktet til Mnemonic.

JavaScript, TypeScript, D3, React, Redux, Cytoscape, Java, Bamboo, Cassandra, Elasticsearch, Kafka, REST, Kontinuerlig integrasjon og Kontinuerlig leveranse


Norled
2016-2019

Nytt informasjonssystem for fergedrift

Utvikler nye informasjonssystemer for fergedrift for Norled.

Clojure, ClojureScript, Datomic, Datadog, Kubernetes, Kafka, Cassandra, DataScript, D3, Mapbox, Docker, Amazon Web Services (AWS), Apache Cordova, REST, Kontinuerlig integrasjon og Kontinuerlig leveranse


Telenor Digital
2016

Data Insights

Medlem av Data Insights-teamet som driver med analysetjenester for ulike deler av Telenor. Fokus på integrasjon av datakilder, integrasjon med autentiseringstjeneste og visualisering av store datamengder.

Clojure, ClojureScript, D3, Amazon Web Services (AWS), Kafka, Java, D3, Amazon Web Services (AWS), PostgreSQL, Ansible, Vagrant, OpenID Connect og REST


Sykehuspartner
2015

Mitt Svar

Utviklet en prototype for Barneseksjonen ved Oslo universitetssykehus for håndtering av pasienttilbakemeldinger.

React, ClojureScript, D3, SVG, CSS, HTML, Ruby, Sinatra, Docker, PostgreSQL, Docker, Sinatra og Vagrant


Conax
2012-2015

Contego

Bistod med å innføre Groovy og Spock som testrammeverk. Arbeid med akseptansetester, byggautomatisering, frontend- og backendutvikling og testautomatisering.

Groovy, Java, JavaScript, React, Spock, Spring, Hibernate, Spring MVC, Hazelcast, Gradle, Maven, Git, DevOps, Ansible, Bamboo, REST, Kontinuerlig integrasjon og Kontinuerlig leveranse


Oiiku
2012-2013

Single page web app for eventselskap

Utvikling av single page web app for å organisere events. Jobbet både på frontend med AngularJS og backend med Clojure. Laget blant annet funksjonalitet for å importere og eksportere Excel-filer

Clojure, AngularJS, JavaScript, Datomic, MongoDB, Java, Ring, Compojure, Elasticsearch, Apache POI, Jenkins, Jetty, Google Closure og REST


Arbeidsgiver

Webstep


Politiets data- og materielltjeneste
2010

System for maritim grensekontroll

Utvikling av system for maritim grensekontroll, SafeSeaNet. Bistod med å avklare funksjonelle krav, definere den tekniske arkitekturen og utviklet på alle lagene i applikasjonen. Ansvar for å følge opp drift og den tekniske leveransen.

Java, Groovy, JSF, HTML, CSS, JavaScript, jQuery, Spring, Spring security, Spring integration, Maven, CXF, JMS, Oracle aq, Apache mq, Jenkins, Jetty, REST, Kontinuerlig integrasjon og Kontinuerlig leveranse


Arbeidsgiver

Accenture ANS


NAV Pensjonsprogrammet, Applikasjonsarkitektur
2009-2010

Applikasjonsarkitektur

Ansvarlig for applikasjonsarkitekturteamet. Arbeidet bestod av utforming av arkitekturprinsipper og retningslinjer for utvikling, vedlikehold av applikasjonsrammeverket og tett samarbeid med underleverandører. I tillegg med på å etablere og holde sertifiseringskurs i NAVs nye SOA-plattform.

Java, JSF, Spring, Spring web flow, Spring batch og Hibernate


NAV Pensjonsprogrammet, Tjenesteintroduksjon
2008

Tjenesteintroduksjon

Tjenesteintroduksjonsteamet arbeider med kvalitetssikring og overlevering av teknisk dokumentasjon og applikasjonsleveranser til kundens driftsavdeling. Ansvar for planlegging og gjennomføring av driftstest, kvalitetssikring og overlevering av teknisk dokumentasjon samt støtte drift under produksjonssetting av Pensjonsprogrammets største leveranse.

Arkitektur


NAV Pensjonsprogrammet, Utviklingsarkitektur
2007

Applikasjonsarkitektur, tjenesteintroduksjon, bygg og miljø

Arbeidet med bygg, utrulling og administrasjon av testmiljøer

Maven, Hudson, CruiseControl, Java, Kontinuerlig integrasjon og Kontinuerlig leveranse


Teknisk veileder for sommerstudentprosjekt
2007

FindMyFriends var et prosjekt for studenter med sommerjobb for innendørs sanntidslokalisering på UKA-festivalen i Trondheim. Hensikten var at deltakere på festivalen kunne finne vennene sine ved hjelp av en web-basert løsning og personlige ultralydbrikker. Evaluerte lokaliseringsløsninger, etablerte arkitektur og overordnet design og var teknisk veileder for 15 sommerstudenter under utviklingen.

.NET, Java og Flash


Stor, norsk bank
2007

Sikkerhetsanalyse av aktivt angrep mot nettbank

For en kortere periode hadde en stor, norsk bank behov for å styrke sikkerhetsavdelingen sin for å håndere høy aktivitet relatert til et angrep på bankens systemer. Analyserte trusselbildet sammen med de ansatte i sikkerhetsavdelingen, samt bistod med å koordinere arbeidet til analyseteamet som bestod av bankens fagfolk.

Analyse


Postbanken
2006-2007

Kundeforvaltningssystem

eAgent er en løsning som brukes av Postbankens agenter for kundeforvaltning. Utvikling av tjenester i en web-basert J2EE-applikasjon. Applikasjonene kommuniserte med sentrale tjenester på stormaskin og Sybase databaser. Arbeidet inkluderte samarbeid med kundens tjenesteutviklere samt ansvar for oppfølging av feil fra systemtesten.

Java, HTML, CSS og Sybase


Arbeidsgiver

Deltidsarbeid under studier


Point Carbon
2006

Evaluering av rammeverk for datavisualisering

PointCarbon er et selskap som tilbyr nyheter, analyser og konsulenttjenester for de globale energi-, gass- og karbonmarkedene Evaluering av ulike rammeverk for å generere grafer i PointCarbons webløsning.

Java, .NET, HTML og JavaScript


Accenture
2005

RFID-basert betalingsløsning for UKA-05

Planlegging, utvikling og support av RFID-basert betalingsløsning på Samfundet for studentfestivalen UKA-05.

.NET og Passiv rfid


Scarp
2004

Flashløsninger

Scarp var et konsulentselskap som jobbet med webløsninger. Utvikling av Flashbaserte webapplikasjoner med integrasjon mot .NET-løsning.

Flash og .NET


NTNU
2002-2006

Studentassistent i fagene programmering, operativsystemer og IT-intro.

Java, SQL, HTML og CSS


Anbefalinger


Joakim von Brandis

Head of development, Mnemonic

«Vi har vært så heldige å få låne Odin i litt over tre år her hos Mnemonic. Odin kom inn for å bistå på et konkret prosjekt, men ble fort en knallressurs på flere områder, og har bidratt på flere prosjekter.

Jeg er superimponert over hvor fort han setter seg inn i et nytt område, og raskt har oversikt både over domenet og den tekniske løsningen vi jobber med. Hans lange erfaring har gitt masse nyttig input til vår utviklingsprosess og bidratt til gode tekniske løsninger.

Odin er i tillegg en knallhyggelig fyr, som tar fatt på alle oppgave med godt humør, og som regel har løst dem før man har rukket å spørre.»


Joel Wilsson

Software Engineer, Telenor Digital

«Odin was a consultant with the Data Insights team in Telenor Digital for three months, and he was productive immediately. Large companies tend to have a lot of overhead, and some consultants wait until everything is sorted out before they start working. Odin will find a way and do what it takes to cut through the nonsense and get down to programming, solving issues and getting features into production as soon as possible.

He introduced several new libraries and technologies that we weren't aware of that are still of great value to us even today, which improved our testing and development workflow.

Odin is able to work independently and manage customer and stakeholder requirements and expectations, and brought a lot of experience to our team and helped mentor more junior programmers in a great way.

He really knows his stuff, is passionate about Clojure and functional programming, produces high quality code and takes pride in delivering good work, yet somehow manages to stay humble. Very easy to work with - I highly recommend you find out for yourself»


Trond Hagen

Director Software Development, Conax

«Jeg hadde gleden av å jobbe sammen med Odin i 3 år hos Conax. Odin er på mange måter den perfekte konsulent. Han er meget intelligent og utrolig rask til å sette seg inn i nye domener og problemstillinger. Han er alltid klar for å ta fatt på nye utfordringer uavhengig om de er store eller små, spennende eller ikke. I tillegg er han veldig omgjengelig og lett å samarbeide med. Jeg tror man må lete lenge etter noen som har noe negativt å si om Odin.»


Sertifiseringer og kurs


2015

  • Architecting for continuous delivery and zero downtime

2014

  • Java 8 med Venkat Subramaniam

2012

  • Rubykurs

2009

  • SpringSource, Spring and Hibernate

2008

  • Sun Java Certified Programmer, Java 5

2005

  • RFID-kurs i Hong Kong i regi av Accenture

Utdanning


2001-2006

NTNU

Sivilingeniør/Master Datateknikk


Presentasjoner




2015




2012



Bidrag til fri programvare


  • data-frisk - Støtteverktøy for å visualisere data i trestrukturer
  • Canvas-fn - Canvas-baserte visualiseringer laget med ClojureScript
  • Cashflow - Regnskap for nettbanktransaksjoner
  • Har bidratt til act, grgit og clj-time

Andre faglige bidrag


Much memo

For å lære Swift så programmerte jeg et memory-spill til Apple Watch.

Cashflow

Nettbanken min har ingen regnskapsfunksjon. Så det lager jeg på egen hånd, i Clojure.

Artikkel: Nettlesere uten tilsyn

Barn har ingen grenser for hva slags galskap de kan finne på, til foreldrenes store forferdelse. Det samme gjelder for nettlesere, de kan finne på mye rart som brukerne ikke liker eller vet om. Dette er et forsøk på å forklare Content Security Policy som en slags barnevakt for nettlesere.

Artikkel: Advent of Code-bot

Da var årets Advent of Code akkurat over. For noen er denne programmeringskonkurransen et viktig aspekt av adventstiden. Les om hvordan man kan lage en bot som poster topplisten til Slack hver dag!

Artikkel: Gammel hund og nye triks

Java er et konservativt språk som verdsetter bakoverkompatibilitet over fancy ny syntaks. Vi programmerere elsker å velte oss i skinnende nye features, men om du har drevet med utvikling en stund, så vet du også å sette pris på stabilitet. Java 21 ble akkurat sluppet, og da er det verdt å ta en kikk på hvordan språket har utviklet seg i det siste.

Artikkel: Rust på terminalen

Trenger du å lage et kommandolinjeverktøy, men er lei av grisete bash-script som er umulige å lese? Kanskje det går raskere å skrive det med et dynamisk språk som Python, men hva med å prøve et sterkt typet språk som Rust?

Artikkel: Videomoji 🎥

Alle elsker emojier 👻

Alle elsker video 🎥

Her får du begge deler, på en gang 🤯

Lær hvordan du kan kombinere webcam-APIet i nettleseren med emojier på en kreativ måte.

Artikkel: ASCII til emoji

Hvordan gjør du et bilde om til ASCII med webteknologi?

Artikkel: CSS og listemarkører

Styling av listemarkører med CSS ::marker, en enkel måte å lage penere lister på.

Artikkel: Testdatatips

Uansett hvilket språk du bruker, så trenger man testdata når man skriver tester. Her kommer noen tips til hvordan man kan gjøre det lettere for seg selv, med eksempler i TypeScript.

Artikkel: Sidestruktur

Ofte så lager vi løsninger med en fast visuell struktur. Du har for eksempel en header med en meny, en sidespesifikk kropp og en footer. Hva gjør vi hvis noen sider trenger en annen struktur?

Artikkel: Nostalgibølge

Jeg husker det som om det var i går. Dagen da Commodore ble byttet ut med en Amiga 500. Det var første gang jeg så en sinusbølge flyte over skjermen. Hvordan lager man egentlig det?

Artikkel: Klippe med CSS

CSS slutter aldri å overraske. Noen ganger ramler man over noe som man i utgangspunktet ikke ser nytteverdien av, men som kombinert med litt kreativitet produserer et interessant resultat.

Artikkel: Verdt å vite om Set i JavaScript

Hvordan funker et Set i JavaScript og når passer det å bruke det?

Artikkel: Data hører hjemme i en database, også på framsiden

Putt tilstand i ClojureScript-appen din i en DataScript-database for å få kontroll på tilstanden på framsiden.

Artikkel: Tiltrekkende 3D på web

Hvordan kan man bruke WebGL og ClojureScript sammen

Artikkel: Printe med React

Hvordan gjøre media queries fra en React-applikasjon med inline CSS.

Artikkel: Validering i React

Hvordan lage robuste React-komponenter

Artikkel: Interaktiv programmering

Den tradisjonelle arbeidsflyten til utviklere er for treg. Interaktiv programmering er en lovende teknikk som gir deg en ekstremt kort feedback-loop.

Artikkel: Canvas og tiltrekningskraft

Jeg leste en fantastisk interessant bok som handler om hvordan man kan lage digitale verdener basert på matematiske prinsipper, Nature of code. Den inspirerte meg til å visualisere et enkelt system med ClojureScript og Canvas

Artikkel: Podcaster for programmerere

Podcaster er en fin måte å utnytte tiden til noe fornuftig når man gjør kjedelige ting som å pusse opp eller å sitte på toget. Her er en oversikt over de podcastene jeg helst hører på om dagen.

Artikkel: Forstå Git

Git er et kraftig verktøy med spisse kanter. Her er en samling med bøker, videoer og andre ressurser som hjalp meg å forstå hvordan git fungerer.

Artikkel: Spock og Spring

Om du har en Spring-basert applikasjon og ønsker å teste den med Spock så er det kjekt å kjenne til fallgruvene og hvordan du navigerer rundt de.