Published:

The Freelancer

What does it require to offer cross-platform C++ development in 2025?

bookmark 4 min read

Most of the stuff I write today is cross-platform. Some components may be server-only and designed to run in containers. Even then, I keep most of the code cross-platform so it’s easy to extend it to run natively on other systems.

That means I have hardware for developing and testing code on various platforms. I also have laptops that are ideal for life on the road; perfect for coding, writing and DevOps tasks.

Lenovo ThinkPad X1 Carbon: Writing

This is my “typewriter.” I’ve used small, portable ThinkPads for decades. Perfect for meetings and admin tasks on the road. Besides coding, I do a lot of writing. For that I need a small, lightweight machine that’s easy to carry, has long battery life and an excellent keyboard. The only hardware I’ve found that meets these criteria are the lightweight ThinkPads. They’re quite expensive, but they last forever, and since I use them primarily for writing rather than heavy development, I don’t need very high specs.

Primary uses

Specs


MacBook Pro: macOS Development

This MacBook Pro remains a reliable platform for building and testing macOS-specific projects despite its age.

Primary uses

Specs


ASUS ZenBook: Windows Development

The Windows laptop handles platform-specific development and GUI testing on Windows. It’s also useful when I need a touchscreen; for quick illustrations or sketching on a “whiteboard” in online meetings. I take good care of its stylus.

Primary uses

Specs


Lenovo Legion Gaming Laptop: Linux Development and Testing

This laptop was purchased to replace a workstation and is quite capable. I use it for development outside the office and for testing applications on-site. I frequently reinstall it to verify compatibility across various Linux distributions.

I also record videos on this machine because its Thunderbolt port works perfectly with my preferred USB camera, a Logitech “Logi” Cam.

Primary uses

Specs


Workstation: Software Development and Research

This is a powerhouse. The workstation simulates real cloud workloads and handles resource-heavy jobs like compiling large codebases and orchestrating containers. For example, it compiles the Boost C++ libraries for static and dynamic linking in about 20 seconds.

With its large RAM, SSD and HDD capacity, I’ve used it for database-engine development and optimized internal bottlenecks by running workloads on RAM disks, then verifying performance on fast SSD storage, and finally testing larger database loads on HDDs.

Being able to compile medium-sized projects (up to a few million lines of code) in minutes keeps me productive. If I have to wait longer, I tend to lose focus and forget what I was doing. It’s also more economical for my customers, to pay me for doing something productive rather than waiting for lengthy compilations.

Primary uses

Specs


Home Lab: Distributed Systems & Performance Testing

This is the crown jewel of the setup. The lab mimics real-world infrastructure, allowing me to validate distributed systems in a controlled environment.

A bundle of cables runs from the office down to the basement where the home lab resides. One Cat6 cable provides a 10 Gbps connection to the workstation. The room was built specifically for this purpose. It has two large online UPS units and its own air conditioner. If the power fails, the home lab switches to a dedicated phase supplied by a 6.3 kW external generator.

The machines are deployed as needed and typically run a recent version of Kubernetes.

Infrastructure includes

Use cases


Smaller Machines

I also have a number of smaller systems, from prototype boards and Rasberry's to a commercial ARM desktop, that I use occasionally to test software on very limited hardware. I also maintain several phones and tablets for testing Android apps across various devices and architectures.


Hookup to Big Monitors

I use a ThinkPad Thunderbolt docking station to connect my laptops to the large monitors when I’m doing lengthy development work.


AI Stack

I integrate a range of AI tools into my workflow for code suggestions, research and analysis.

Daily AI Tools

These tools accelerate prototyping, unit and functional testing, debugging suggestions, code review, transcription, and documentation.


Final Thoughts

This hardware stack enables a flexible, realistic, and high-performance workflow. It covers low-level system and tools development, scalable cloud services, and distributed systems simulation. I’m fully equipped to build and test across real-world environments.

It’s worth mentioning that the office’s egress router has two internet connections: a fiber line and a 5G backup router with automatic failover. Combined with the power generator, this setup ensures development continues even during internet or power outages.

If you’re offloading your most critical and demanding C++ work here, you’re in good hands.