Mateusz Pusz helping engineers during a hands-on C++ workshop

Challenging, hands-on Modern C++ workshops

Safer, faster, more reliable C++ systems

Your team's next bug is already in the code. Train IT helps engineering teams stop writing it, through intensive hands-on workshops led by an ISO C++ committee member who helps write the standard.

Why this matters

The real cost of C++ that is almost right

Even engineers with years of experience often do not write correct C++. The code compiles, it ships, and then the real cost arrives: crashes, memory leaks, deadlocks and data races, undefined behavior, performance that quietly degrades, and code that becomes almost impossible to modernize or maintain. In production C++, often that is everyday reality, not a worst case.

It does not have to be this way. Writing safe, fast, maintainable C++ is a skill a team can learn, and modern standards have made it far more approachable than most developers expect. I am Mateusz Pusz, a principal C++ architect and an ISO C++ (WG21) voting member. For more than 15 years I have taught engineering teams to write C++ that is easy to use and hard to abuse, with the reasoning behind every decision made explicit, so engineers can apply it on their own.

Trusted by engineering teams at

  • Intel
  • BMW
  • Porsche
  • Bosch
  • CARIAD
  • TTTech Auto
  • Arrow Electronics
  • Jungheinrich
  • Flow Traders
  • TMX Group
  • John Deere
  • Bruker
  • SKAO
  • Dynatrace
  • TomTom
  • Nokia
  • Dolby
  • Luxoft
  • Jeppesen
  • Airbus
  • Celonis

Workshops

Hands-on workshops built around outcomes, not syllabi

Every workshop is tailored to your team and your codebase, and aimed at a concrete outcome: safer code in safety-critical and embedded systems, lower latency in trading and performance-sensitive systems, and faster modernization of large existing C++ codebases.

  • 5 days
  • Modern C++ Core

Advanced Modern C++

The best-selling foundation course. Five intensive days on how Modern C++ truly works: the core-language rules even seniors get wrong, value semantics and move, the standard library's vocabulary types and algorithms, templates and concepts, and coding with performance in mind. Your engineers stop misusing the language and start writing the fast, error-resistant code that every other Train IT workshop builds on.

Learn more
  • 4-5 days
  • Concurrency & Async

Modern C++ Concurrent and Asynchronous Programming

The complete picture of asynchronous and parallel C++, taught by an ISO C++ (WG21) voting member who reviewed these facilities in committee. It starts with the standard library's threading and synchronization toolkit (threads, jthread, mutexes, condition variables, semaphores, latches, barriers, futures), then builds up to C++20 coroutines and the C++26 std::execution senders and receivers for structured concurrency that needs no manual synchronization.

Learn more
  • 4 days
  • Performance

High-Performance and Low-Latency C++

Stop guessing about performance. Four hands-on days on the full measure-and-tune workflow: find the bottleneck, apply the right fix, and prove the win with numbers, for CPU-bound, memory-bound, and IO-bound C++. Every technique is measured by you, not asserted. Taught by an ISO C++ (WG21) voting member, SG14 (Low Latency) participant, implementer of a matching engine, and author of mp-units.

Learn more

See all workshops

How the workshops work

You do not learn C++ by watching

Twenty years ago there was too little good material on C++. Today there is too much: endless conference talks, blog posts, and recorded videos, not all of it accurate, and all of it still just watching and reading. Anyone can follow a technique on a slide and feel they understand it, then sit down to write it themselves and cannot. Real competence comes from typing the code, getting it wrong, and getting it right under guidance. That is what every Train IT workshop is built around.

Your team writes the code

A large part of each day is spent on non-trivial exercises that cannot be solved by guessing or copy-pasting. Each topic is explained, demonstrated by typing real code, then practiced until it sticks.

Built to challenge

Exercises are calibrated to be hard enough that a concept has to be genuinely understood to finish. Clients consistently describe the workshops as intense, deep, and challenging, and the same teams book again.

Fingers, not just eyes

Writing patterns under instruction is the condition under which knowledge actually transfers to production code. Repetition under guidance builds real muscle memory, not just the comfortable feeling of having understood.

Authority

Taught from inside the C++ standard

  • 1,000 + engineers trained
  • 30 + companies
  • 100 + workshops delivered
  • 15 + years training C++

Most trainers can teach what a feature does. Train IT also explains why it is designed that way, drawing on the discussions in the ISO C++ committee rooms and corridors, so your team learns the reasoning behind the standard and not just the syntax. And it is not academic: the same engineer has shipped production ultra-low-latency C++, including a matching engine for one of the world's largest derivatives exchanges, so performance-critical and trading teams learn from someone who has built it.

  • ISO C++ Committee (WG21) voting member since 2017, with 100% meeting attendance.
  • A regular in the Library Evolution Working Group (LEWG), which scrutinizes the design, safety, and usability of every C++ standard-library proposal. The same instincts for good API design and hard-to-misuse, maintainable interfaces run through every workshop.
  • Contributions to the C++ standard: heterogeneous lookup for unordered containers, accepted into C++20, and variable template template parameters, which he originated, now part of C++26.
  • Author of several proposals on track for C++29, including the quantities and units library (std::quantity), std::basic_fixed_string, and Universal Template Parameters.

More about Mateusz

Invited to speak and keynote at

  • CppCon
  • C++Now
  • ACCU
  • Meeting C++
  • C++ on Sea
  • NDC TechTown
  • CoreHard
  • code::dive
  • C++ Online
  • C++ Under the Sea

See all talks

Built, not just taught

mp-units: the C++ behind the training

I do not only teach Modern C++. I build it at the limit. mp-units is among the most capable physical quantities and units libraries in any language, and the reference implementation behind std::quantity (P3045), the proposal on track for C++29.

It pushes C++20 and C++23 hard enough to stress compilers and regularly surface compiler bugs, and it is one of the most actively maintained projects in the C++ ecosystem. So the safe, hard-to-misuse API design, the zero-overhead performance, and the engineering discipline your team learns are not theory. They are how I build production C++ every day.

mp-units turned out to be exactly what I was looking for, and Mateusz and the team were consistently quick to respond and genuinely helpful. I have since used it in a professional embedded-software project, so its value is clearly not academic-only: it serves real industrial as well as academic needs.
Arnaud Becheler, Modern C++ Consulting & Training

Explore mp-units

In their words

What engineers say

Best I have attended so far.
C++ engineer Intel
About Advanced Modern C++
The depth and span of the knowledge. He knows everything.
C++ engineer Bruker
About Mateusz
It was the best C++ training I have ever attended.
C++ engineer Luxoft
About Advanced Modern C++
Exceeded my expectations, very in-depth and interesting.
C++ engineer BMW
About Modern C++ Concurrent and Asynchronous Programming
It is challenging and was never boring. It pushed me to my boundaries.
C++ engineer TomTom
About Advanced Modern C++
Very deep knowledge, and in a practical way. He thinks on his feet and applies concepts correctly, it is not just a memorized presentation.
C++ engineer Dolby
About Mateusz
I learned a lot of the fundamentals of C++ that I had only a vague idea about before. I wish I had attended the training earlier.
C++ engineer Bruker
About Advanced Modern C++
Very nice training. It provides all the necessary theoretical understanding of asynchrony, including bleeding-edge topics like coroutines and senders and receivers. It makes me want to dive right into the new material.
C++ engineer BMW
About Modern C++ Concurrent and Asynchronous Programming
Deep knowledge, providing reasons why some C++ design details actually make sense when at first they seem bizarre.
C++ engineer Intel
About Mateusz
One of the best trainings I have attended in recent times. Highly competent, experienced, enthusiastic, and professional.
C++ engineer Bosch
About Modern C++ Toolset: CMake + Conan
Even though it was a very difficult course, I have enjoyed it a lot.
C++ engineer Zaleos
About Advanced Modern C++
The training covers a huge number of techniques to write more robust and clean code in C++, and I am sure it will be very helpful for me and my colleagues in our daily work.
C++ engineer Bruker
About Safe and Secure C++ by Design
Hard but inspiring.
C++ engineer Jeppesen
About Designing Abstractions in Modern C++
Great training, really valuable. A lot of practical knowledge, presented in an understandable way.
C++ engineer Dynatrace
About Advanced Modern C++
Very comprehensible and exhaustive, with great ease in explaining detailed features of the language and no barrier between trainer and trainees.
C++ engineer Nokia
About Advanced Modern C++
10/10. Really useful knowledge that I am hoping to use in production code.
C++ engineer TomTom
About Advanced Modern C++
Very enlightening, broadening mental horizons. Impressive knowledge, and the ability to explain the origins and reasoning behind individual C++ features.
C++ engineer Dynatrace
About Mateusz
It is very comprehensive. I thought it was worth the price of admission in the first segment.
C++ engineer Dolby
About Modern C++ Toolset: CMake + Conan
The training was thorough, exciting, interactive, and fun. I would recommend it to anyone.
C++ engineer Luxoft
About Advanced Modern C++
A lot of background knowledge: how and why certain features were added.
C++ engineer Celonis
About Introduction to C++20
Training was amazing. It showed me many techniques I did not know before.
C++ engineer Intel
About Advanced Modern C++
Frequent group exercises and polls kept me on my toes, and I think I have truly learned something.
C++ engineer Dynatrace
About Advanced Modern C++

Free self-checks

Where does your team's C++ stand?

Two free, private self-checks, each with an instant score and exactly what to focus on next.

How modern is your C++?

For engineers

A knowledge quiz: twenty questions across the language, a private score per topic, and the gaps worth closing.

Take the quiz

C++ engineering health check

For team leads

A maturity check: rate your team's practices and get a scorecard plus the specific gaps worth closing first.

Start the health check

Newsletter

Stay sharp on Modern C++

If you write C++ for a living, most newsletters are noise. This one is not. A few times a year, only when there is something genuinely worth your time: open cohorts you can join before anyone else, a standards change that actually affects how you write C++, and first access to new tools like the self-checks above. You can leave anytime.

Ready to raise your team's C++?

Tell me what your team is building and where it hurts. We will figure out whether a workshop is the right next step.

Get in touch