Imagine you're working on a C++ project. Soon you find bugs in your code.

Your code runs slower than anticipated, and the end result is much larger than expected.

Does that sound familiar?

C++ is a powerful language chosen for projects where performance is crucial. It's known for creating robust software and speeding up product development. But in practice, C++ code often becomes overly complex. Helpful features from the latest C++ standards are left unused. Developers are often unaware of these features.

The result:

Bugs multiply. Software issues start cropping up. Deadlines get pushed back, and the entire project becomes stressful. But it doesn't have to be this way.

Put an end to inefficient C++ Code.

C++ is a complex language. It has a wide range of features. But when broken down, it is as easy to use as other programming languages. C++ can be learned.

The design potential of C++ is enormous. New standards like C++17 and C++20 offer powerful features. These include ranges, coroutines, and concepts. As a developer, you can use those features to make your code clear and efficient. Your code will be easier to maintain.

C++ offers huge potential for companies. A solid codebase reduces crashes and bugs. Developers can implement new features faster. Products get to market sooner. Embracing modern C++ can make your software not only innovative but also reliable and efficient.

Books, conference visits, and advice from experienced colleagues can be great starting points for learning how to write cleaner code. They offer valuable insights and can help you make your code more readable.

However, these sources often address only specific aspects of C++ programming. They might give you a glimpse into good practices but don't provide a comprehensive solution.

That's where my C++ training comes into play.

Andreas Fertig speaking at a conference.

Write C++ code that is easy to maintain.

Explore the newest features for writing clean C++ code with my engaging training. The interactive training helps you to write clear and robust code. This ensures your software runs smoothly and deadlines are met.

Icon star

As little code as possible, as much as necessary

Less is more. Use as little code as possible to avoid bugs in current and future tasks.

Icon diamond

Unique code

In your everyday life, write clear code that is easy to understand.

Icon tiefighter

New C++ features

Be inspired by C++ elements of current standards. Use them confidently when programming.

Our hands-on training emphasizes practical application. You'll learn to apply the latest C++ standards directly to your projects, minimizing bugs and maximizing code efficiency.

A particular focus is on the reduction of code.

Writing less code means:

It's less to read. There are fewer bugs. Duplicates are avoided. A robust code is created.

See for yourself how easy to read the code becomes when you reduce it from 25 lines to 10 lines of code.

Code before of stack implementation requiring 25 loc.
Code after of stack implementation requiring only 10 loc.

Simple, unique code reduces maintenance and minimizes errors. It allows you to focus more on new projects and meeting customer needs. You, too, can write unique code using the new C++ features.

Alternative C++ training courses use the lecture style. My C++ training courses are designed to be interactive so that you can program efficiently. Only after one training.

Each course includes practical exercises. Small group coding activities let participants share insights and generate new ideas. You'll get advanced tips to write error-free, easy-to-understand code. Apply these skills immediately after the training to fix bugs and develop stable software.

The training is structured to build knowledge progressively. Real-world exercises and code examples complement each lesson.

A development team is now writing readable code.

I can confirm the positive feedback from my team because, as a listener, I followed your training myself and heard the interesting discussions and questions. I see a great opportunity that we can take a lot of knowledge with us to improve our (legacy) code, like "You promised it in your summary. I found the comment that we should pay more attention to readability when writing code. Your reasoning was very plausible, but unfortunately, it is (or was not) often not the case in our company observed.

- Manager

Your topics and questions have priority.

The training aims to address the topics that interest you, regardless of whether the topics are in the material or not. Participants receive answers to their questions at all times. With the only training material that doesn't end up in a drawer.

An insight into the material:

Preview of the material for Programming with C++20.
Excellent training!

- Shawn E.

The content was delivered in a good pace with excellent examples. Thank you!

- Sue M.

Great trainer, all questions answered.

- Steven T.

Live demos are an essential part of each of my training sessions. You will learn about two live demo tools you can use for programming.

Screenshot of Compiler Explorer (https://compiler-explorer.com).

Matt Godbolt's Compiler Explorer allows code examples to be quickly modified, run, and see the results.

C++ Insights, from myself, is a tool that allows a look behind the scenes. Features such as templates, lambdas, or structured bindings are easy to follow and understand.

Screenshot of C++ Insights (https://cppinsights.io).

Customized C++ training for your team: Face-to-Face or Remote. Worldwide.

Available training classesDuration 
From C to C++3 DaysDetails
Modern C++: When Efficiency Matters3 DaysDetails
Programming with C++11 to C++173 DaysDetails
Programming with C++203 DaysDetails
Safe and Efficient C++ for Embedded Environments3 DaysDetails

Here's how it works:

  1. You select a training that suits your team's needs.
  2. Once you've chosen the training, simply provide the training title, your preferred time frame, and the number of participants. I'm happy to adjust the content to meet your team's needs if there are particular topics or areas you want to focus on.
  3. We can arrange a brief consultation to fine-tune the training to your exact needs.
  4. You'll receive a tailored proposal. I'll reserve your preferred dates until the proposal is valid.
  5. Once you confirm, your training dates are locked in.
  6. The training takes place. Your customized training will be optimized for your team at the agreed time. Either in person or remotely.
Request training now

Available worldwide

No matter where your team is located, my training services are accessible worldwide. Typical group sizes for my training range from 10 to 30 participants.

Your in-house training will be either face-to-face or remote, using zoom or your preferred software.

Book remote training whether your team is in one location or spread across different regions.

Face-to-face training typically lasts two to three full days. Half-day training is also possible for remote training. This is particularly interesting for teams in different time zones.

Training is offered in both German and English.

Andreas Fertig

My motto: "Write Unique Code."

Participants appreciate my deep technical understanding and detailed knowledge through membership in the C++ standardization committee. They particularly like that I teach C++ understandably and entertainingly and noticeably infect them with my enthusiasm for new features.

I have been working as a trainer and international speaker since 2017. As a consultant, I also oversee projects using C++ to introduce new products.

Are you interested in an open-enrollment training?

Open training sessions on the language standards are held two to three weeks a year in a small group of participants. Register as early as possible to ensure that the training takes place safely.

If you would like to be informed about the next open training courses, register using the contact form on the training subpage of your choice or in the newsletter. You will be automatically informed about the next date as soon as new training dates are set.

The right training for your team is not included?

Are you interested in a C++ training course you haven't seen before? Don't hesitate to get in touch with me directly, and we'll discuss a solution that's right for you.

Request training now

This is what satisfied participants of the open-enrollment training say:

I have liked the two courses on Concepts and Coroutines. After finishing them, I can say I have received good quality material. Andreas' great expertise in the C++ language makes you feel you are employing your time and money correctly. I had some understanding and even practice in Concepts, but Andreas took that one step further. I had almost no knowledge of coroutines and, maybe because of that, I enjoyed that course even more than the first one. I loved the use of code examples to explain the theory, also the way of coding, and I also found very useful the diagrams to sum up the most important points.

- Roberto Turrado Camblor

I think slides have most important information about the topic. After the training, I studied them all again. And I'm going to read whenever I forget something about the topic. Also Andreas talked about his experience, gave us real world examples. I think this part of training helped a lot. I already have started to use some of the things he said in the training. I think his real world examples helps a lot in the future. Finally I really like the coding part of the training. It's very helpful. Whenever we learn new topic, we implement that quickly. It helps a lot.

- Participant, Open-enrollment class C++17