0%

Den dyreste kode er den, man ikke behøver skrive

Ikke al dyr kode er dårlig kode. Nogle af de dyreste beslutninger, jeg har været med til, var velskrevne løsninger på problemer, ingen havde endnu.

26 år i faget, og især årene med Lifeguard, lærte mig, hvor let det er at forveksle produktudvikling med værdiskabelse. Når man kan bygge noget, er det fristende at bygge det. En ny funktion løser et problem. En integration åbner en mulighed. En mere fleksibel arkitektur gør produktet fremtidssikret. Problemet opstår, når man bygger en løsning på et behov, man endnu ikke har bevist.

Det, der kostede, før vi vidste hvad det var værd

White-label-arkitekturen bag Vitalityguard er det tydeligste eksempel. Den var dyr i den uge, den blev besluttet, og der var ingen garanti for, at nogen nogensinde ville have brug for at skifte identitet ud på platformen. Den viste sig at være grunden til, at vi kunne sælge samme platform videre under et andet navn seks uger efter stiftelsen.

D-mærket er et andet. Vi var blandt de allerførste virksomheder, der gennemgik hele forløbet og blev D-mærket - Danmarks mærkningsordning for it-sikkerhed og ansvarlig dataanvendelse. Det var en tung proces, der strakte sig over et år. På det tidspunkt var det svært at se, hvad investeringen konkret skulle give os. Senere viste den sig at åbne døre, vi ellers ikke havde adgang til.

Ingen af delene var forkerte beslutninger. De var dyre, før de var noget værd, og det er den type investering, man ikke kan vide, betaler sig - man kan kun vide, at ingen af dem gør det, hvis man aldrig tager dem.

Men det er ikke det samme som at bygge foran

Forleden sad jeg med til en undervisningstime på EK - Erhvervsakademi København på Guldbergsgade Campus. En tidligere kollega underviser nu i databasedesign, og jeg var der for at se ham undervise - danne mig et indtryk, ikke for at sige noget. Men han bad mig supplere undervejs. Det, jeg sagde til de studerende, var, at man i opbygningen af en database ikke kun skal løse de behov, kunden har nu, men også de behov, der kommer over tid, og som kunden endnu ikke ved, de har.

Det lyder som det modsatte af pointen ovenfor. Det er det ikke - men det er den anden halvdel af den samme beslutning, og det er let at glemme, når man først har brændt sig på den dyre variant.

Zonesystemet i Lifeguard er eksemplet - userspaces, som vi kaldte det internt. En bruger kunne have en af flere roller - fra almindelig bruger til coach til virksomhedens egen administrator - og var tilknyttet et eller flere teams, som igen hørte under en virksomhed. Det var mere granularitet, end noget enkelt kundeforhold krævede på det tidspunkt. Da Vitalityguard senere skulle give Danica adgang til brugernes data, kunne vi ikke bare udlevere den - hverken juridisk eller i praksis. Løsningen blev et nyt userspace til Danica - ikke en ny konstruktion, men endnu et lag oven på strukturen, der allerede var der. Derfor kunne vi løse det på tre uger: de kunne se det, brugeren selv havde givet adgang til om sig selv, brugeren kunne fjerne tilladelsen igen når som helst, og al databehandling blev liggende i vores eget system. Vi gav aldrig data fra os. Havde adgang og synlighed ikke i forvejen været adskilt i modellen, havde det været en ombygning, ikke en tilføjelse.

Forskellen ligger ikke i, om man bygger foran

Den ligger i, hvad man bygger foran til. Zonesystemet var et strukturelt valg: en datamodel, der adskilte roller, teams og synlighed fra hinanden, uden at vide præcis hvilken kombination der ville blive brug for. Vi forudså ikke Danica. Vi byggede bare noget, der kunne rumme et ukendt behov uden at blive bygget om. Det koster noget at bygge fleksibilitet ind fra starten. Men det kan koste langt mere at opdage bagefter, at strukturen ikke kan rumme behovet.

White-label-arkitekturen var det samme slags valg - struktur, ikke funktion. Det, der er dyrt, er noget andet: at bygge funktioner, integrationer og features på en gisning om, hvad nogen vil bruge dem til. Det er ikke fremsyn. Det er at bygge det, der øger mulighederne, før man har bygget det, der reducerer usikkerheden.

Så pointen er ikke byg mindre. Den er: byg den struktur, der kan rumme det, du endnu ikke ved - og vent med resten, til nogen faktisk beder om det.

Kode bliver til økonomi dér

Som udvikler spørger man, om noget kan bygges. Som teknisk ansvarlig skal man også spørge, hvorfor det skal bygges nu. Det er forskellen mellem kode, der løser et problem, og kode, der bare åbner en mulighed.

Jeg skrev om den økonomiske side af det i Efter en konkurs: en teknisk beslutning er også en økonomisk beslutning. Det er den anden side af samme erfaring.

Læs også_

01_ Nogle gange designer jeg i VS Code Ikke fordi jeg har opgivet Figma. Men fordi det nogle gange er hurtigere at se, om en idé holder, i browseren end på et canvas. 02_ Fra koder til reviewer – hvordan AI har ændret arbejdsgangen AI bliver aldrig dårligere, end det er nu. Det ændrer ikke, hvad jeg kan – det ændrer, hvor i arbejdet jeg står. 03_ Kunsten at arve en WordPress-installation 8 år, 34 plugins og et tema, ingen tør røre. Opgaven begynder ikke med at rette noget – den begynder med at finde ud af, hvad der bliver brugt. 04_ Ctrl, Cmd og C# Et sprog er til at lære. Det er domænet og kodebasen, der tager tid – og to maskiner, der kostede mere opmærksomhed end syntaksen. 05_ Efter en konkurs 35 millioner på det højeste, konkurs i december 2023, nyt selskab syv måneder senere. Det her er, hvad der lå imellem – og hvad jeg tog med. 06_ Rapporten der skulle ligge i receptionen Da vi byggede ESGRapporter, havde konkurrenterne tungere beregningsmotorer end os. Vi satsede et andet sted: på at det, brugeren sad tilbage med, var værd at vise frem.

Curriculum Vitae ↓

Profile Image

Paul Nybo Andersen

Profil_

48 år, CTO, grafisk designer og fullstack udvikler (LAMP/LEMP) med 26 års erfaring i udvikling af digitale løsninger til en bred målgruppe af virksomheder.

Scroll for læse mere →

01_Ydelser_

Hvordan jeg kan hjælpe

Gå til Mine erfaringer ↓

PHP • Laravel • MySQL • JavaScript

Webudvikling

Fra database og backend til frontend, integrationer og drift.

UX • Figma • Prototyper • Test

Webdesign & UX

Design af brugerflader, der skal fungere for både brugeren og forretningen.

Identitet • Designsystemer • Print

Visuel identitet

Visuel identitet til virksomheder, der skal se ud som noget, man kan regne med.

WordPress • Umbraco • Magento

CMS-løsninger

CMS-løsninger bygget til dem, der skal arbejde i dem hver dag.

Core Web Vitals • SEO • Caching

Performance & SEO

Websites, der loader hurtigt – også på en telefon på et dårligt net.

Arkitektur • Teknologivalg • Sparring

Teknisk rådgivning

Når der skal træffes en teknisk beslutning, og du mangler nogen at vende den med.

02_Case: Lifeguard Health ApS_

8 år med Lifeguard

CTO & Co-Founder

Fra 2015 til 2023 var jeg CTO og medstifter af Lifeguard Health ApS. Her arbejdede jeg med udviklingen af en digital sundhedsplatform, der kombinerede teknologi, data og personlig coaching. Rollen omfattede alt fra produktudvikling, UX og softwarearkitektur til ledelse af udviklingsteams, drift og forretningsudvikling. De otte år i Lifeguard kom til at præge min tilgang til både teknologi, produkter og mennesker og danner i dag fundamentet for meget af det, jeg arbejder med.

Se Lifeguard's Core-story

Lifeguard præsentation_1_4_

Slides #1 showing my last job
Slides #2 showing my last job
Slides #3 showing my last job

03_Ansættelseshistorik_

Mine erfaringer

I mine forskellige roller har jeg trukket på de erfaringer jeg har opbygget gennem 26 år. Jeg har i denne sektion forsøgt at beskrive de erfaringer jeg har tilegnet mig gennem de opgaver jeg løst og de faglige kompetencer jeg har benyttet.

Erfaringer_

Billede fra min tid hos ESGRapporter

2024-2026, CTO & Co-founder

ESGRapporter

Nu: ESGRapporter ApS.

Vi byggede ESG-rapporteringsplatformen i Laravel og havde det tekniske ansvar for retningen, rapportdelen og alt det visuelle.

Billede fra min tid hos Revolvo

2024-2026, Senior Developer • UI/UX • Design

Revolvo

Nu: Revolvo Aps. + BmyGuest ApS.

Jeg arbejdede med udvikling, UI/UX og grafisk identitet. 60% af tiden gik til BmyGuest og IDoMeetings, som Revolvo var medejer af.

Billede fra min tid hos Lifeguard

2015-2023, CTO & Co-founder

Lifeguard

Nu: Lifeguard Health ApS.

Jeg byggede LifeScore-platformen i Laravel med samtykkestyret adgang til sundhedsdata, en app til armbåndet og stod for alt UX og design.

Billede fra min tid hos Vitalityguard

2016-2018, CTO & Co-founder

Vitalityguard

Nu: FIDIMI

Vi drev Lifeguard-platformen i white label gennem et joint venture med Dansk Sundhedssikring. Mærsk var den største kunde.

Billede fra min tid hos ContentCPH

2010-2015, Senior Digital Wizard

ContentCPH

Nu: Charlie Tango

Jeg byggede 60+ Facebook-apps i PHP for Samsung, IKEA og H&M. Nik & Jay-kampagnen for Samsung vandt Danish Internet Awards 2014.

Billede fra min tid hos BOCCA WIRED

2009-2010, Freelance udvikler

BOCCA WIRED

Nu: BOCCA

Jeg byggede kampagnesites for Movia og Hjerteforeningen, heriblandt Overraskende hurtig, der vandt bronze ved Creative Circle Award.

Billede fra min tid hos EuroRSCG

2008-2010, Inhouse Freelance udvikler

EuroRSCG

Nu: Havas Danmark

Jeg hentede bureauets digitale opgaver hjem fra konkurrenterne og byggede iPhone-site og interaktive produktværktøjer for GN/Jabra.

Billede fra min tid hos Bandits Inc.

2001-2026, Enkeltmandsvirksomhed

Bandits Inc.

Nu: Audiotracking v/Paul Nybo Andersen

Min egen enkeltmandsvirksomhed siden 2001. Gennem den har jeg solgt webudvikling til bureauer, der havde grafikken, men manglede udvikleren.

04_Kompetencer + Stack_

Mine kompetencer

Som det fremgår af forrige sektion, har jeg gennem årene beskæftiget mig med en bred vifte af opgaver og indtaget mange forskellige jobroller, lige fra lydtekniker til fotograf, grafiker, webudvikler og CTO. Gennemgående for dem alle har været min passion for at skabe meningsfulde oplevelser og min drivkraft for at skabe noget unikt.

I min tilgang har jeg altid været åben over for at udforske nye løsninger til eksisterende udfordringer og har aldrig været bange for at tilegne mig ny viden. Dette har resulteret i en bred vifte af kompetencer, som jeg har sammensat over tid.

Jeg har her forsøgt at liste de væsentligste.

Rating

- " Der er jeg 100 meter mester i".

- " Det er jeg ret god til".

- " Det er jeg udemærket til".

- " Det er ikke det jeg er bedst til, men jeg kan til nøds".

- " Det er jeg ikke haj til - men jeg er villig til at lære".

05_Skrevet_

Noter fra arbejdet

2026-09_

Nogle gange designer jeg i VS Code

Ikke fordi jeg har opgivet Figma. Men fordi det nogle gange er hurtigere at se, om en idé holder, i browseren end på et canvas.

2026-09_

Den dyreste kode er den, man ikke behøver skrive

Ikke al dyr kode er dårlig kode. Nogle af de dyreste beslutninger, jeg har været med til, var velskrevne løsninger på problemer, ingen havde endnu.

2026-08_

Fra koder til reviewer – hvordan AI har ændret arbejdsgangen

AI bliver aldrig dårligere, end det er nu. Det ændrer ikke, hvad jeg kan – det ændrer, hvor i arbejdet jeg står.

2026-05_

Kunsten at arve en WordPress-installation

8 år, 34 plugins og et tema, ingen tør røre. Opgaven begynder ikke med at rette noget – den begynder med at finde ud af, hvad der bliver brugt.

2025-07_

Ctrl, Cmd og C#

Et sprog er til at lære. Det er domænet og kodebasen, der tager tid – og to maskiner, der kostede mere opmærksomhed end syntaksen.

2025-04_

Efter en konkurs

35 millioner på det højeste, konkurs i december 2023, nyt selskab syv måneder senere. Det her er, hvad der lå imellem – og hvad jeg tog med.

2025-02_

Rapporten der skulle ligge i receptionen

Da vi byggede ESGRapporter, havde konkurrenterne tungere beregningsmotorer end os. Vi satsede et andet sted: på at det, brugeren sad tilbage med, var værd at vise frem.

06_Når jeg ikke arbejder_

Baggrund

Jeg er født og opvokset i København. Men efter nogle år med børn i lejlighed på Østerbro, valgte min kæreste og jeg at flytte i hus. Vi bor i Hellerup på 11. år, men ikke længere væk fra København end man kan hoppe op på cyklen og så er man tilbage.

Sidstnævnte gør jeg ofte - det handler om inspiration og nye designindtryk. Jeg forsøger af samme grund stadig at finde tid til fototure. Men da mit arbejde altid har været min hobby, har det været en udfordring at finde balance mellem tid til både fritidsprojekter og arbejdsprojekter.

Når jeg ikke arbejder bruger jeg en del tid med at spiller og lytte til musik. Desværre er det med tiden mest blevet til lytning, hvilket har været en meget dyr, men også givtig passion.

Fælles for alle mine passioner er ønsket om af skabe noget - jeg håber at dette kan komme jer til gode.

Se TT38 profil

+25 års erfaring med digitale produkter ↓

Tilgængelig for rådgivning, udvikling, digitale produkter og teknisk ledelse.