0%

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.

Efter godt tyve år, hvor PHP har været det sprog, jeg tænkte i, skiftede jeg delvist over til C#. Delvist, fordi det afhang af projektet: Egon og ebillet kørte på Umbraco og krævede .NET, mens resten af kunderne lå på min sædvanlige stak.

Syntaks er til at læse sig til. Typer, klasser, arv, interfaces – det er de samme begreber, jeg har brugt hele tiden, med andre nøgleord foran. En uges tid inde kunne jeg løse reelle opgaver i C#.

Det, der faktisk tog tid

Domænet. Hvad forretningen egentlig gør, hvorfor tallene beregnes præcis sådan, hvilke regler der ikke står nogen steder, fordi alle på kontoret kender dem.

Og kodebasen. Ikke sproget, men dette systems udgave af det: hvorfor der er to lag, der ser ud til at gøre det samme, hvilket af dem der er det nye, og hvad det gamle stadig bruges til. Den slags læres ved at læse og spørge, ikke ved at slå op.

Platformen var Umbraco, ikke bare C#

Strukturen var genkendelig. Helpers, middleware, models, views og services havde alle paralleller til den verden, jeg kendte fra Laravel. Jeg skulle lære en ny implementation, ikke en helt ny måde at tænke webapplikationer på.

Og for at være ærlig lå mine opgaver heldigvis primært i view-laget og i assets – dér, hvor forskellen mellem de to verdener er mindst. Jeg skiftede ikke til .NET i fuld bredde; jeg arbejdede i den ende af det, hvor min erfaring bar mest med over.

Det, jeg skulle vænne mig til, var at skulle starte projektet for at se det. Bag den lille grønne play-knap i Visual Studio ligger fire ting:

  1. Starter IIS Express.
  2. Publicerer projektet til den.
  3. Tilkobler debuggeren.
  4. Åbner browseren.

I PHP gemmer man filen og trykker opdater – webserveren kører i forvejen, og der er ikke noget at publicere.

Det ændrer rytmen i en arbejdsdag. Man holder op med at rette én ting og kigge, og samler i stedet flere ændringer, fordi hver runde koster en opstart. Til gengæld har man en debugger hæftet på fra første sekund, og det er ikke ingenting.

To maskiner

.NET-arbejdet foregik på PC i Visual Studio Professional – ikke VS Code, som jeg bruger til alt andet, men den fulde IDE. Når der skulle laves designelementer, eller når dagen bød på en af de kunder, der lå på PHP, sprang jeg tilbage til min Mac. Værktøjerne og arbejdsgangen sidder der, og det går hurtigere end at bygge det samme op forfra på den anden maskine.

Rent praktisk var det løst. Mus og tastatur kunne skifte mellem maskinerne med ét tryk, og begge maskiner brugte den samme skærm. Hardwaren var ikke problemet. Det, der ikke fulgte med, var hænderne.

Filerne fulgte heller ikke af sig selv. De grafiske filer flyttede jeg mellem maskinerne gennem OneDrive, som allerede var koblet på projektet – lavpraktisk frem for elegant, men det virkede, og ingen havde bedt om en bedre løsning.

Genvejstasterne ligger forskelligt. Kopiér, indsæt, skift vindue, hop til linjestart – de sidder i fingrene efter tyve år, og efter et tryk på den knap sidder de forkert. Værst er < og >: på et dansk layout ligger de ét sted på Mac og et andet på PC. Når man skriver markup eller generics, rammer man dem konstant, og fingrene rammer det forkerte sted lige så konstant. Man skriver ikke om; man rammer bare den forkerte tast og opdager det et sekund senere. Hver gang koster ingenting. Hundrede gange om dagen gør.

Flere gange om dagen, i månedsvis. Det er den slags, der ikke står i nogen opgørelse over, hvad et sprogskifte koster.

Det, jeg tog med mig

Efter tyve år med PHP var det interessant at opdage, hvor lidt af erfaringen der faktisk var bundet til PHP.

At læse fremmed kode, finde mønstre i et system, stille de rigtige spørgsmål til et krav og vide, hvornår noget sandsynligvis bliver et problem senere – det fulgte med.

C# skulle læres. Selvfølgelig. Men det viste sig at være den mindst interessante del af skiftet.

Det svære var at lære endnu en kodebase, endnu et domæne og endnu en platform at kende.

Og at huske, om copy lå under Ctrl eller Cmd.

Læs også_

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 at 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-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.

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.

Visuel 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 at 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.