Christian Johansen
Kodemaker
+47 934 17 480
christian@kodemaker.no
Født
1982
Sivil status
Gift, 2 barn
Utdanning
Institutt for informatikk, Universitetet i Oslo
Erfaring
2002-
Sammendrag

Christian var tidlig ute som moderne frontend-utvikler. Han laget CSS for Norges første offentlige nettsted med ren CSS-layout (http://www.apollon.uio.no/) og har vært "frontend-mann" for utallige små og store prosjekter.

Etter å ha lansert sin bok om testdrevet utvikling med JavaScript i 2010 har Christian holdt en mengde foredrag og kurs i temaer knyttet til boken, samt generelt om applikasjonsdesign og kodekvalitet, både på frem- og baksiden.

Christian er en allsidig utvikler med tung frontend-erfaring, erfaring fra drift og server-oppsett/devops, applikasjonsutvikling med Ruby (og Rails), Node.JS, Clojure og andre, samt utvikling av Android-applikasjoner. Han er i tillegg en aktiv bidragsyter i fri programvare-verdenen og har blant annet skrevet det populære testverktøyet Sinon.JS for JavaScript.

Teknologi
Programmeringsspråk
Clojure, JavaScript, Ruby, Java, Elisp, PHP
Teknologi
HTML, CSS, React, SQL, Rails, jQuery, REST, Ajax, Node.JS, Nettlesere, Datomic, Buster.JS, Diverse testerammeverk, ActiveMQ, Capistrano, Redis
Programmeringsverktøy
Emacs, Terminal, Eclipse, Nettlesere med utviklerverktøy
Versjonsstyring
Git, Subversion
Platform
Phusion Passenger, Nginx, Apache HTTPD, Unicorn, Monit, Puppet, Ansible, Docker, Jetty, Varnish, OpenSSH
Metoder
Funksjonell programmering, Test-drevet utvikling, Continuous Deployment, Scrum, Kanban
Operativsystem
Linux, Android, OS X, Windows
Kvalifikasjoner
Utvalgte prosjekter, sammendrag
OppdragsgiverPeriodeOppdrag
Eventum.no 2017- eventum.no
NRK 2015-2016 Origo/Potion
NRK 2014-2015 Radioarkiv
NRK 2014 Redigeringsstøtte
SPiD 2014 Schibsted Payment ID
Kodemaker 2014 Nye nettsider
FINN.no 2013-2014 Finn Småjobber
Gitorious AS 2011-2013 Gitorious programvaren
Gitorious AS 2011-2013 Drift gitorious.org
Programutvikling AS 2011-2013 Månedlige kurs i JavaScript og TDD med JavaScript
FINN.no 2011-2012 FINN Oppdrag
Nordea 2010 Nordea Android app
Adecco 2010 Adecco Android app
Telenor 2010-2011 telenor.no
Shorcut 2009-2011 Diverse interne apper
Apotek 1 2009 konkurranse.apotek1.no
Telenor 2009 online.no
IXD AS 2008 webdagene.no
Storebrand 2007-2008 storebrand.no
Storebrand 2006-2007 Storebrand Skadeforsikring
Cosmopolite 2006-2013 cosmopolite.no
IXD AS 2007-2009 reiseliv.no
IXD AS 2007 webdagene.no
IXD AS 2005-2009 Diverse mindre websider basert på eZ Publish
Selvstendig 2004-2005 flysiden.no
Universitetet i Oslo 2002-2003 apollon.uio.no
Prosjekter

Arbeidsgiver: Kodemaker Systemutvikling AS

OppdragsgiverPeriodeOppdrag
NRK2015-2016

Søk i NRKs enorme mengder videoklipp - både nettklipp, ting som har gått på TV og råstoff. Utviklet en søkekomponent for 'smart søk' som gjør utstrakt bruk av autocomplete, forslag til forskjellige filtreringer, og gjør andre grep for å styre brukeren i retning av et detaljert søk. Søket ble implementert i Elasticsearch gjennom en node.js/Express webserver, og med UI skrevet i React. UI-et ble skilt ut som et bibliotek for intern gjenbruk, og er nå i bruk i flere applikasjoner.

Teknologi: JavaScript, Elasticsearch, node.js, React, Docker, Mesos/Marathon

NRK2015

Implementerte nytt design for NRKs interne Radioarkiv, som brukes internt for research og gjenbruk av arkivmatriale. Designet ble implementert i form av en styleguide som senere ble den sentrale UI-komponenten i paraply-prosjektet Origo, som favner alle NRKs egenproduserte systemer rettet mot interne arbeidsflyter.

Teknologi: JavaScript, CSS, Responsive Web Design, LESS

NRK2014

Laget en lettvekts bilderedigeringskomponent (litt effekter, crop, skalering, panorering) med web-teknologi. Komponenten benyttes som plugin i video-redigeringsverktøyene Adobe Premiere Pro og Quantell. Tilhørende funksjonalitet ble også utviklet: bildescrubbing i filmklipp, deinterlacing av bilder fra film og diverse andre småting.

Teknologi: JavaScript, WebGL, Chrome Embedded Framework, Angular og jasmine

SPiD2014

Utviklet nytt nettsted for teknisk dokumentasjon. Vi gjør mange grep for å holde dokumentasjonen aktuell og oppdatert. Sidene blir bygget opp basert på informasjon hentet rett fra SPiD sitt REST API. Eksempler i guides hentes fra fungerende eksempler, for å sikre at kodeeksempler ikke er utdatert.

Teknologi: Clojure, Ansible, Responsive design, Stasis, Optimus, Midje

Har også prototypet ny innlogging, registrering og kjøpsflyt for SPiD, med fokus på brukervennlighet, støtte for mobil, og forenkling av tekniske løsninger.

Teknologi: HTML, CSS, Responsiv design, JavaScript, grunt, mocha, chai

Kodemaker2014

Bistått utviklingen av nye nettsider for Kodemaker.

Teknologi: Clojure, Stasis, Optimus, Midje

FINN.no2014

Jobbet med FINN Småjobber i lanseringsfasen. Jobbet med alle deler av applikasjonen, samt gjorde mye frontend-arbeid, inkludert å implementere et nytt dynamisk søk ved hjelp av React.JS.

Teknologi: HTML, CSS, JSP, Java, Spring MVC, Responsiv design, React.JS

Gitorious AS2011-2013

Jobbet som en del av et team på 3. Utvikling av selve applikasjonen i Ruby on Rails, drift av gitorious.org og interne kundeinstallasjoner, automatisering av installasjoner/systemoppgraderinger, salg og kundekontakt. Tok applikasjonen gjennom en tung og komplisert oppgradering av Rails fra versjon 2 til 3, samt laget nytt responsivt UI til løsningen.

Teknologi: Ruby, Ruby on Rails, MySQL, nginx, Varnish, Linux, CSS, JavaScript, jQuery, Responsiv design, Boostrap, Puppet, shell scripting, Java, jgit, Git, og annet.

Foredrag/kurs
Navn Sted Når
Functional UI Programming NDC 2014, foredrag om React.js, ClojureScript og Om Juni, 2014
Functional UI Programming flatMap(Oslo) 2014, foredrag om React.js, ClojureScript og Om April, 2014
JavaScript for programmers, 3-dagers kurs Programutvikling April, 2014
Party in the front, party in the back Booster conf, Bergen - node.js og React.js workshop Mars, 2014
JavaScript for programmers, 3-dagers kurs Programutvikling Februar, 2014
JavaScript for programmers, 3-dagers kurs Programutvikling Desember, 2013
JavaScript for programmers, 3-dagers kurs Programutvikling Oktober, 2013
Test-driven JavaScript Development, 3-dagers kurs Programutvikling September, 2013
JavaScript for programmers, 3-dagers kurs Programutvikling August, 2013
Test-driven JavaScript Development, 3-dagers internkurs Startsiden.no April, 2013
Test-driven JavaScript Development, 3-dagers kurs Programutvikling April, 2013
JavaScript for programmers, 3-dagers internkurs Startsiden.no Mars, 2013
JavaScript for programmers, 3-dagers kurs Programutvikling Mars, 2013
Unit testing with Buster.JS Capra Januar, 2013
JavaScript for programmers, 3-dagers kurs Programutvikling Januar, 2013
Introduction to Git, 1-dags kurs Nets Januar, 2013
Pure, functional JavaScript Felix Aker Brygge Desember, 2012
Test-driven JavaScript Development, 3-dagers kurs Programutvikling November, 2012
Automated testing and JavaScript Mesan November, 2012
Pure, functional JavaScript Øredev November, 2012
JavaScript for programmers, 3-dagers kurs Programutvikling Oktober, 2012
Test-driven JavaScript Development, 3-dagers kurs Programutvikling September, 2012
Test-driven JavaScript Development, 3-dagers kurs Programutvikling September, 2012
Zombie TDD Live (med Magnar Sveen) JavaZone September, 2012
Pure, functional JavaScript JavaZone September, 2012
JavaScript Basics InMeta September, 2012
Automated testing and JavaScript NIFSL September, 2012
Node.JS Dataforeningen August, 2012
JavaScript for programmers, 3-dagers kurs Programutvikling August, 2012
Working with Buster.JS August, 2012
Pure, functional JavaScript NDC Juni, 2012
Pure, functional JavaScript WebRebels Mai, 2012
Test-driven JavaScript Development, 3-dagers kurs Programutvikling Mai, 2012
JavaScript for programmers, 3-dagers kurs Programutvikling April, 2012
Test-Driven JavaScript Development SDC (Sverige) April, 2012
Pure, functional JavaScript SDC (Sverige) April, 2012
Buster.JS Bergen NNUH Mars, 2012
Node.JS Bergen NNUG Mars, 2012
Unit testing JavaScript Days, Køln Mars, 2012
Sinon.JS JavaScript Days, Køln Mars, 2012
TDD with JavaScript JavaScript Days, Køln Mars, 2012
Buster.JS/TDD workshop (med August Lilleaas) BEKK Februar, 2012
JavaScript: From Zero to Hero in 1.5 days Konwit, Stavanger Februar, 2012
Step away from the for-loop! Framsia Januar, 2012
Introduction to JavaScript Unit4 January, 2012
Test-driven JavaScript Development, 3-dagers kurs Programutvikling November, 2011
Test-driven JavaScript Development, 3-dagers kurs Questback November, 2011
Writing a book experience report: Test-Driven JavaScript Development Øredev November, 2011
Test-Driven JavaScript Development Øredev November, 2011
Divide and conquer: JavaScript design and architecture BBC, London October, 2011
JavaScript design and architecture, workshop Miles, Bergen September, 2011
Hands-on Buster.JS Frontendconf, Zurich September, 2011
JavaScript design and architecture JavaZone September, 2011
Mythbuster, JavaScript Edition JavaZone September, 2011
Buster.JS Lyntale Cisco August, 2011
Test-driven JavaScript Development, 3-dagers kurs Programutvikling Juni, 2011
TDDoing it right (TDD/BDD/Testing "shootout") Framsia Juni, 2011
JavaScript design and architecture NDC Juni, 2011
JavaScript TDD in Practice NDC Juni, 2011
JavaScript unit testing JavaBin Sørlandet Juni, 2011
Test-Driven JavaScript Development APT Mai, 2011
Test-Driven JavaScript Development Roots conf, Bergen April, 2011
Test-Driven JavaScript Development, workshop Falsy Values, Warsawa Mai, 2011
Buster.JS Framsia April, 2011
Test-driven JavaScript Development, 3-dagers kurs Programutvikling April, 2011
Test-driven JavaScript Development Komplett.no Februar, 2011
JavaScript-arkitektur for liten og for stor Finn.no Februar, 2011
JavaScript: Design og struktur Finn.no Februar, 2011
Sinon.JS - Simplifying JavaScript testing XP Meetup, Oslo Januar, 2011
Test-driven JavaScript Development BEKK Januar, 2011
Unit-testing JavaScript JavaZone September, 2010
Unit-testing JavaScript JavaBin/Framsia September, 2010
Test-first JavaScript Fronttrends, Warsawa September, 2010
JavaScript testing tools irb.no, Oslo 2009
Bidrag til Open Source

JavaScript

Ruby

Utdannelse
SkoleÅrRetning
Institutt for informatikk, UiO2001 - 2005Systemutvikling og digital signalbehandling
Språk
Språk Behersker
Norsk Muntlig, skriftlig
Engelsk Muntlig, skriftlig