Diplomingeniør i softwareteknologi · Nyborg

Softwareudvikler med erfaring ibackend, web og drift.

Med omkring 2½ års relevant brancheerfaring bygger jeg backend, websystemer og integrationer med blik for hele kæden: fra data og forretningslogik til brugerflade, fejlsøgning og stabil drift.

FokusBackend · Fullstack · Drift

Udvalgt case · Lollands.net

Overvågning og alarmer hos Lollands.net

Et samlet system til overvågning, fejlfinding og kundebeskeder hos en internetudbyder. Jeg udviklede, opsatte og idriftsatte løsningen som eneste udvikler.

Lollands.net i tal

~300netværksenheder overvåget
Siden 2019i daglig drift
Eneste udviklerfra idé til idriftsættelse
Fotograferet i drift

Fra ustabil GSM-løsning til samlet driftsplatform

Opgaven begyndte med et GSM-modul, der var svært at holde stabilt. Jeg byggede en alternativ SMS-løsning med Linux, et USB 3G-modem og gammu, plus en separat C#-klient til kundebeskeder.

Sammen med en medarbejder hos Lollands.net voksede løsningen til automatiseret ICMP- og SNMP-polling, et ASP.NET-dashboard og SMS-alarmer ved fejl.

  • Kontinuerlig dataindsamling og lagring i MySQL
  • Flere kontroller før alarm reducerer falske fejlmeldinger
  • Realtidsstatus på vægskærme opdelt efter område
SystemarkitekturC# · ASP.NET · Linux · MySQL

Mit ansvar

Kravafklaring, udvikling, opsætning, integration og løbende tilpasning i tæt dialog med de mennesker, der brugte systemet.

Tekniske rammer

Blandede Windows- og Linux-systemer, ældre netværksudstyr og SNMP-implementeringer med begrænset dokumentation. Løsningen blev bygget med det udstyr, der allerede var til rådighed, uden indkøb af ny hardware.

Status i dag

Systemet har været i produktion siden 2019 og bruges fortsat til overblik, fejlfinding og visualisering af driftsstatus.

Teknisk opbygning

Fra netværksudstyr til vægskærm og SMS

Systemet består af fire dele: polling, datalagring og alarmer, dashboard samt kundebeskeder.

01 / Polling

C#-service på Windows

  • ICMP- og SNMP-polling af netværksudstyret
  • Online/offline-status, oppetid og overførselshastigheder
  • En fuld cyklus tager typisk cirka ét minut; ping-timeouts på enheder, der er nede, er den største variabel
02 / Data & alarm

MySQL, Linux og SMS

  • Pollingresultater gemmes i en MySQL-database
  • Baggrundsservicen sender automatiske SMS-alarmer ved fejl
  • 3G USB-modem og gammu håndterer SMS på serversiden
03 / Dashboard

ASP.NET til vægskærme

  • Én side pr. område og skærm med automatisk opdatering
  • Kiosk-mode på 1080p-tv via Windows MiniPC-klienter
  • Farver viser OK, opmærksomhed, fejl og planlagt arbejde
04 / Kundedialog

Separat C# Windows-klient

  • Samlet overblik over kunder i netværket
  • Massebeskeder til udvalgte områder ved planlagt arbejde
  • Lange beskeder opdeles automatisk i flere SMS’er
DriftsoverblikProblemer kan ses med det samme.

“Sidst opdateret”, farvekoder og et layout, der kan aflæses på afstand, giver kortere reaktionstid. Teknikerne får oplysningerne samlet på én skærm i stedet for at skulle slå enhederne op enkeltvis.

UdviklingsforløbLøbende udviklet sammen med Lollands.net.

Jeg udviklede løsningen i tæt dialog med en medarbejder hos Lollands.net. Nye idéer og ændrede behov blev løbende omsat til funktioner, justeringer og nye visninger. Jeg stod samtidig for design, implementering, opsætning og drift.

Erfaring

Erfaring fra udvikling og drift

Jeg har arbejdet med eksisterende webprodukter hos Ordbogen, udviklet overvågningssystemet hos Lollands.net og tidligere bygget C#- og ASP.NET-værktøjer hos Morningstar.

2023

Ordbogen A/S · Odense

Softwareudvikler i praktik

Indgik i udviklingsteamets almindelige arbejde med PHP/Lumen, Vue 3 og TypeScript. I et team med en seniorudvikler var jeg med til at bygge diesgital.com ud fra en gren af Ordbogens eksisterende side. Arbejdet omfattede tilpasning til et nyt design og især omlægning til en ny datakilde med en væsentligt anderledes datastruktur. Arbejdede også med franske bøjningsregler, migrering fra Angular til Vue 3 og deltog i standups, sprintplanlægning og code review.

Vue 3TypeScriptPHPLumenScrum
2018–2019

Lollands.net · I drift siden 2019

Praktik og virksomhedsprojekt

Udviklede et overvågnings- og alarmhåndteringssystem til netværksinfrastruktur som eneste udvikler. Byggede C# backend-daemon, ASP.NET dashboard, MySQL- og SMS-integration samt stod for den praktiske idriftsættelse.

C#ASP.NETMySQLLinuxSNMP
2012–2017

Netto · Farum

Salgsassistent

Kundeservice, kassebetjening og vareopfyldning.

2009–2010

Morningstar.dk · Nyhavn

Studiejob som juniorudvikler

Arbejdede med webbaserede værktøjer til investeringsforeninger i C# og ASP.NET, i et domæne hvor korrekte data og stabilitet var afgørende.

C#ASP.NETMSSQL

Kompetencer

Teknologier og områder

Jeg har arbejdet med C# og ASP.NET, Vue 3 og TypeScript samt databaser, Linux og integrationer.

Backend

  • C#
  • ASP.NET
  • PHP / Lumen
  • REST / WebAPI
  • Java

Frontend

  • Vue 3
  • TypeScript
  • JavaScript
  • HTML
  • CSS

Data & drift

  • MySQL
  • PostgreSQL
  • MariaDB
  • MSSQL
  • Linux
  • Docker

Integration

  • SNMP
  • ICMP
  • REST / JSON / XML
  • Git
  • CI/CD
  • SMS / gammu
  • Fejlsøgning

Uddannelse

Diplomingeniør i softwareteknologi

Syddansk Universitet · 2019–2024

Uddannelsen omfattede objektorienteret programmering, databaser, webteknologier, operativsystemer, DevOps og cyber-physical systems samt arbejde på tværs af software og hardware.

2002–2004Datamatiker

Merkur Center, Nykøbing F.

1999–2002HTX

I&H-skolen, Nykøbing Falster

Løbende

Egne tekniske projekter

Linux, web, databaser, lokale AI-modeller og selvhosting

Om mig

Jeg vil vide, hvordan det hele hænger sammen

Jeg interesserer mig for systemet som helhed og ender ofte med at arbejde på tværs af kode, databaser, Linux og den hardware, det kører på. Når noget ikke virker, vil jeg gerne forstå hvorfor frem for bare at arbejde uden om problemet. Det gælder både i mit udviklingsarbejde og i egne projekter med selvhosting, lokale AI-modeller og retro-pc’er.

Selvhosting & lokal AI

Memory Based Recall

Arbejder på en Go- og Vue-applikation med en deterministisk memory engine, MySQL og lokalt hostede sprogmodeller på egen Linux-server.

Praktisk projekt

Fast dashboard på en genbrugt tablet

Har genbrugt en ældre tablet i en dock som fast informationsskærm.

Hobbyer

Retro-pc’er og ældre systemer.

Retro-pc
Ydelsesorienterede retro-pc’er

Jeg går ikke efter periodekorrekte museumsmaskiner, men efter ekstrem ydelse på ældre operativsystemer med hardware, de stadig kan bringes til at køre stabilt på.

Windows 98 SE: Pentium 4 2,8 GHz @ 3,0 GHz, 1 GB DDR, Radeon X800 XT og Sound Blaster Audigy 2 ZS med frontpanel.

Windows XP / Windows 7: Core i7-3770K, GTX 980 Ti, SSD og Sound Blaster X-Fi med frontpanel.

Arbejdet omfatter BIOS-opsætning, drivere, hardwarekompatibilitet og fejlsøgning på tværs af flere generationer af hardware og software.

Kontakt

Jeg søger min næste udviklerrolle

Jeg er interesseret i backend- og fullstackroller med C#/.NET, Vue/TypeScript, integrationer eller Linux og drift. Jeg bor i Nyborg og er indstillet på at pendle.