A lot of C and C++ code has run reliably for years, and that is exactly why it is hard to change. The people who wrote it have moved on, the build only works on one machine, and nobody dares to touch the core.

I start with the basics: a reproducible build, tests around the behaviour that exists today, and tooling that makes errors visible. After that the code can move forward safely, whether that means new features, better performance or gradual modernisation.

What you get

  • Modernisation without a big bang Step by step from old to modern C++, with tests as a safety net, while the software keeps running.
  • Performance based on measurement Profile, find the real bottleneck and fix it. No micro-optimisations in places that do not matter.
  • Safer code Sanitizers, static analysis and fuzzing in the build, so memory errors surface early.
  • Bridges to other languages A C or C++ API that is usable from Python or other languages, so existing code can live on in new applications.

Deliverables

  • Source code with build configuration (CMake or whatever you already use)
  • Tests and a CI pipeline
  • Documentation of design decisions
  • Handover to your team
Case studies

Related work

Next step

Tell me what you are working on

A short email with some context is enough. I reply within one working day, even when I am not the right person for the job.