About me

No hero story. Just how it happened, with a few detours and lucky accidents.

Hey.

I'm Chris, and online I also go by "VdoP".

Where that came from is a long story. Short version: Pantera was playing, "Vulgar Display of Power" popped up in xmms, and right then I needed a nickname. Still one of the better timing moments in my life.

This page is my long version of who I am: science nerd, code nerd, husband, and dad.

On paper it looks straight: school, Abitur, chemistry and physics in Freiburg, then a PhD in particle physics, splitting time between Freiburg and CERN. My thesis work was event generators and simulation software, mostly in Geant4/C++ with Qt around it.

Somewhere between simulation work and late-night debugging, I realized I loved building software as much as I loved physics. That mix set the tone for everything that came later. It also taught me how to handle complexity without panic: break things down, measure properly, iterate.

Just under two years at Fraunhofer IPM followed, as developer and project lead. I had met my girlfriend during my PhD (now my wife), Freiburg felt right to stay in for a while, and IPM offered exactly the kind of applied work I wanted next. That chapter taught me the difference between clever prototypes and software people rely on in real projects, and it sparked my long-term interest in architecture and maintainability.

On the technical side, I got to work on computer vision projects. I cannot share much, but one has a public demo on YouTube. One project in particular was heavy CUDA/OpenGL interop on NVIDIA GPUs: pushing single executors to the limit while keeping multi-client throughput stable. That pipeline still shapes how I think about throughput vs. latency tradeoffs today.

rendered image of large angle spectrometer from TGEANT
cover photo of dissertation

Two years in, I was ready for the next chapter: long-living product software, and people who'd already been through that journey. Around the same time, my girlfriend and I were ready to relocate. She got a job in Mannheim, and after several interviews I joined Volume Graphics in Heidelberg (later Hexagon).

Hexagon was my first long industry run — and the one where I learned what shipping software for years, not weeks, actually costs. I went deep into a large C++ codebase, did a lot of refactoring work, and introduced BDD-style UI testing with Squish into the quality pipeline. Working closely with devops/techops also pulled me further into the infrastructure side. Many people there shaped how I think about engineering and leadership.

But the biggest shifts happened outside work: I married my girlfriend and became a dad. Paternity can do crazy things with your brain, and stuff that I didn't think about before became more important. I learned that my limits were wider than I thought when purpose is clear. After five years in the same environment, I felt ready for a bigger move.

Farewell gift from Hexagon colleagues with best wishes and anecdotes

That's when SPREAD.ai came into the picture. What convinced me was not buzzwords but people: strong leadership, sharp engineers, high standards, low ego. For a tech nerd, that is basically catnip. I could go deep technically while growing into larger leadership responsibility: from Rust/TypeScript platform work to late-night discussions about graph storage and lock-free B+ tree ideas.

Selfie with Daniel Wilms and Tomas Karlsson, all wearing the SPREAD Data Team 'Data Kakumei' hoodies
Daniel Wilms (left, Lead Platform Architect at the time, now Head of Engineering with me), Tomas Karlsson (center, CTO back then), me (right, Team Lead Engineer of the Data Team back then, on selfie duty) — all in our "Data Kakumei" (データ革命 — "data revolution") hoodies. Tomas and Daniel were always honorary members of the Data Team.

Beginning of 2026, I was offered the Head of Engineering position at SPREAD together with Daniel Wilms, a true graph legend. The scope shift was real: from leading one team of seven on data storage and ingestion — the platform backbone and architecture — to running three teams of around seven each, with their own engineering managers, covering everything that makes up SPREAD's engineering today and the long-term technical vision. Following leaders like Tomas Karlsson and Steinunn Arnardottir is a huge responsibility.

If this story has a theme, it's probably this: hard problems, strong teams, and the kind of tech that doesn't let you bullshit your way through it.

Programming

Programming has been part of my life since I was 12. I started on a DOS box (486) with QBasic and the classic "I'll make games" fantasy. I did not become a game dev, but I built all kinds of nerdy side tools: tax helpers for family in Delphi, then a forum and small CMS in PHP4/PHP5 for classmates.

At 17 I moved to Linux and, basically by fate, to C++. For many years C++ plus Python was my default setup. I even built Razor-Qt to keep an old ThinkPad alive without giving up Qt apps. Later, during state exam phase and zero free time, I handed the project over on SourceForge. Watching others continue it was honestly a great feeling.

Over time I ended up in all the fun rabbit holes: performance tuning, SSE, OpenGL/CUDA paths, image processing, build tooling pain, and all the little edge cases that only appear Friday night before release. Then Rust happened and just clicked with how I like to work: explicit, reliable, and fast enough for serious systems work.

These days my baseline is simple: keep architecture understandable, automate boring safety checks, and ship in small reliable steps. Moving this blog to a Rust stack felt like the natural consequence.

Old Razor-Qt desktop environment screenshot

Martial Arts

During my Freiburg years I noticed I was getting out of shape. I wanted a sport that would drag me back into discipline, and because I am naturally competitive, martial arts was an easy choice. I started with Wing Chun, but after about a year I switched to Muay Thai because I wanted more pressure testing and competition. That became my second big passion next to programming. All in, I spent about a year and a half in Thailand — training daily, fighting when I could, and mixing in Western boxing on the side. It gave me structure when life got noisy and changed how I deal with stress: less overthinking, more focused execution.

Around ten years into Muay Thai I took the next step and started coaching. After getting a teacher's certificate from MTBD (largest Muay Thai federation in Germany), I taught classes at my home gym in Freiburg. Fun fact: coaching fighting and building software are weirdly similar:

  • break down complexity,
  • make sure pieces fit at the end,
  • good visuals help a lot,
  • patterns save energy.

For my own training I later moved more into Brazilian Jiu Jitsu, but that's another story. Coaching made me much better at explaining things clearly, on the mat and in code. If you want a feel for the culture of the sport, watch Best of Siam 2 — it captures the respect and passion pretty well.

Since becoming a father, I see all of this from another angle too. My son is four right now, and I bring him to Judo. Not to turn him into a fighter early, but to prepare him for life in a safe frame: rules, fighting spirit, sportsmanship, competition. For me it's about giving him solid fundamentals early, without drama — the same values, just without the baggage many of us had piled onto us in our youth before we learned them.

getting graduated as Muay Thai coach
coaching padwork at Jitphakdee gym
coaching boxing in Munich

My Mantra

A Muay Thai coach once told me a proverb that stuck for good:

Talent is helpful but ultimately peripheral, perseverance is what prevails.

It became my mantra, in work and private life. I keep coming back to it whenever projects, teams, or life get messy. Not because it sounds poetic, but because in the long run it keeps proving true. During a trip through Thailand, Cambodia, Laos, and Vietnam in 2013, I grabbed a sugar packet in a cafe and saw this line. Too good not to take a photo.

Motivational quote on Thai sugar packet