Senior Software Engineer Bergen, Norway

Kan være tilgængelig

(Opdateret 2022-09-19)

Senior Software Engineer

Bergen, Norway

Modersmål Norwegian, English

  • 3+ years of experience with Java
  • 5+ years of experience with TypeScript, Node.js, React and AngularJS
  • 5+ years of experience in .NET, C#, and Azure

Kvalifikationer (13)

SYSTEMUTVIKLING

.NET

PROGRAMVARE

Git

C#

Node.js

SCRIPTING

Embedded C

Java

HTML

VBA

PHP

Python

Professionel erfaring

Senior softwareutvikler
Scandinavian Reach Technologies AS

2016-02 - 2022-09

Jobbet først i freelance/hobby-kapasitet for å utvikle proof-of-concept, deretter fulltid som fast ansatt fra juli 2017.
Senior utvikler
InRange

2017-07 - 2022-09

Situasjon InRange er ScanReach sitt produkt for personell-sporing og sensordatainnsamling. Det består blant annet av en .NET Core backend som kjører on-prem på skip, en Vue.js frontend, en Node.js applikasjon som binder sammen mesh-nettverket og backend, og embedded C firmware som kjører på mesh noder og armbånd. Disse har blitt utviklet gradvis siden selskapets første proof-of-concept.
Bidrag Utover mer konkrete prosjekter som er fremhevet under, så har Svein Atle vært med å utvikle de forskjellige komponentene i InRange. Han har vært fleksibel og bidratt til alt fra firmware til backend, frontend og DevOps, avhengig av selskapets behov og ressurssituasjon.
Kompetanse .NET Core, C#, Entity Framework, SQL Server, Node.js, TypeScript, Redis, Vue.js, React.js, HTML, CSS, C, Embedded, Unit testing, Python, Makefile, Shell scripting,
Senior utvikler
Transportlag for Wilhelmsen Smart Ropes

2018-11 - 2022-05

Situasjon Wilhelmsen utviklet en ny Smart Ropes sensor for å måle strekk i fortøyningstau.
ScanReach ble involvert for å overføre sensordata fra tauene opp til bro, ettersom sensorene ikke hadde lang nok radio-rekkevidde til å nå opp til bro direkte.
Bidrag Svein Atle utvidet firmwaren i ScanReach sine mesh noder til å samle inn sensor data fra Wilhelmsen sine Smart Ropes og overføre dette gjennom ScanReach sitt mesh-nettverk. Svein Atle utvidet også ScanReach sin gateway programvare til å sende sensor data videre til Wilhelmsen sine systemer via Azure IoT Edge.
Kompetanse C, Embedded, Node.js, TypeScript, Azure IoT Edge, Bluetooth Low Energy
Senior utvikler
Generisk Modbus

2021-11 - 2021-12

Situasjon Mange sensorer og annet utstyr som er relevant for det maritime markedet støtter Modbus for styring eller avlesning. ScanReach sine mesh noder ble derfor utvidet med generisk støtte for å lese data fra Modbus-instrumenter. Resten av InRange løsningen ble også utvidet slik at kunder selv kunne sende Modbus-konfigurasjoner til mesh noder.
Bidrag Svein Atle gjenbrukte deler av eksisterende Modbus-implementasjon i firmware for legge til støtte for generisk, konfigurasjons-basert avlesning av Modbus-instrumenter. Mesh noder kunne dermed konfigureres gjennom mesh-nettverket til å lese fra nye Modbus-instrumenter uten endringer i firmware.
Kompetanse C, Embedded, Modbus, Unit testing, Python
Senior utvikler
Oppskalere produksjon og provisjonering av mesh noder

2020-11 - 2021-11

Situasjon ScanReach skulle bruke Topro til å skalere opp produksjon av hardware. Topro behøvde blant annet verktøy for å strømlinjeforme produksjon av mesh noder med krypteringsnøkler per node. De trengte også et verktøy for å provisjonere mesh noder før levering til sluttkunder.
Bidrag Svein Atle implementerte et kommandolinjeverktøy som kommuniserte med en skytjeneste for hente krypteringsnøkler for nye noder. Verktøyet genererte deretter firmware for hver mesh node. Topro integrerte dette verktøyet i den LabView-baserte produksjonsprosessen sin slik at nye mesh noder ble programmert automatisk med individuelle krypteringsnøkler.
Svein Atle designet og implementerte også en desktop-applikasjon for provisjonering av mesh noder før levering til sluttkunder. Applikasjonen autentiserte først operatøren mot Azure AD før den lot operatøren koble mesh noder til med USB. Applikasjonen kommuniserte så med mesh nodene og en skytjeneste for å provisjonere dem for sluttkunden. Applikasjonen brukte også en QR-kode-scanner for å dobbelsjekke at mesh nodene hadde riktige serienummer.
Kompetanse .Net Core, C#, Avalonia UI, Azure Active Directory, Azure Key Vault, Azure Pipelines, Azure DevOps, SQL Server, REST, Entity Framework, NaCL kryptografi, Python, Unit testing
Senior utvikler
Azure DevOps, Azure Pipelines, Azure IoT

2020-04 - 2020-09

Terraform, Docker, Scrum, Kanban 04.20 - 09.20 On-prem DNS og SSL sertifikater Scandinavian Reach Technologies AS Rolle Senior utvikler Situasjon Sluttkunder brukte normalt InRange-systemet direkte på det lokale nettverket på skipet.
De behøvde mer brukervennlige domenenavn i stedet for IP-adresser, samt SSL/HTTPS. Sertifikater måtte hentes fra Let's Encrypt og oppdateres lokalt på Nginx-serveren, mens A-records måtte opprettes i ScanReach sin Azure DNS Zone i skyen.
Bidrag Svein Atle implementerte endepunkter i InRange-skytjenesten som kunne opprette domenenavn i Azure DNS Zone på vegne av on-prem InRange-installasjoner. Tjenesten brukte også Let's Encrypt til å produsere SSL-sertifikater for bruk lokalt på installasjonene. Svein Atle utviklet også on-prem delen av løsningen. Den sjekket om det var behov for å fornye sertifikatene, og kommuniserte i så fall med InRange-skytjenesten for å få produsert nye sertifikater. Den oppdaterte til slutt Nginx til å bruke de nye sertifikatene.
Kompetanse .Net Core, C#, Azure DNS Zones, Nginx, Let's Encrypt, Unit testing
Senior utvikler
FCC

2018-09 - 2020-01

Situasjon Det kreves FCC, ETSI og DNV-GL sertifiseringer og godkjenninger av hardware for å selge og installere dem på skip. Testhusene som utfører slike sertifiseringer og godkjenninger behøvde firmware og verktøy for å gjennomføre sine tester.
Bidrag Svein Atle implementerte firmware og støttende kommandolinje-applikasjoner i henhold til testhusenes krav slik at testhusene kunne teste utstråling, stabilitet og generell oppførsel.
Kompetanse C, Embedded, Node.js, TypeScript, ETSI, FCC, DNV-GL, Shell scripting
Senior systemutvikler
Scandinavian Reach Technologies AS

2018-02 - 2018-07

Situasjon ScanReach behøvde mulighet til å oppdatere firmware på mesh noder over-the-air slik at de kunne motta ny funksjonalitet og andre forbedringer uten å fysisk samle dem inn/bytte dem ut.
Bidrag Svein Atle undersøkte først om det eksisterte noen løsninger for over-the-air (OTA) oppdatering som kunne integreres med mesh nodene.
Deretter designet han en enkel radio-protokoll for å effektivt kringkaste firmware fra én node til alle noder innenfor radio-rekkevidde. Han designet OTA-oppdateringen som en separat firmware som fungerte uavhengig av mesh-nettverket. Dermed kunne man alltid få oppdatert noder selv om det var noe feil i firmware for mesh-nettverket.
Svein Atle implementerte firmware for å utføre OTA oppdatering, inkludert mulighet til å oppdatere selve oppdaterings-firmwaren i seg selv. Han utvidet også kommandolinje-applikasjonen som kommuniserte med mesh-nettverket til å lese firmware fra filer og sende dem ut i mesh-nettverket. Han utvidet visualiseringsverktøyet med en oversikt over hvilke firmware-versjoner mesh nodene brukte, slik at man fikk oversikt over hvilke noder som var oppdatert.
Kompetanse C, Embedded, SPI, Node.js, TypeScript, React.js
Senior utvikler
Scandinavian Reach Technologies AS

2017-03 - 2018-02

Situasjon TV2 ønsket å prøve ScanReach sitt system for sporing til få bedre kontroll på hvem som lånte hva (kameraer etc) fra lageret sitt. ScanReach kombinerte sitt eget sporings-system med RFID for å registrere hvem som fjernet eller leverte tilbake utstyr.
Bidrag Svein Atle utviklet en løsning som kjørte på et sett Raspberry PI-er. Disse brukte Impinj RFID-lesere til å detektere når tagget utstyr ble fjernet eller returnert til lageret.
RFID-observasjoner ble rapportert via Azure Event Hub til Azure Stream Analytics som avgjorde om utstyret ble sjekket inn eller ut, og korrelerte det til personer som var observert samtidig. Svein Atle brukte også Azure Functions til å redusere større mengder lav-nivå hendelser til færre, mer høy-nivå/semantiske hendelser.
Svein Atle designet og implementerte også API og frontend som lagersjef kunne bruke til å registrere utstyr og se historikk over hvem som hadde lånt hva.
Kompetanse .NET 4, C#, Entity Framework, SQL Server, Azure Event Hub, Azure Stream Analytics, Azure Functions, React.js, JavaScript, CSS, HTML
Softwareutvikler
Smart Grid Norway AS

2011-03 - 2017-06

Først innleid i 6 måneder gjennom Elan IT, deretter fast ansatt i Smart Grid Norway.
Senior utvikler
Smart Grid Norway AS

2012-01 - 2017-06

Situasjon Smart Grid sitt eksisterende system for energioppfølging var basert på at kunder kjørte en Java/Swing applikasjon på en datamaskin. En ny webbasert løsning ble utviklet for å gjøre energioppfølgingssystemet tilgjengelig på flere flater og med mindre friksjon.
Bidrag Svein Atle brukte Meteor til å utvikle en ny webbasert plattform for energioppfølgingssystemet. Plattformen ble brukt til å bygge forskjellige grensesnitt med dashboards, menyer og rapporter ved å sette sammen modulære widgeter.
Kompetanse MeteorJS, AngularJS, MongoDB, PostgreSQL, Stylus, CoffeeScript
Senior systemutvikler
Highcharts, Shell

2013-01 - 2017-06

scripting 01.13 - 06.17 Fleksibel embedded plattform for styring og datainnsamling Smart Grid Norway AS Rolle Senior systemutvikler Situasjon Smart Grid ønsket muligheten til å raskt levere skreddersydde styrings- og innsamlings-systemer til ulike kunde-typer.
Bidrag Svein Atle designet og implementerte en generisk og modulær "løsnings-bygger" for embedded enheter. I en web-basert applikasjon kunne man bygge løsninger med sensorer, kommunikasjon, logikk og oppførsel ved hjelp av visuelle byggeblokker som man koblet sammen. Konfigurasjonen for løsningen ble så overført til en Redis-database på en embedded Linux enhet hvor den ble utført av en generisk kjerne implement i Lua.
Systemet hadde støtte for å kommunisere med sensorer og protokoller som Modbus, M-Bus, SNMP og OneWire. Det ble brukt til å løse ganske forskjellige behov: ● Nettstasjonsovervåkning (jordfeil-deteksjon etc) for nettselskaper.
● Styring og overvåkning i tunneler for Norkring.
● Styring av trafikk-skilt for Norkring.
● Innsamling av energi- og effektdata samt temperaturer fra serverhaller for Coromatic.
Kompetanse Lua, C, Java, HTML, CoffeeScript, CSS, AngularJS, Tomcat, PostgreSQL, Redis, BusyBox Linux, Modbus, M-Bus, SNMP
Senior systemutvikler
Proof-of-concept mesh-nettverk

2016-02 - 2017-06

Situasjon Nyetablerte ScanReach ønsket å forbedre mønstring og generell sikkerhet ombord skip ved å installere mesh-nettverk som kunne lokalisere personell (med radio-armbånd) i nødsituasjoner. Første skritt på veien var å bevise overfor potensielle investorer at et mesh-nettverk kunne fungere i stålmiljø på skip.
Bidrag Scan Reach hadde kommet et stykke på vei med å finne utviklingskort og open-source kildekode, men fikk det ikke helt til å spille sammen. Svein Atle ble utfordret på hobby-basis til å få det til å virke. Han debugget firmwaren for radio-kortene og fikset feil slik at mesh-nettverket fungerte.
Det var noen ulemper med mesh-protokollen i forhold til ønsket bruk, så Svein Atle designet og implementerte også en alternativ mesh-protokoll, samt en protokoll for batteri-effektiv sporing av radio-armbånd. Disse ble brukt i prototypene som ble testet på de første skipene slik at ScanReach fikk bevist at det var mulig å bruke et mesh-nettverk til å spore personell på skip. Med dette som proof-of-concept så fikk selskapet også etter hvert landet sine første eksterne investorer.
I tillegg til firmware, så utviklet Svein Atle også en Node.js-basert kommandolinje-applikasjon som kommuniserte med mesh-nettverket gjennom en USB-tilkobling. Denne applikasjonen lagret radio-meldinger fra mesh-nettverket i en RethinkDB database. Han implementerte også et tilhørende real-time visualiseringsverktøy som hentet disse meldingene fra databasen.
Visualiseringsverktøyet presenterte tidslinjer og nettverks-struktur for debugging og testing av nettverkets oppførsel og kvalitet.
Utvikler, freelance
BB Finans ASA

2010-08 - 2015-01

Prosjektbasert samt teknisk support ved behov.
Systemutvikler
Smart Grid Norway AS

2012-05 - 2014-09

Situasjon Norkring hadde behov for å overvåke DAB-radiostasjoner. Særlig stasjoner på fjelltopper var utsatt for frost som gjorde at satellittmottakeren frøs fast slik at signalkvaliteten ble dårlig.
Bidrag Svein Atle utviklet en Lua-basert løsning som kommuniserte med en PDU (Power Distribution Unit) over SNMP, OneWire temperatursensorer, og med satellittmottakeren.
Basert på temperatur og signalkvalitet, så ble en ovn aktivert for å smelte is automatisk.
Løsningen eksponerte også temperatur, signalkvalitet, spenninger og energiforbruk via SNMP til Norkring sine sentrale systemer.
I tillegg til systemet som kjørte på selve stasjonene, så utviklet Svein Atle også et web-grensesnitt og backend for konfigurasjonshåndtering, fjernoppdatering av programvare, statusavlesning og fjernstyring av systemet på stasjonene. Grensesnittet ga Norkring god oversikt og enkel betjening av de DAB-stasjonene (600+) som kjørte løsningen.
Kompetanse Java, Lua, HTML, JavaScript, CSS, AngularJS, Tomcat, PostgreSQL, Redis, SNMP, OneWire
Utvikler
Smart Grid Norway AS

2011-03 - 2012-12

Situasjon Smart Grid Norway samlet inn energiforbruk-data fra bygninger i et Java-basert energioppfølgingssystem. En Swing desktop-applikasjon ga eiere og byggdriftere innsyn i energiforbruket.
Bidrag Svein Atle utviklet ny funksjonalitet og nye rapporter i det eksisterende energioppfølgingssystemet hos Smart Grid Norway. Han implementerte også ny løsning for datainnsamling med forbedret rensking av sensordata.
Kompetanse Java, Tomcat, PostgreSQL, Swing, Pentaho PDI
Utvikler
BB Finans ASA

2012-04 - 2012-09

Situasjon BB Finans hadde et system for å håndtere innlån. Systemet produserte tekstfiler for rapportering til skattemyndighetene. Nye regler krevde rapportering på et nytt XML-basert format.
Bidrag Svein Atle utviklet Windows Forms-basert veiviser som hentet data ut fra innlån-systemets database og genererte XML-filer i henhold til skattemyndighetenes nye krav.
Kompetanse Windows Forms, XML, C#, Borland BDE, Paradox DB
Utvikler
BB Finans ASA

2011-11 - 2012-08

Bidrag Svein Atle designet og implementerte et webbasert søknadsskjema. Søknader ble registrert i en eksisterende database slik at agentene kunne håndtere webbaserte søknader med samme rutiner som andre søknader.
Kompetanse PHP, SQL Server, HTML, CoffeeScript, CSS
Utvikler, freelance og sommerjobb
Stormfjord AS

2008-07 - 2011-03

Freelance ved siden av studiene. Masteroppgave.
Utvikler
Stormfjord AS

2010-12 - 2011-03

Situasjon Stormfjord sin løsning visualiserte oljeplattformer basert på CAD tegninger. Disse tegningene ble gjerne ikke oppdatert når det ble gjort endringer på plattformene.
Stormfjord ønsket derfor en kostnadseffektiv løsning for å fange opp slike endringer og oppdatere modellene. Dette prosjektet utforsket mulighetene for å gjøre dette ved å automatisk hente ut 3D-data fra vanlige videoer.
Bidrag Svein Atle videreutviklet Structure from Motion-prototypen som han opprinnelige utviklet i sammenheng med masteroppgaven sin.
Kompetanse C++, CUDA, OpenGL, Qt, MATLAB
Utvikler
BB Finans ASA

2010-08 - 2010-08

Bidrag Svein Atle designet og implementerte en kundevendt lånekalkulator for beregning av effektiv rente, nedbetalingsplan med mer.
Kompetanse JavaScript, jQuery, HTML, CSS
Utvikler
Stormfjord AS

2008-07 - 2009-08

Situasjon Stormfjord utviklet en løsning for 3D-visualisering av oljeplattformer. Løsningen var bygget på Nvidia Scene Graph og gjorde det mulig å interaktivt navigere oljeplattformer med real-time simuleringer.
Bidrag Svein Atle implementerte diverse grafikkkort-shadere: ● Shader for å visualisere flyt av væsker i rør. Flyten var parametrisert slik at den kunne simulere forskjellige typer væsker, hastigheter og alarm-tilstander.
Rør-geometrien ble generert av geometri-shadere fra enkle vektorer slik at detaljnivået var automatisk tilpasset avstanden fra kamera.
● Shader for å vise en himmel med sol og levende skyer rundt oljeplatformene.
● Shader for å simulere hav med bølger og krusninger.
Han tilpasset også en C++-implementasjon av Marching Cubes-algoritmen til å håndtere punktskyer.
Stormfjord to somre samt freelance
NVIDIA

2009-01 - 2009-01

(Santa Clara, California) for å forberede Stormfjord sin demo til Siggraph'09.
Kompetanse NVSG, Cg, CUDA, C++
Utvikler, sommerjobb
Norsk Hydro AS

2006-06 - 2007-08

Sommerjobb to somre.
Prosjekterfaringer
Utvikler (sommerjobb)
Automatisere produksjon av Excel

2006-06 - 2007-08

Situasjon Prosjektlederne i Norsk Hydro rapporterte status på prosjektporteføljen ved hjelp av blant annet en stor mengde grafer. Disse ble bygget manuelt i Excel hver måned. Det var et ønske om å automatisere dette for å spare tid.
Bidrag Den første sommeren så utviklet Svein Atle et Excel/VBA-basert system som automatiserte produksjonen av grafene. Dette sparte prosjektlederne mange timer med manuelt arbeid hver måned.
Den neste sommeren gjorde han utbedringer i løsningen, og lagde også et verifiseringsverktøy som prosjektlederne brukte til å sørge for at rapportene deres var fullstendige og korrekte.
Kompetanse Excel, VBA, SQL Server

Akademisk baggrund

Mastergrad i Informatikk
Institutt for Informatikk, Universitetet i Oslo

2005-01 - 2010-01

Institutt for Informatikk, Universitetet i Oslo
Institutt for Informatikk, Universitetet i Oslo

2003-01 - 2005-01

Gonzaga High School
Gonzaga High School

2001-01 - 2003-01

Åsane Gymnas
Åsane Gymnas

2000-01 - 2001-01

Kontakt konsulent

/