0%

Ctrl, Cmd and C#

A language is learnable. It is the domain and the codebase that take time – and two machines that cost more attention than the syntax.

After some twenty years with PHP as the language I thought in, I moved partly over to C#. Partly, because it depended on the project: Egon and ebillet ran on Umbraco and required .NET, while the rest of the clients stayed on my usual stack.

Syntax you can read your way into. Types, classes, inheritance, interfaces – the same concepts I have used all along, with different keywords in front of them. A week in, I could solve real tasks in C#.

What actually took time

The domain. What the business actually does, why the numbers are calculated in precisely that way, which rules are written down nowhere because everyone in the office knows them.

And the codebase. Not the language, but this system's version of it: why there are two layers that appear to do the same thing, which one is the new one, and what the old one is still used for. That is learned by reading and asking, not by looking things up.

The platform was Umbraco, not just C#

The structure was recognisable. Helpers, middleware, models, views and services all had parallels to the world I knew from Laravel. I had to learn a new implementation, not a new way of thinking about web applications.

And to be honest, my work fortunately sat mainly in the view layer and in assets – where the distance between the two worlds is smallest. I did not move to .NET across the board; I worked in the end of it where my experience carried over most.

What I had to get used to was having to start the project in order to see it. Behind the little green play button in Visual Studio sit four things:

  1. Starts IIS Express.
  2. Publishes the project to it.
  3. Attaches the debugger.
  4. Opens the browser.

In PHP you save the file and hit refresh – the web server is already running, and there is nothing to publish.

It changes the rhythm of a working day. You stop fixing one thing and looking, and batch several changes instead, because each round costs a startup. In return you have a debugger attached from the first second, which is not nothing.

Two machines

The .NET work happened on a PC in Visual Studio Professional – not VS Code, which I use for everything else, but the full IDE. Whenever design elements were needed, or when the day brought one of the clients still on PHP, I moved back to my Mac. The tools and the workflow live there, and that is faster than rebuilding the same setup on the other machine.

Practically it was solved. The mouse and keyboard could switch between the machines at one press, and both machines used the same monitor. The hardware was not the problem. What did not switch was my hands.

The files did not follow on their own either. Graphics moved between the machines through OneDrive, which was already attached to the project – low-tech rather than elegant, but it worked, and nobody had asked for anything better.

The keyboard shortcuts sit in different places. Copy, paste, switch window, jump to the start of a line – after twenty years they are in the fingers, and one press of that button puts them in the wrong place. Worst are < and >: on a Danish layout they sit in one place on the Mac and another on the PC. Writing markup or generics you reach for them constantly, and the fingers go to the wrong place just as constantly. You do not rewrite anything; you just hit the wrong key and notice a second later. Each time costs nothing. A hundred times a day does.

Several times a day, for months. That is the kind of thing that appears in no account of what changing language costs.

What I took with me

After twenty years with PHP, it was interesting to discover how little of the experience was actually tied to PHP.

Reading unfamiliar code, finding the patterns in a system, asking the right questions about a requirement, and knowing when something is likely to become a problem later – that all came along.

C# had to be learned. Of course. But it turned out to be the least interesting part of the change.

The hard part was getting to know one more codebase, one more domain and one more platform.

And remembering whether copy was under Ctrl or Cmd.

Read next_

2026-09_ Sometimes I design in VS Code Not because I have given up on Figma. But because sometimes it is faster to see whether an idea holds up in the browser than on a canvas. 2026-09_ The most expensive code is the code you never had to write Not all expensive code is bad code. Some of the most expensive decisions I have been part of were well-written solutions to problems nobody had yet. 2026-08_ From coder to reviewer – how AI changed the workflow AI will never be worse than it is right now. That does not change what I know – it changes where in the work I stand. 2026-05_ The art of inheriting a WordPress installation 8 years, 34 plugins and a theme nobody dares touch. The job does not start by fixing anything – it starts by working out what is in use. 2025-04_ After a bankruptcy Valued at 35 million at its height, bankrupt in December 2023, a new company seven months later. This is what sat in between – and what I took with me. 2025-02_ The report that had to sit in reception When we built ESGRapporter, the competition had heavier calculation engines than we did. We bet somewhere else: on what the user was left holding being worth showing to someone.

Curriculum Vitae ↓

Profile Image

Paul Nybo Andersen

Profile_

48 years old, CTO, graphic designer, and full-stack developer (LAMP/LEMP) with 26 years of experience in developing digital solutions for a broad target group of companies.

Scroll to read more →

01_Services_

How I can help

Go to My experiences ↓

PHP • Laravel • MySQL • JavaScript

Web development

From database and backend to frontend, integrations and hosting.

UX • Figma • Prototypes • Testing

Web design & UX

Interface design that has to work for the user and the business alike.

Visual identity • Design systems • Print

Visual identity

Visual identity for companies that need to look like something you can rely on.

WordPress • Umbraco • Magento

CMS solutions

Content systems built for the people working in them every day.

Core Web Vitals • SEO • Caching

Performance & SEO

Websites that load quickly – including on a phone on a poor connection.

Architecture • Technology choice • Sparring

Technical consulting

For when a technical decision has to be made and you have nobody to test it against.

02_Case: Lifeguard Health ApS_

8 years with Lifeguard

CTO & Co-Founder

From 2015 to 2023, I was CTO and co-founder of Lifeguard Health ApS. Here, I worked on the development of a digital health platform that combined technology, data and personal coaching. The role included everything from product development, UX and software architecture to management of development teams, operations and business development. The eight years at Lifeguard shaped my approach to both technology, products and people and today form the foundation for much of what I work with.

Watch Lifeguard's Core-story

Lifeguard presentation_1_4_

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

03_Employment_history_

My experiences

In my role as CTO at Lifeguard, I drew on the experience I have built up over the past 26 years.

In this section, I have tried to describe the experiences I have acquired through the tasks I have solved and the professional skills I have used.

Experiences_

Image from my time at ESGRapporter

2024-2026, CTO & Co-founder

ESGRapporter

Now: ESGRapporter ApS.

We built the ESG reporting platform in Laravel, and I carried the technical responsibility for the direction, the reporting side and everyth ..

Image from my time at Revolvo

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

Revolvo

Now: Revolvo Aps. + BmyGuest ApS.

I handled development, UI/UX and graphic identity. 60% of my time went to BmyGuest and IDoMeetings, which Revolvo co-owned.

Image from my time at Lifeguard

2015-2023, CTO & Co-founder

Lifeguard

Now: Lifeguard Health ApS.

I built the LifeScore platform in Laravel with consent-based access to health data and an app for the wristband, and handled all UX and desi ..

Image from my time at Vitalityguard

2016-2018, CTO & Co-founder

Vitalityguard

Now: FIDIMI

We ran the Lifeguard platform white-labelled through a joint venture with Dansk Sundhedssikring. Maersk was the biggest client.

Image from my time at ContentCPH

2010-2015, Senior Digital Wizard

ContentCPH

Now: Charlie Tango

I built 60+ Facebook apps in PHP for Samsung, IKEA and H&M. The Nik & Jay campaign for Samsung won Danish Internet Awards 2014.

Image from my time at BOCCA WIRED

2009-2010, Freelance developer

BOCCA WIRED

Now: BOCCA

I built campaign sites for Movia and the Danish Heart Foundation, among them Overraskende hurtig, which took bronze at the Creative Circle A ..

Image from my time at EuroRSCG

2008-2010, Inhouse Freelance developer

EuroRSCG

Now: Havas Danmark

I won the agency's digital work back from the competitors and built an iPhone site and interactive product tools for GN/Jabra.

Image from my time at Bandits Inc.

2001-2026, Sole proprietorship

Bandits Inc.

Now: Audiotracking v/Paul Nybo Andersen

My own sole proprietorship since 2001. Through it I have sold web development to agencies that had the graphics but lacked the developer.

04_Skills + Stack_

My qualifications

As shown in the previous section, I have dealt with a wide range of tasks and taken on many different job roles, ranging from sound engineer to photographer, graphic artist, web developer, and CTO. The common feature in all of them has been my passion for creating meaningful experiences and my drive to create something unique.

In my approach, I have always been open to exploring new solutions to existing challenges, and I have never been afraid to acquire new knowledge. This has resulted in a wide range of skills that I have put together over time.

I have tried to list the most relevant ones here.

Rating

- " This is what I do best".

- " I'm pretty good at it".

- " I can do this just fine".

- " It's not what I'm best at, but I can if necessary".

- " I'm not good at it - but I'm willing to learn".

05_Writing_

Notes from the work

2026-09_

Sometimes I design in VS Code

Not because I have given up on Figma. But because sometimes it is faster to see whether an idea holds up in the browser than on a canvas.

2026-09_

The most expensive code is the code you never had to write

Not all expensive code is bad code. Some of the most expensive decisions I have been part of were well-written solutions to problems nobody had yet.

2026-08_

From coder to reviewer – how AI changed the workflow

AI will never be worse than it is right now. That does not change what I know – it changes where in the work I stand.

2026-05_

The art of inheriting a WordPress installation

8 years, 34 plugins and a theme nobody dares touch. The job does not start by fixing anything – it starts by working out what is in use.

2025-07_

Ctrl, Cmd and C#

A language is learnable. It is the domain and the codebase that take time – and two machines that cost more attention than the syntax.

2025-04_

After a bankruptcy

Valued at 35 million at its height, bankrupt in December 2023, a new company seven months later. This is what sat in between – and what I took with me.

2025-02_

The report that had to sit in reception

When we built ESGRapporter, the competition had heavier calculation engines than we did. We bet somewhere else: on what the user was left holding being worth showing to someone.

06_When I'm not working_

Background

I was born and raised in Copenhagen. But after a few years living with small children in an apartment in Østerbro, my girlfriend and I chose to move to a house in the suburb. We've lived in Hellerup for 11 years now, in a less pulsating neighborhood but no further away from Copenhagen than you can hop on the bike and then you're back.

I often do the latter; it's all about inspiration and new impressions. For the same reason, I still try to combine these trips with my passion for shooting photos. But since work has always been my hobby, it has been a challenge to find a balance between leisure and work projects.

When I'm not working, I spend a lot of time playing and listening to music. Unfortunately, over time, it has mostly become listening, which has been a very expensive but also rewarding passion.

The common feature of all my passions is the desire to create something. I hope this can benefit you.

TT38 profil

+25 years of experience with digital products ↓

Available for consulting, development, digital products and technical leadership.