Profilbilde av Alf Kristian Støyle

Alf Kristian Støyle

Kodemagiker

997 92 226
alf.kristian@kodemaker.no

Utvikler med 18 års erfaring

  • Fullstack, jobber like gjerne med frontend som backend.
  • Mange års erfaring med devops, og mener dette er den beste måten å utvikle systemer på.
  • Søker alltid løsninger som er enkle, driftbare, og så lette å endre som mulig. Har erfaring med at funksjonell programmering og devops bidrar til dette.
  • Er gjerne tech lead i teams, både på grunn av sterk teknisk kompetanse og ønske om å få teams til å prestere optimalt.

«Alf Kristian is a role model developer. He is technical to his finger tips, with a deep understanding of how code runs on a computer. He is up-to-date on which tools work well, and shines with experience and lessons learned. He is unafraid in his approach to new technology, eager to learn and always get better. But he is so much more than a technologist; he is selfless, setting aside personal development goals for the greater good of the team and the customer. He has passion for the project, and compassion for his teammates, doing what he can to strengthen the team.»

- Robin Skoglund, Tech lead, web, Posten/Bring

Om Alf Kristian

Alf Kristian liker seg på dypt vann, med store utfordringer og vanskelige mål. Dette gjelder både i privatliv og på jobb.

Alf Kristian trives best med kodingen, men ender gjerne opp som en tech lead i teams da han har sterkt fokus på kvalitet, og det å få hele teamet til å prestere best mulig. Tidligere i karrieren var det backend som gjaldt, men de senere åra har det blitt mer og mer frontend. Han tror også det er viktig at alle programmerer bidrar i hele stakken, da dette gir større forståelse av hva man skal lage.

Alf Kristian er flink til å se forbedringer i alle ledd av systemutvikling. Han opplever stadig at han hjelper kunden med å forbedre ting de ikke var klar over kunne vært bedre.

Alf Kristian har stor tro på funksjonell programmering, og har jobbet lenge i communities som scalaBin og Oslo Socially Functional for å fremheve bruken av funksjonelle språk, som Scala, Clojure, Elixir og Haskell.

Bring

Tech lead for utvikling av ny markesplass, amoi.no.

Hafslund Strøm

App-, backendutvikler og devops i home automation prosjekt.

Bring

Tech lead for utvikling av nytt Nordisk system for budleveranser.

Teknologi



Utviklingsverktøy

Maven, Git, SBT, Leiningen, Gradle, Ant, Yarn, Postcss, Hazelcast, npm, Mix, Rollup, Pnpm og Webpack


Devops

Kubernetes, Amazon Web Services (AWS), Heroku, Microsoft Azure, Hadoop, nginx, Ansible, HAProxy, Apache Spark, Logstash, Varnish, DigitalOcean og Shipit


Frontend

React, CSS, Redux, Podium, Backbone, Svelte og Twitter Bootstrap


Utvikling

Akka, Google guice, Swing, Jersey, Aleph og Optimalj


Database

PostgreSQL, Flyway, Oracle, Sybase, Microsoft SQL Server, Derby, LDAP, Hbase, JPA, MySQL, Redis, Liquibase, Zookeeper, Hive, Slick og Hibernate


Webutvikling

Wicket, Spring, Jetty, REST, Remix, Gwt, Play, Glassfish, Unfiltered, Tomcat, Scalatra, OC4J, JBoss, Phoenix, Netty og Jakarta RESTful Web Services


Metode og tilnærming

Funksjonell programmering, DevOps, Micro services, Universell utforming, Event sourcing og CQRS


Annet

Kafka, Genova, WebLogic, Active Directory, Gerrit, Asdf, ETL, Cas, Jasper reports og Single Sign-on


Prosjekter


Arbeidsgiver

Kodemaker Systemutvikling AS


FINN
11.2021 -

Frontend utvikler i ADVIEW teamet

FINN har mange systemer som til sammen lager finn.no. Et av de sentrale teamene er ADVIEW, som har ansvaret for mange ganske kjente sider, som f.eks. salg av brukt eiendom. Som eneste utvikler med fullt fokus på frontend i teamet, har Alf Kristian ansvar for å implementere nye design, drive vedlikehold, samt bistå andre i teamet med frontend utvikling. Frontend har naturligvis et veldig stort fokus i FINN, så f.eks. ytelse, mobiltilpasning og universell utforming er viktig.

Node.js, JavaScript, TypeScript, Remix, npm, Pnpm, Yarn, CSS, React, Podium, Rollup, Postcss, Universell utforming og Kubernetes


Bring
02.2020 - 10.2021

Utvikling av AMOI, en markedsplass der butikker i en by kan få varene sine solgt og levert på dagen til folk i nærområdet.

Bring lager en ny markedsplass på nett der en kan kjøpe og selge varer og tjenster, og få varer levert på dagen (med Glow). Denne markedsplassen har fått navnet AMOI (https://amoi.no). Prosjektet hadde oppstart i februar 2020, og var i produksjon i mai 2020. Løsningen ble laget med på Elixir og Phoenix, og driftet i Azure. Prosjektet ble drevet svært smidig, der alle kunne påvirke daglig hva som skulle lages og hvordan. Alf Kristian var tech lead for et lite tech team, som hadde fullt ansvar for utvikling og drift.

Elixir, Phoenix, Mix, Svelte, Microsoft Azure, PostgreSQL og Kubernetes


Hafslund Strøm
03.2019 - 02.2020

Modernisering av plattform, videreutvikling av app og lage nye innloggede sider for privatkunder

Hafslund Strøm ønsket å bygge videre på plattformen som ble utviklet i Link prosjektet. Ut av dette laget vi personlig månedsrapport på epost, nye innloggede sider for strømkunder, samtidig med vedlikehold og utvikling av de eldre delene av plattformen. Del av et lite fokusert team, der alle måtte bidra til alt.

Clojure, ClojureScript, Scala, Kubernetes, PostgreSQL, Redis, React, SBT, JavaScript, Kafka, Micro services, Git, Amazon Web Services (AWS) og DevOps


Bring
2017-2019

Glow - system for budleveranser med sanntids pakkesporing.

Systemet som vi utviklet, var for budleveranser, alt fra mottak av ordre, ruteoptimalisering for sjåfører, sporing i sanntid, og integrasjoner med mange av Bring sine systemer. Alf Kristian hadde mange roller i prosjektet, scrum master, programmere frontend, backend, deveops og tech lead.

Heroku, Microsoft Azure, Kubernetes, JavaScript, ES2015/ES6, React, Redux, Node.js, Kotlin, Clojure, Gradle, PostgreSQL, Event sourcing, CQRS og Flyway


BN Bolig
2017

Eiendomsmeglerstartup, der vi utviklet og driftet bnbolig.no og BN Bolig sin innovative KlartSalg.

BN Bolig er en ny type megler som har etablert seg i Oslo. Målet deres er å være en ny og innovativ megler, der kjøper og selger får mer innsikt og kontroll i boligsalgs-prosessen. Alf Kristian hadde mange roller i prosjektet, programmere frontend, backend, sette opp og drifte servere, og også være med på forretningsuvikling.

JavaScript, ES2015/ES6, React, Redux, Webpack, Shipit, Clojure, Aleph, Netty, PostgreSQL, nginx, Varnish, HAProxy, Ansible, Flyway og DigitalOcean


BUP
2016

Gjøre prototype produksjonsklar for Barne- og ungdomspsykiatrisk poliklinikk.

Gjøre prototype produksjonsklar. Systemet henter inn og aggregerer informasjon fra spørreskjema, der barnet svarer på “grad” av smilefjes. Dette er et dynamisk smilefjes som går fra sur til glad, slik at man kan måle barnets stemning bedre.

Clojure, ClojureScript, PostgreSQL, Heroku og Flyway


Thomson Reuters
2016

Utvikling av løsning for intern distribusjon av fremskrevne tidsserier fra forskjellige markeder.

Utvikling av løsning for intern distribusjon av fremskrevne tidsserier fra forskjellige markeder.

Java, Apache Spark, Kafka, Hbase, Hadoop, Zookeeper og Logstash


Hafslund Strøm
2014-2016

Programmerer i team i Hafslunds "Smart hjem" satsning, Link.

Link var et prosjekt fra Hafslund med fokus på monitorering og automatisering i hjemmet. Alf Kristian har jobbet med mange områder innen prosjektet. Blant annet salg, produkter, ordre, logistikk, rapportering, generell kundeoppfølging, og tjenester som varmestyring og bevegelse. Vi var et relativt lite team, der vi har fullt ansvar for alt som gjøres. I tillegg til programmering, var Alf Kristian med på generell planlegging, og har driftsansvar. Vi driftet alt i AWS, og alle endringer som ble gjort, om det så var små kode-endringer eller større arkitektur-endringer, måtte vi selv prodsette og drifte. Oppgave: Programmerer

ClojureScript, Scala, JavaScript, React, SBT, Akka, Play, Slick, Unfiltered, PostgreSQL, Kafka, Micro services, Git, Amazon Web Services (AWS) og DevOps


Telenor Digital
2014

Bistå analytics team i fornying og forbedring av eksisterende plattform. I tillegg jobbe med ETL, og analyse av data.

Bistå analytics team i fornying av eksisterende plattform. I tillegg jobbe med ETL, og analyse av data. Telenor Digital har mange produkter som integrerer med deres analytics plattform. Analytics teamet jobber med innhenting, tilrettelegging og analyse av data fra disse produktene. I tillegg til å bistå teamet med deres daglige arbeid, gikk jobben i stor grad ut på å videreutvikle deres plattform. I utgangspunktet var plattformen bygget på Hadoop og MongoDB, men av mange årsaker, ønsket man å forenkle systemet og hovedsakelig basere plattformen på PostgreSQL. Teamet ønsket å benytte Clojure, et språk som er veldig godt egnet til å håndtere og manipulere data. Oppdraget gikk dermed også ut på å hjelpe teamet til å innføre Clojure som hovedspråk for plattformen. Oppgave: Programmerer

Clojure, Java, Python, REST, Jersey, PostgreSQL, Hadoop, Hive, Amazon Web Services (AWS), ETL, DevOps, Maven, Leiningen, Git og Gerrit


NSB Fellestjenester
2013

Utvikling av ny applikasjon for administrasjon av personalbilletter for ansatte i NSB og assosierte selskaper.

Utvikling av ny applikasjon for administrasjon av personalbilletter for ansatte i NSB og assosierte selskaper Mål for prosjektet: å erstatte en 10 år gammel applikasjon med en tilsvarende ny basert på moderne Java teknologi og et mer brukervennlig grensesnitt, samt noe ny funksjonalitet. Den nye applikasjonen vil også bli bedre integrert med omkringliggende systemer, inkludert AD, SAP-HR og LISA (NSB’s sentrale billettapplikasjon). Utviklingsteamet bestod av 2 personer (meg selv og en kollega fra Kodemaker), og ble gjennomført på en minimalistisk smidig måte. Oppgave: Programmerer

Java, JavaScript, Twitter Bootstrap, Wicket, Spring, Hibernate, REST, Jakarta RESTful Web Services, Jetty, Tomcat, Microsoft SQL Server, Liquibase, Maven og Git


Arbeidsgiver

Knowit Objectnet


Skatteetaten
2012-2013

Modernisering av mottaksmetoder av data fra privatpersoner og næringsliv.

Modernisering av måten næringsliv og privatpersoner innrapporterer data til Skatteetaten. Designe og programmere applikasjonene som mottar, validerer, lagrer og videreformidler data til skatteetatens interne systemer. Disse dataene danner blant annet grunnlaget for selvangivelsen. Oppgaver: Programmerer i Scrum-team

Java, Google guice, Hazelcast, Akka, Glassfish, Oracle og Maven


Kommuneforlaget
2012

Forvaltning og videreutvikling av store deler av applikasjonsporteføljen til Kommuneforlaget.

Generell arkitekturgjennomgang, og utvikling av diverse komponenter og applikasjoner Vi utviklet en rekke applikasjoner med helt forskjellige behov. Blant annet en applikasjon for å vise kalender eventer i årshjul, en portal løsning for kommuner, en brukerhåndteringsløsning, og et Single Sign-on system for alle disse applikasjonene (og andre), basert på CAS. Oppgaver: Arkitekt og programmerer i Scrum-team

Scala, JavaScript, Jetty, Derby, MySQL, LDAP, Active Directory, Wicket, Backbone, Scalatra, Single Sign-on, Cas og Maven


Tolletaten
2010-2011

Modernisering av batchprosesser for fortollingsdata.

Modernisering av batch prosessering for fortollingssystemet TVINN. Mye av toll og avgiftsdirektoratets systemer er laget i et programmeringsspråk som heter Sysdul. Dette språket vil om få år ikke være supportert. Prosjektet gikk ut å skrive om, og forbedre arkitektur, til de mange batchene som knar data i tollvesenets fortollingssystem. Oppgaver: Arkitekt og programmerer i Scrum-team

Java, WebLogic, Spring, Sybase, Jasper reports, Genova og Maven


Kommuneforlaget
2010

Utvikle løsning for behandling av avvik.

Utvikling av to applikasjoner, en for å gjøre det enkelt å prosessere mye XML, en for å håndtere avvik i kommuner Første oppdrag var lite prosjekt, der vi skulle lage et Java Webstart/Swing GUI for å enkelt manipulere store mengder XML. Andre oppdrag var å lage en web applikasjon som enkelt skulle kunne deployes hos alle kommuner som kjøpte systemet av Kommuneforlaget. Applikasjonen skulle motta avviks-meldinger fra kommuneforlagets skjemaløsning, sende ut nødvendig mailer til involverte parter, og gi enkel saksbehandlingsfuksjonalitet av dette. Oppgaver: Arkitekt og programmerer i Scrum-team

Scala, Jetty, Derby, Wicket og SBT


DSB
2008-2010

Utvikling, innføring og vedlikehold av nytt fagsystem.

Vi laget et nytt system for Direktoratet for samfunnssikkerhet og beredskap (DSB), for innrapportering av data fra privatpersoner og næringsliv, samt saksbehandling av blant annet “farlige stoffer”, “eksplosive varer”, “el-sikkerhet” og “farlige produkter”. I tillegg skulle systemet håndtere innrapportering fra tilsyns-instanser. Systemet publiserer data tilbake til publikum blant annet for søk av el-virksomheter og farlige stoffer. Oppgaver: Arkitekt og programmerer i Scrum-team

Java, Jetty, Spring, Gwt, Wicket, JPA, Microsoft SQL Server og Maven


Telenor Mobil
2007-2008

Utvikling av nye portaler for privat- og bedriftskunder.

Web i Norge, nye portaler for privat- og bedriftskunder. Målet var en felles portalløsning for mobil, fastnett og internett, samt redusert “Time to market” for nye produkter. Oppgaver: programmerer i Scrum-team

Java, WebLogic og Sybase


Arbeidsgiver

Mesan


Tolletaten
2006-2007

Modernisering av online applikasjon for fortollingsdata.

TVINN konvertering. Prosjektet var første ledd i konvertering av toll og avgiftsdirektoratets system for fastsetting og innkreving av toll på alle varer. Prosjektet konverte online applikasjonen fra stormaskin applikasjon, utviklet i programmeringsspråket Sysdul, til Java og Swing. Oppgaver: programmerer

Java, Swing, Ant og Genova


Nordic Lottery System
2006

Utvikling av Europeisk lotterisystem.

Utvikling av nytt internettspill med svært høye oppetids- og ytelseskrav. Oppgaver: Backend programmerer i Scrum-team

Java, Spring og JBoss


Höegh Autoliners
2005-2006

Utvikling shipping-systemer.

Nyutvikling av to applikasjoner, CargoSurvey og Invoice Prosjektet utviklet to nye appliasjoner. En for å håndtere inspeksjon av biler før og etter transport på bilbåter. Det andre systemet var nytt fakturasystem for alle Höeghs avdelinger. Oppgaver: Lead programmer i RUP-team

Java, Optimalj, OC4J og Oracle


Nye Asta
2004

Utvikling av arkivsystemer.

Nytt fagsystem for stiftelsen ASTA Prosjektet skulle uvikle et helt nytt arkivsystem for stiftelsen Asta. Oppgaver: Programmere søkemotor og rapportgenerator for eksport av data til HTML, RTF og PDF.

Java og Oracle


Anbefalinger


Robin Skoglund

Tech lead, web, Posten/Bring

«Alf Kristian is a role model developer. He is technical to his finger tips, with a deep understanding of how code runs on a computer. He is up-to-date on which tools work well, and shines with experience and lessons learned. He is unafraid in his approach to new technology, eager to learn and always get better. But he is so much more than a technologist; he is selfless, setting aside personal development goals for the greater good of the team and the customer. He has passion for the project, and compassion for his teammates, doing what he can to strengthen the team.

At Bring, Alf Kristian has built a development team for a new business area, really helping us gain ground, both technology-wise and business-wise. His positive attitude has helped getting things done, without sacrificing quality. I sure hope I get the chance to work with him again.»


Rune Strandli

Chief Digital Officer, BN Bolig

«I had the pleasure to work with Alf Kristian as a client in BN Bolig. His role in our project was as a senior full-stack developer and architect, where he was a key resource in selecting a future proof technology stack, developing a scalable and agile front/backend, implementing infrastructure and mentoring other developers.

His technology skills and deliverables are unquestionable, but what we found most valuable was his ability to identify week spots and on his own initiative fill in the blanks. Key areas where Alf Kristian has taken responsibility outside his defined role is in security issues, the interconnection between development and operations, development processes, onboarding of new employees and mapping of complex and (often) diverging user needs to delivered solution.

Alf Kristian is committed and takes ownership in his assignments. I have personally learned a lot from working with him and would not hesitate to work with him again if I get the opportunity. »


Owen Fraser-Green

Leder MyEnergy at Hafslund

«Alf Kristian is the personification of one of my favourite books - Smart and Gets Things Done. Having tried (but alas failed) to employ him a few years ago, I was lucky enough to hire him as a consultant on our Smart Home project at Hafslund. I was particularly impressed by his attention to detail, his thoroughness and his ability to just make it work. Our office hipster coffee club mourns his loss, as does the rest of our team. I would wholeheartedly recommend Alf Kristian for any project.»


Rolv Seehuus

Tech Lead

«I learned to know Alf Kristian while he was a consultant with us in the Analytics team in Telenor Digital. He impressed me with his attitude towards commitment, and his ability to get stuff done. We learned a lot together about Clojure and AWS while he worked on parts of our ETL pipeline, and his code - concise, readable, well tested - is still running in our production systems (2014-10.)

He is a great team-mate, and I would strongly recommend his services as a software developer - or Kodemaker if you like. If I got another chance at having him on my team, I'd grab it.»


Øyvind Møller Asbjørnsen

Head of Java Community of Practice at Capgemini

«Alf Kristian is by far one of the most talented developers I've ever worked with, and it was a true pleasure to have him on my team. We worked together for a year on a distributed custom build project consisting of 100 people with six development teams in two geographical locations. Alf Kristian soon established him self as lead developer on the team and a valued resource in the project. He's highly productive, solves the toughest and most complex tasks, and delivers highly maintainable code with few bugs. He identifies problems and weaknesses in both process, code and architecture and suggests ways of solving them, but still remains loyal to the decisions made by the team or project. He's easy going and a true team player, helping out whenever he can. It was a true pleasure to have him on my team, I learned a lot from him, and hope to be working with him again in the future. If you're looking for a trustworthy, highly skilled developer/architect for your project, small or large, then you can't go wrong with Alf Kristian. Highly recommended! »


Tobias K. Torrissen

CTO Knowit Objectnet

«Alf Kristian is a passionate and talented developer. I had the pleasure of working with Alf Kristian for six years in Knowit. In addition to being a great developer and consultant, he was involved in Knowit´s strategy for knowledge management and technology. Alf Kristian has been a strong promoter of functional programing languages and his competence and enthusiasm on the subject was partly responsible for the fact that Knowit was one of the first norwegian consultancies to put a system written in Scala in production.

Alf Kristian is a very conscientious person and I wish him the best of luck with his new job and give him my warmest recommendations. »


Tor Magne Hougen

Byggesjef TVINN Toll- og avgiftsdirektoratet

«Tiden hos oss i Toll og avgifts direktoratet, sammen med Alf Kristian var behagelig. Alfs bidrag med kompetanse, kunnskap, kreativitet, samt oppførselen og væremåte ga oss og teamet store felles løft. Ønsket mitt var å fortsette samarbeidet, derved ”slippe” å anbefale ham. Siden så ikke ble, umiddelbart og noe skal fremheves må det være blant hans mange gode egenskaper: Raskt å tilegne seg oversikt. Se muligheter og løsninger i alle spekter fra programmeringsteknisk detaljnivå til overordnet informasjonsflyt. Profesjonell opptreden, tørre å ta tak i utfordringer på alle nivåer. »


Sertifiseringer og kurs


2006

  • Sun Certified Web Component Developer
  • Sun Certified Enterprise Architect

2005

  • Sun Certified Java Developer

2004

  • Sun Certified Java Programmer

Presentasjoner




2013


2012



2010


Andre faglige bidrag


Artikkel: Effektiv bruk av verktøy, uavhengig av programmeringsspråk

Bruk datamaskinen effektivt, så får du mer tid til å løse faktiske programmeringsproblemer.

Artikkel: Har du kontroll på ditt utviklingsmiljø?

Kjører du samme versjon av Java, Node, Erlang, .NET Core (etc) lokalt som i prod? Hvis ikke, hvordan kan du da vite at appen din oppfører på samme måte over alt?

Artikkel: Elixir/Phoenix: Logge config og maskere secrets

Logger du config i oppstart av appen din? Nei? Det gjøres heller ikke i Elixir/Phoenix. Dette er rett og slett ikke godt nok. Her er en oppskrift på hvordan gjøre dette.

Artikkel: Elixir: Prosesser og meldinger

Elixir er et relativt nytt språk som kjører på Erlang VM’en BEAM. Dette er en annerledes plattform, som har vist seg å være svært robust, skalerbar og tillater høy oppetid. En av årsakene til dette er minnehåndteringen, som er svært annerledes fra mange andre plattformer.

Artikkel: Maskert config med Clojure

Clojure sine åpne datastrukturer er utrolig deilig å jobbe med, de brukes til alt, også config. Men ikke all config er lik, f.eks. bør ikke secrets logges. I oppstart av enhver app er det fordelaktig at config logges, så hvordan håndtere dette problemet? Her er et triks for å maskere secrets i config.