Profilbilde av Christin Gorman

Christin Gorman

Programmerinne

+47 90 29 29 26
christin@kodemaker.no

Utvikler med 24 års erfaring

  • Erfaren programmerer og arkitekt
  • Systemarkitektur
  • Testdrevet utvikling
  • XP-praksiser (TDD, CI, med mer)

«Christin har en kjempeevne til å stille gode kritiske spørsmål, tenke nytt og jobbe kreativt i daglige problemstillinger. «Kan vi ikke bare gjøre det da?» er en kjent kommentar fra Christin som god pådriver for å teste ut hypoteser raskt gjennom protyper. Generelt er Christin en imponerende effektiv utvikler med stor kapasitet.»

- Mia Norman, Vice President, Development and Operations, Tomra

Om Christin

Christin er en arbeidssom, engasjert og engasjerende programmerer med erfaring i alt fra sanntids kontrollsystemer, GIS verktøy, framsia og baksia på web og mobilapper.

Hun er først og fremst systemutvikler, men har også hatt arbeidsoppgaver innenfor alt fra kravspesifikasjon, design, testing, kursing, workshops og prosjektkoordinering.

Christin er pragmatisk når det kommer til teknologivalg, og lærer veldig fort der det er behov for å sette seg inn i noe nytt. Hun er over gjennomsnittet opptatt av å lage de enkleste og mest kostnadseffektive løsningene for sine kunder.

Hun er glad i å dele kunnskap og har med årene blitt en ettertraktet foredragsholder, og holder keynotes og foredrag på konferanser og interne arrangementer både innenlands- og utenlands.

Til sist har hun og to blogger. En på engelsk som nesten utelukkende handler om programmering, og en på norsk med mye fokus på IT i norsk offentlig sektor.

Bring

Design og utvikling av AMOI.no. En lokal markedsplass på nett med 'same day delivery'. Elixir, Azure

WesternGeco

Design og utvikling av kontrollsystem for seismisk data-innsamling. Java, JavaFX, Google Protocol Buffers

Tomra

Design og utvikling av Tomra sine server-løsninger. Java, AWS

Teknologi


Programmeringsspråk

Java, JavaScript, Visual Basic for Applications, Elixir, C++, C#, F#, C, PHP, Objective-C og Visual Basic


Devops

Kubernetes, Microsoft Azure, Jenkins, Terraform, Bamboo, Splunk, Amazon Web Services (AWS), Logstash og Kibana


Web- og apputvikling

HTML, Angular, AngularJS, React og CSS


Utvikling

ASP.NET, JBoss, Phoenix, Jetty, Resteasy, Primefaces, JavaServer Faces og Spring


Database

SQL Server, Oracle, PostgreSQL, MS Access, MongoDB, Hibernate, SQL, JPA og MySQL


Data

Elasticsearch, JMS og Apache Camel


Metode og tilnærming


Plattform

.NET, JavaFX, Arduino, iOS og Android


Annet

Maven, Git, Spring batch, Vertx, Hazelcast, Excel, Protocol buffers, GitLab og Geotools


Prosjekter


Arbeidsgiver

Kodemaker Systemutvikling AS


Norsk Helsenett
11.2021 -

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.

Java, Maven, Oracle, Jenkins 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 man kan kjøpe, selge og sende varer mellom folk i et byområde. Det har fått navnet AMOI (https://amoi.no). Prosjektet hadde oppstart i februar, og man startet helt fra scratch og laget en løsning som bygger på Elixir og Phoenix. Allerede i mai ble første versjon rullet ut i produksjon. Ny funksjonalitet blir lagt til og rullet ut kontinuerlig (Continuous Deployment).

Elixir, Phoenix, Microsoft Azure, PostgreSQL, Kubernetes og Terraform


Tomra
09.2017 - 02.2020

Videreutvikling og nyutvikling av IT-systemene som samler inn data fra pantemaskiner; system-overvåkning, håndtering av kvitterings-innløsning i butikk og utbetalinger via PayPal.

Tomra er i en ekspensjonsfase, med mange nye land som innfører panteløsninger, alle med hver sine behov og spesialtilpasninger. For å håndtere en hverdag med flere og flere panteoperatører i flere og flere regioner, jobber Tomra med å fornye sin digitale plattform. Eldre løsninger må forbedres og konverteres til å kjøre på ny og moderne infrastruktur med tilstrekkelige skaleringsmuligheter og kontinuerlige utrullinger uten nedetid.

Java, Kubernetes, Amazon Web Services (AWS), PostgreSQL, SQL Server, JavaScript, GitLab og Terraform


WesternGeco
04.2017 - 10.2017

Kontrollsystem for innsamling av seismiske data på land

Kontrollsystem for innsamling av seismiske data på land. WesternGeco jobber sammen med sine kunder for å utvikle nye og bedre måter å innhente seismiske data på land. Jeg har jobbet med utvikling av et helt nytt sentralsystem, som automatisk styrer data-innhentingsprosessen og presenterer sanntidsdata på hensiktsmessig måte til brukerne. Oppgaver: Programmerer

Java, JavaFX, Protocol buffers, Jenkins, Maven og Git


Conax
05.2016 - 04.2017

Videreutvikling av Conax Contego - en platform for kryptering av TV/video-signaler.

Conax Contego IPTV. Conax utvikler løsninger for kryptering, tilgangskontroll og innholdssikring for digital-TV. Jobbet med å innføre ny funksjonalitet for IPTV i deres platform Contego. Arbeid med ytelsesforberinger i test- og byggekjeden. Oppgaver: Programmerer

Java, Jetty, Hazelcast, Oracle, Spring, Hibernate, Bamboo, Maven, Git og React


Arbeidsgiver

Not a Number


Not a Number
2015-2016

Utvikling av en spillplatform basert på roboter.

Inspirert av populariteten til bayblades, pokemon og tradisjonelle arkade-spill, har jeg jobbet med et leke/spill-konsept med håp om å gjenskape spillgleden fra typiske arkadespill i den virkelige verden med små roboter.

Arduino og C++


Thomson Reuters
10.2015 - 12.2015

Javascript log tracker

Javascript log tracker. For å få en bedre oversikt over feil i javascript-kode, laget jeg et lite bibliotek som fanger opp log statements og feil og sender dem til en server slik at forvaltningsteamet skal kunne fikse eventuelle problemer. Koblet dataene opp til både Splunk og Kibana (via Logstash), men laget også en egen webapplikasjon som henter ut dataene samlet inn og viser dem grafisk i et Dashboard, med mulighet til å gå inn i alle feil, og se på stacktracen sammen med selve koden som forårsaket feilen. Jeg jobbet stort sett alene, men med god veiledning og feedback fra forvaltningsteamet rundt meg. Klientbiblioteket var skrevet i vanilla javascript. Backend i Vertx med MongoDb til lagring. Webapplikasjonen brukte AngularJS og Highcharts for visning av data. Oppgaver: Programmerer og arkitekt

Java, Vertx, AngularJS, MongoDB, Elasticsearch, Logstash, Kibana og Splunk


Rollersafe
2015

IOS og Android applikasjoner som konfigurerer rulleski via Bluetooth Low Energy.

Utvikling av app for å oppgradere firmware og for å konfiguere bremsekraft på RollerSafe sine rulleski med trådløs brems.

Java, Objective-C, iOS og Android


Sommerskolen i Drammen
03.2015 - 04.2015

Laget web-applikasjon for påmelding til sommerskolen.

Drammen kommune trengte en enkel webapplikasjon der man kunne melde barna sine på sommerskolen. Hele løsningen ble laget på under to uker.

HTML, Java, CSS og JavaScript


Arbeidsgiver

Husbanken


Husbanken
2013-2014

Front- og backend-utvikler i prosjekt eSøknad Bostøtte.

eSøknad Bostøtte. Web-løsning for å søke om bostøtte. Jeg jobbet hovedsakelig i frontend-teamet, men hjalp også til med implementasjon av REST-tjenestene på serversiden. Løsningen vant Difi sin pris for Årets Digitale Tjeneste.

Java, Angular, MongoDB, Resteasy, JMS, JBoss og Apache Camel


Husbanken
2012-2013

Front- og backend-utvikler i prosjekt Bostøtte-tilbakekrav. Funksjonalitet for å kreve tilbake feilutbetalt bostøtte.

Bostøtte-tilbakekrav: Husbanken laget en applikasjon som brukes ved mistanke om svindel. Saksbehandlere kan gå over alle utbetalinger og gjøre nye beregninger basert på endret informasjon for å se om en bostøtte-mottaker har fått for mye utbetalt bostøtte. Jeg var med på både design og utvikling av hele løsningen, både frontend og backend, arkitektur og UX.

Java, JBoss, JavaServer Faces, Primefaces, Spring batch, JPA og SQL Server


Arbeidsgiver

Sopra Steria AS (Tidligere Steria AS)


Statnett
09.2010 - 08.2012

Front- og backendutvikler i prosjekt LARM, et markedsstyringssystem for kjøp av reservekraft fra strømprodusenter for å holde den nasjonale strømfrekvensen stabil.

Statnett er ansvarlig for å holde strømfrekvensen i Norge så nær 50hz som mulig. På deres landssentral har de oversikt over frekvensen og hvem som produserer hva i sanntid. Dersom frekvensen går for mye opp eller ned må de kjøpe endret produksjon av strømprodusentene. Strømprodusentene sender inn bud daglig, der de gir priser for hvor mye opp eller ned de kan gå og hvor mye disse endringene koster. Operatørene i landssentralen må raskt kunne evaluere budene og velge de som er mest hensiktsmessige. LARM-prosjektet skulle gi dem et system som ga optimal oversikt og evne til å handle effektivt. Jeg bidro med generell utvikling av frontend og backend, og laget mye av selve rammeverket for data-binding og event handling brukt i GUI.

Java og Jetty


Arbeidsgiver

Western Geco


WesternGeco
2009

Utvikling av GIS-verktøy brukt av geofysikere for å planlegge seismisk data-oppsamling på land.

Jeg var en av 3-4 utviklere som laget et java-basert GIS planleggings- og analyse-verktøy brukt av geofysikere i forbindelse med oppsamling av seismisk data på land. Millioner av punkter må ikke bare vises på skjermen, men må også kunne flyttes på og avanserte beregninger kjøres for å finne optimal plassering av sensorer og kilder. Ytelsesmessig veldig krevende. Brukte GeoTools (java) med en del egen tilpasning for å håndtere løpende endringer av geografien. Jobbet med hele løsningen, fra GUI-kode til minneoptimalisering.

Java og Geotools


WesternGeco
2006-2008

Design, utvikling og testing av realtime-kontrollsystem for de seismiske kildene brukt på land.

Jeg var ansvarlig for design, utvikling og felttesting av det sentrale kontrollsystemet brukt til de seismiske kildene i WesternGeco’s land-seismikk-oppsamlings-system UniQ.

Java og C++


Arbeidsgiver

Well Data Technologies


BP
2005-2006

Lessons Learned, design og utvikling av et system for kunnskapsdeling innen farlige situasjoner på oljerigger.

Utvikling av et system for å registrere og søke gjennom erfaringer gjort i forbindelse med jobbing på oljerig. Web-interface samt desktop-applikasjoner med synkroniseringsmuligheter for installasjoner på platformer med dårlig internett-oppkobling. Jeg var ansvarlig for alt unntatt den egenutviklede ORMen brukt for databaseoppkobling.

C#, ASP.NET, Oracle og SQL Server


KCA Deutag
2003

Utvikling av web-basert system for å holde styr på mannskap og utstyr på oljeplatformer.

Utvikling av et web-basert rapporteringssystem for å holde styr på mannskap og utstyr på en oljerig. Oppgaver: Programmerer

Visual Basic, ASP.NET, SQL Server og JavaScript


Well Data Technologies
2005

RMX - design og utvikling av en konfigurerbar kvantitativ og kvalitativ risikoanalyse-applikasjon. Beregning av tid og kost på oljebrønnoperasjoner.

RMX - Laget et kvantitativt risikoanalyseverktøy for å estimere kostnader ved oljebrønnoperasjoner. Løsningen ble utviklet fra bunnen av slik at faktorer som læring over tid, og korrelasjon mellom hendelser kunne bli tatt med i beregningene, noe som ikke fantes i hyllevareløsningene. Oppgaver: Arkitekt og programmerer

.NET og C#


BP
2004

FEA tool - Kunden hadde laget et MS Excel-verktøy som gjorde FEA analyser av oljerør. Min oppgave var å optimalisere beregningskoden, noe jeg gjorde ved å skrive en dll i C som ble kalt fra excel-arket. Beregningstiden gikk fra 4 minutter til 7 sekunder. Oppgaver: programmerer

Visual Basic for Applications, Excel og C


Arbeidsgiver

Semikolon


Det Norske Veritas
2003

Utvikling av et enkelt kvalitativt risikoanalyse-verktøy for bruk i oleindustrien.

Risk Management - Utvikling av et enkelt kvalitativt risikoanalyse-verktøy til bruk i oljesektoren. Oppgaver: Arkitekt, programmerer, kursholder

Visual Basic for Applications og MS Access


Altinex UK Ltd
2002

Utvikling av en webapplikasjon for å holde styr på kvalitetsstyring av utstyr på oljerigger.

Alt utstyr på en oljerig må kvalitetssikres, vi lagde en web-basert verktøy der en kvalitetssikrer kunne holde styr på hvilket utstyr som hadde blitt kontrollert, merknader og tidspunkter for kontroll og den slags.

PHP, JavaScript og MySQL


Arbeidsgiver

Altinex UK Ltd


Altinex UK Ltd
2000

WellCost QRA - Videreutvikling av et kvantitavt risikoanalyse brukt av bl.a Shell.

WellCost QRA inneholdt en database over typiske tider og kostnader involvert i oljeplattform-aktiviteter og @Risk ble brukt til å kjøre MonteCarlo simulering med disse kostnadene og tidene for å gi estimater på tid og kost for nye planlagte oljeplattform-arbeider.

Visual Basic for Applications og MS Access


Anbefalinger


Mia Norman

Vice President, Development and Operations, Tomra

«Christin er en meget fremoverlent utvikler med mye energi og stor entusiasme for faget. Hun har en kjempeevne til å stille gode kritiske spørsmål, tenke nytt og jobbe kreativt i daglige problemstillinger. «Kan vi ikke bare gjøre det da?» er en kjent kommentar fra Christin som god pådriver for å teste ut hypoteser raskt gjennom protyper. Generelt er Christin en imponerende effektiv utvikler med stor kapasitet. Hun er en person som alltid stiller opp, tar stort ansvar og setter seg fort inn i nye saker. Hun er inkluderende og er sterk i teamsamarbeid, bidrar med mye faglig kompetanse i tillegg til mye humor og god stemning. Jeg kan gi mine varmeste anbefalinger og er helt trygg på at Christin vil være en verdifull deltaker i mange forskjellige type prosjekter.»


Sertifiseringer og kurs


2009

  • Java Specialist Master Class

2008

  • TDD

2007

  • Certified Scrum Master

Utdanning


2000-2003

University of Aberdeen

MA (Hons) Computing Science


1998-1999

NTNU

1. året Siv.Ing Datateknikk


Presentasjoner



2017




2014


2013




Andre faglige bidrag


Artikkel: Distribuert eller sentralisert Helse-IT?

Distribuerte løsninger basert på åpne standarder vs sentraliserte og proprietære løsninger - hva er fordelene og ulempene? I Norsk helsevesen har de prøvd det meste - la oss se litt på effekten av forskjellige strategier

Artikkel: Send meldingen dit den skal

Har du en viktig beskjed? Pass på at den kommer frem dit den skal!

Artikkel: 3 for 1

Et produktutviklings-team trenger utviklere, testere, driftere, arkitekter, UX, sikkerhetsrådgivere, prosess-fasilitatorer, prosjektledere, business-strateger… Hvor mange mennesker blir det til sammen?
Ideelt? Kanskje 5 stk.

Artikkel: Ny plattform?

Vi trenger en ny plattform!
Men hvem er “vi”?
Og hva er det “vi” trenger egentlig?
Hvordan passer vi på at den nye plattformen blir en suksess? (For hvem?)

Artikkel: Men hva om den går ned!

Hva om den eksterne tjenesten vi er avhengig av går ned? Hvordan sikrer vi en robust tjeneste med eksterne avhengigheter?

Artikkel: Rebusløp

Kode skal være lett å lese. Men hva betyr dette i praksis? Hva er lett å lese og hva er det koden skal formidle til leseren? Hvorfor leser vi kode i det hele tatt?

Artikkel: Tid - hvor vanskelig kan det være? Del II

I del én lærte vi hvilke datatyper vi trenger i kode for å håndtere tid, men hvordan er det vi lagrer dem i en database?

Artikkel: Tid - hvor vanskelig kan det være?

Jeg har drevet med programmering i snart 20 år, og i nesten hvert eneste prosjekt jeg har vært med i har vi endt opp med problemer, misforståelser og diskusjoner rundt tid. Er det mulig? Hvor vanskelig kan det være?

Artikkel: Future proof

Tanker og anbefalinger om hvordan gjøre en applikasjon lettere å jobbe med over tid.

Artikkel: Hvem og hva er det vi kjemper imot

Problemene vi står overfor med IT-utvikling i offentlig sektor.

Artikkel: Reuse? Refuse

Gjenbrukbarhet kan føre til lavere kvalitet og dårligere brukeropplevelser.

Artikkel: Losing loose coupling

Om verdien ved å begrense hva en applikasjon gjør, å bestemme seg for en implementasjon og funksjonalitet.

Artikkel: Programming like a pirate

Jeg utfordrer clean-code-prinsippet om å ekstrahere all kode ut i metoder med kun et par linjer. Det er noen fallgruver man bør passe seg for.