Disponible dès que possible
(Mis à jour 2024-12-06)Fullstack utvikler og løsningsarkitekt
Sande, Norway
Natif Bokmål, English, Intermédiaire Spanish, Débutant French
- 20+ års erfaring med C#, .NET, SQL, CSS/HTML, JavaScript/TypeScript
- API-utvikling og integrasjoner med REST, SOAP, Rebus og NServiceBus
- Azure, Docker, Kubernetes og DevOps-prosesser
Compétences (72)
ASP.NET
MVC
REST
C#
JSON
.NET Core
TypeScript
JavaScript
.NET
SOAP
SQL
azure cosmos db
Postman
Basic
T-SQL
Newman
Azure container registry (ACR)
XSLT
Pascal
MOQ
Bootstrap
Confluence
SASS/SCSS
Azure DevOps
JQuery
Microsoft SQL Server
Azure Blob Storage
CSS
Octopus
Azure Key Vault
Azure App Services
AUTOMATED TESTING
Continuous Delivery (CD)
Azure Functions
Continuous integration (CI)
Azure Queue Storage
Angular
Docker
Entity Framework (EF Core)
GDPR
OpenID Connect (OIDC)
MSBuild
SuperOffice
CruiseControl
Git
GITHUB COPILOT
TeamCity
Jest
FinTech
Atlassian Bamboo
SonarQuebe
Microservices
AZURE APPLICATION INSIGHTS
React Native
Karma
NHibernate
Subversion
OAuth 2.0
fluent nhibernate
NAnt
Jasmine
TFS
SPLUNK
Jenkins
ESLint
Perl
expo
PSD2
Atlassian BitBucket
SignalR
Figma
Azure AD
Résumé
Bjørn er en svært erfaren fullstack utvikler med en MSc i Machine Learning fra University of Bristol, som har jobbet med web- og systemutvikling siden 2000. Han fungerer gjerne som løsningsarkitekt og seniorutvikler i prosjektene han leies inn i, men har også hatt roller som teamleder og teknisk prosjektleder.
Bjørn har spesialisert seg på C# og .NET, men behersker hele applikasjonsstacken, fra databaser og backend til frontend-utvikling med de nyeste JavaScript-rammeverkene. Han har solid DevOps-kompetanse, med praktisk erfaring i oppsett og konfigurasjon av plattformer for utvikling og drift på både on-prem løsninger og Azure-skyløsninger.
Bjørn er opptatt av å benytte smidige prosesser og veletablerte utviklingsprinsipper for å opprettholde kvaliteten i leveranser. Han følger teknologitrendene i markedet, for å kunne tilby kunden en bredde i leveransen.
Bjørn er analytisk, strukturert og systematisk av natur. Han liker å ta ansvar, er utadvendt, og er ofte en pådriver for sosiale/faglige engasjement.
Les mer på www.kodebjorn.no
Expérience professionnelle
2021-09 - Actuel
OM KUNDEN:
Visma Software er et norsk teknologiselskap som spesialiserer seg på å utvikle programvareløsninger for økonomi, regnskap, HR, lønn, administrasjon og andre forretningsprosesser. Selskapet tilbyr et bredt spekter av programvareprodukter og tjenester som hjelper bedrifter med å effektivisere sine administrative oppgaver og forbedre sine forretningsprosesser.
HOVEDOPPGAVER:
Bjørn hadde en sentral rolle som senior fullstack utvikler i videreutviklingen av Periode & År, en skybasert webløsning fra Visma Software som spesialiserer seg på årsoppgjør. Denne løsningen er primært rettet mot SMB-markedet og regnskapskontorer, og kjører på Microsoft sin Azure skyplattform.
Bjørn hadde ansvar for utvikling av alle lagene til applikasjonen. På frontend utviklet han Angular-moduler, som bruker TypeScript, HTML og SASS. På backend jobbet han med .NET og C# for å utvikle REST API-er og sørget for kommunikasjonen mellom klienten og serveren. Bjørn bidro også på database-nivå, inkludert modellering av databasen og skripting og oppsett av Entity Framework. Dette var viktig for å sikre effektiv og pålitelig lagring og henting av data. Han lagde også en integrasjon mot Azure AI Translator for automatisk oversettelse av tekster til andre språk.
Bjørn jobbet i en kontekst hvor sikkerhet var avgjørende, spesielt med tanke på at løsningen hadde en tett integrasjon mot offentlige systemer som Altinn og Skatteetaten.
Bjørn jobbet i et team med 15 utviklere, og deltok i en arbeidsprosess som inkluderer nøye kvalitetssikring. Pull Requester ble brukt for å gjennomgå og godkjenne endringer, som bidro til å opprettholde høy teknisk kvalitet i koden. Feature-flags ble brukt til å administrere utrullingen av nye endringer i produksjon på en kontrollert måte. Teamet brukte Kanban som arbeidsmetodikk, og Bjørn benyttet Jira og Confluence for oppgavehåndtering og dokumentasjon.
2021-01 - 2021-09
OM KUNDEN:
Telenor er landets største digitale tjenesteleverandør innenfor mobil, fastnett og TV-tjenester. KASSO-systemet til Telenor er et sentralt system som brukes til salg, administrasjon og visning av TV- og bredbånds-produkter. Dette systemet er en kritisk komponent i Telenors teknologiske infrastruktur i forbindelse med kundeservice-systemer og selvbetjeningsportalen "Mitt Telenor".
HOVEDOPPGAVER:
Bjørn jobbet som backend utvikler i et team med ansvar for videreutvikling av KASSO-systemet. Løsningen besto av et web-grensesnitt og REST API-er. Han utviklet løsningene på .NET 5, som benyttet Rebus og SQL Server for å støtte asynkron håndtering av endringsordre.
Bjørn tok initiativ til å øke kvaliteten på systemet ved å forbedre oppbyggingen av enhets- og integrasjonstester. Han bidro også til å introdusere Pull Requester som en del av utviklingsprosessen. Dette fremmet samarbeid, kodegjennomgang og kvalitetssikring. I tillegg tok han ansvar for å konfigurere oppsettet av kode-analyse via SonarQube som en del av bygg-pipelinen.
Driftsmiljøet for KASSO-applikasjonen var på Docker Pods på OpenShift-plattformen til Red Hat, som ga en skalerbar og pålitelig infrastruktur. Koden lå i Git-repoer i BitBucket, med integrasjon mot CI/CD-pipelines i Jenkins. Teamet benyttet Jira for oppgavehåndtering og Confluence for dokumentasjon.
2020-04 - 2021-01
OM KUNDEN:
Resight (nå en del av Embriq) er et programvareselskap som leverer forretningskritiske applikasjoner knyttet til arbeidsordre-prosesser og samhandling innenfor nettselskap. Selskapet har over 50 nettselskaper på kundelisten i Norge og Sverige.
HOVEDOPPGAVER:
Bjørn hadde ansvaret for videreutvikling av Resight sin Powercatch app, som hadde en integrasjon mot Jira for å administrere saker. Appen ble utviklet for å være allsidig og tilgjengelig på tvers av plattformer (Android og iOS) og mobile enheter (mobil og nettbrett).
Bjørn jobbet med utvikling av teknisk funksjonalitet for å sikre robusthet. Appen var konstruert for å kunne operere uten mobildekning, med intelligent caching av saksendringer og automatisk synkronisering når enheten kom online. Dette var avgjørende for at montørene skulle kunne være produktive selv i de mest utfordrende miljøer.
Bjørn utviklet løsningen ved bruk av TypeScript/JavaScript i frontend, Jest for testing, og Expo for bundling og kompilering mot de forskjellige plattformene. Han satte opp CI/CD pipelines i Bamboo, med egne Docker images som bygg- og deploy-agenter. BitBucket håndterte Git-repoene, og Figma ble brukt for å lage en klikkbar prototype (UX).
For å holde teamet oppdatert, satte han opp en egen Azure Function App for å sende varsler til Slack når Expo var ferdig med å bygge nye app-binaries.
2020-03 - 2020-04
OM KUNDEN:
Nortura er et norsk samvirkeforetak, og har som den største aktøren innenfor kjøtt- og eggindustrien en betydelig innflytelse på landbrukspolitikk og matproduksjon i Norge. Selskapet har anlegg over hele Norge for slakting og videreforedling av kjøtt og egg.
HOVEDOPPGAVER:
Bjørn utviklet et system for monitorering av kurs som ble fullført på Didac-plattformen, samt rapportering av disse inn til kursdeltakernes nærmeste leder. Løsningen han implementerte benyttet Azure Function Apps og Azure Queue Storage, samt Microsoft Graph for integrasjon mot Azure AD og Office 365.
2018-10 - 2020-02
OM KUNDEN:
Komplett Bank er en norsk nettbank som tilbyr ulike finansielle tjenester og produkter til privatpersoner. Formålet med Gjeldsregisteret er å gi banker og finansinstitusjoner tilgang til informasjon om en persons samlede gjeld. Dette bidrar til en bedre vurdering av låne- og kredittsøknader.
HOVEDOPPGAVER:
Bjørn hadde ansvar for blant annet implementering av REST API-er med spesiell vekt på integrasjoner knyttet til Gjeldsregisteret. Hans ansvarsområder omfattet flere aspekter av utviklings-livssyklusen, inkludert arkitekturdesign, programvareutvikling, testing og DevOps-oppgaver for automatisering av bygg- og utrullingsprosesser.
Han tok initiativ til å etablere systemer for automatiserte ende-til-ende tester av API-er, basert på verktøy som Postman og Newman. Dette bidro til å sikre påliteligheten og kvaliteten på API-ene gjennom hele utviklingsprosessen.
Bjørn utviklet løsningene på .NET, og brukte blant annet Azure DevOps, Docker og Kubernetes for containerisering og orkestrering av applikasjonene. Han arbeidet også med ulike Azure-plattformressurser, som CosmosDB, Azure Storage og Azure KeyVault, som en del av infrastrukturen.
2017-08 - 2018-09
OM KUNDEN:
Santander Consumer Bank er en av verdens største og mest kjente finansinstitusjoner, med virksomhet i en rekke land over hele verden. Med Open Banking gir banken tredjepartsutviklere tilgang til kundenes finansielle data og tjenester via åpne API-er.
HOVEDOPPGAVER:
I prosjektet hadde Bjørn ansvar på flere nivåer i design og utvikling av den tekniske løsningen. Han bidro til å definere den overordnede arkitekturen for Santanders offentlig tilgjengelige API. Dette innebar å planlegge hvordan API-ene skulle utformes og struktureres for å møte både bankens behov og de regulatoriske kravene i PSD2-direktivet. Han var ansvarlig for selve utviklingen av API-ene. Dette inkluderte å implementere løsningen som tillot at kundedata kunne deles sikkert og effektivt i samsvar med direktivet. Løsningen ble implementert ved bruk av en rekke Azure-funksjoner, som Azure App Service, Azure Management Service, Azure Developer Portal og Azure Blob Storage.
Bjørn gjennomførte omfattende testing av API-ene for å sikre at de fungerte pålitelig og oppfylte kvalitetskravene. Dette innebar både enhetstesting og integrasjonstesting. Han utarbeidet dokumentasjon som skulle følge med API-ene. Dette var viktig for å gjøre API-ene brukervennlige og forståelige for både interne og eksterne utviklere. Bjørn var også involvert i designet av utviklerportalen og brukerreisen knyttet til innlogging. Dette sikret at utviklere som ønsket å bruke API-ene, hadde en enkel og effektiv måte å få tilgang. Han fikk erfaring med flere teknologiplattformer, inkludert Apigee fra Google for API-styring og skyplattformen Azure fra Microsoft.
2015-10 - 2016-07
PROSJEKTMÅL:
Santander Consumer Bank ønsket å forbedre sitt rammeverk for behandling av lånesøknader. Prosjektet hadde som mål å utvikle en ny SOAP-tjeneste, styrke integrasjonen med eksterne partnere, og sikre kvalitet og pålitelighet gjennom forbedret testing og utrulling.
HOVEDOPPGAVER:
Som backend utvikler og teknisk prosjektleder ledet Bjørn videreutviklingen av bankens rammeverk for behandling av lånesøknader, som bygget på NServiceBus-teknologi. Han designet, utviklet, og dokumenterte en ny SOAP-tjeneste og sørget samtidig for implementering av omfattende enhetstester.
Bjørn koordinerte også arbeidet med eksterne partnere, og veiledet dem gjennom integrasjonsprosessen mot den nyutviklede tjenesten. Han bisto med integrasjonstesting og feilsøking før tjenestene ble satt i produksjon, og benyttet Octopus for utrulling av nye versjoner av tjenestene. Git og TFS 2015 ble brukt til å kontrollere kildekoden.
2010-03 - 2015-10
OM KUNDEN:
Canal Digital Kabel TV var den delen av Canal Digital som tilbød kabel-TV og bredbåndstjenester til norske husholdninger. I 2019 ble kabel-TV-segmentet til Canal Digital overtatt av Telenor Norge.
HOVEDOPPGAVER:
Bjørn spilte en nøkkelrolle som fullstack utvikler og løsningsarkitekt for Canal Digital sin webløsning, som bygget på CMS-systemet EPiServer (nå Optimizely). Han begynte i en tid da selskapet ikke hadde noen egen utviklingsavdeling, og tok ansvar for å etablere et komplett utviklingsmiljø, inkludert oppsett av test- og produksjonsservere. Han tok også på seg ansvaret for administrasjon og vedlikehold av viktige verktøy som TFS 2010 og kildekontrollsystemet.
I tillegg til dette utviklet Bjørn strategier for effektiv kildekodehåndtering, inkludert retningslinjer for branching og merging. Han innførte kontinuerlig integrasjon (CI) ved hjelp av Team Builds, noe som muliggjorde automatiserte tester og bidro til å avdekke og rette potensielle problemer tidlig i utviklingsprosessen. Han etablerte også en nattlig distribusjonsprosess ved hjelp av MSDeploy til en dedikert demo-plattform, noe som gjorde det mulig å evaluere og forbedre nye funksjoner og endringer jevnlig.
Bjørn tok rollen som teamleder etter hvert som nye utviklere ble ansatt. Han introduserte Kanban som arbeidsmetodikk, og utarbeidet retningslinjer for utviklingsteamet for å sikre en smidig utviklingsprosess.
2009-08 - 2010-03
OM KUNDEN:
Fortress Reklamebyrå AS er et norsk selskap som tilbyr tjenester innen design, reklame, webutvikling og merkevarebygging. Selskapet ble stiftet i 1999 og har sitt hovedkontor i Oslo.
HOVEDOPPGAVER:
Bjørn bidro til videreutviklingen av Meglerservice, Norges ledende web-baserte system for web-to-print for eiendomsmeglere. I prosjektet automatiserte han distribusjonsprosesser, forbedret integrasjonstester og dokumenterte installasjonsprosedyrer. Han la vekt på testskript, regresjonstesting og nøyaktig feilrapportering. Bjørn moderniserte også systemets største webapplikasjon ved å lage et solid CSS-rammeverk, introdusere Ajax og restrukturere løsningen til å utnytte MasterPages og nye webkontroller.
2006-04 - 2009-08
OM KUNDEN:
Canal Digital var en ledende leverandør av TV- og bredbåndstjenester i Norden. Det ble grunnlagt i 1997 som en del av Telenor-konsernet, og slått sammen med Viasat Consumer i 2020 for å danne Allente.
HOVEDOPPGAVER:
Bjørn inntok rollen som Lead Developer for Canal Digital sin nordiske EPiServer-webløsning, som omfattet Norge, Sverige, Danmark og Finland. Han ledet et team på fem programmerere og påtok seg rollen som løsningsarkitekt, hvor han designet systemets database og ivaretok vedlikeholdet av TFS og kildekontrollsystemet.
Med vekt på effektivitet og kvalitetssikring, etablerte Bjørn strategier for kodekontroll, inkludert retningslinjer for branching og merging. Han implementerte også kontinuerlig integrasjon (CI) ved hjelp av Team Builds, som muliggjorde regelmessige nattlige oppdateringer til en dedikert demo-plattform.
Bjørn utarbeidet flere veiledninger, deriblant for samkjøring av utviklingsinnsatsen i teamet og for utvikling av selvstendige moduler eksternt. Han utviklet også en "Web Deployment Wizard" for å distribuere EPiServer-applikasjoner i lastbalanserte miljøer, som ble gjort åpent tilgjengelig for andre utviklere.
2005-02 - 2006-04
OM KUNDEN:
Norges Varemesse er Norges største messe- og konferansesenter, lokalisert i Lillestrøm. Det ble etablert i 1920, og har huset en rekke nasjonale og internasjonale messer, utstillinger og arrangementer. Senteret spiller en sentral rolle i norsk næringsliv ved å være en viktig møteplass for bransjer og publikum. Norges Varemesse brukte SuperOffice for å administrere sine kunderelasjoner, messer og konferanser.
HOVEDOPPGAVER:
Bjørn deltok aktivt i webutviklingsprosjektet der hovedoppgaven var å skape en sømløs integrasjon med SuperOffice. Bjørn utviklet brukervennlige webgrensesnitt som effektivt kunne koble seg til SuperOffice-databasen, og dermed sikre en strømlinjeformet dataflyt.
Arbeidet med integrasjonen krevde forståelse for SuperOffice sitt API, noe som gjorde at Bjørn tilegnet seg verdifull kompetanse innen CRM-integrasjoner. Målet var å tilby en løsning som kunne forbedre kundens arbeidsflyt ved å kombinere webfunksjonalitet med de kraftige verktøyene i SuperOffice.
2000-11 - 2005-02
OM ARBEIDSGIVEREN:
Wide Computing utviklet "LinkLoader" for å adressere døde lenker og forsinkede indekseringer hos de store søkemotorene. Verktøyet ga daglige oppdateringer fra lokale innholdsleverandører til søkemotorer, noe som sikret oppdaterte søkeresultater.
HOVEDOPPGAVER:
Da Bjørn startet i selskapet, var det kun fire ansatte. I løpet av hans tid der vokste teamet til over 20 medarbeidere. Bjørn stod sentralt i utviklingen av den lokale søkemotoren LinkLoader, samt det tilhørende konfigurasjonsverktøyet som var designet som en Windows Forms applikasjon. Utover dette bidro han også til å forme bedriftens websider, og var en ressurs både innen testing og i salgs- og markedsføringsaktiviteter.
Parcours scolaire
1999-08 - 2000-07
1996-08 - 1999-07
Formations
2013-08
2013-05
2012-10
2008-12
2006-01