C++ code is buggy. C++ code is too slow. And huge in the result.

Doesn't that sound familiar to you too?

C++ is used where high demands are placed on software. Clean C++ code results in robust software and supports rapid product development. In reality, however, code is often unnecessarily complex. Helpful features of new C++ standards are not used. They are often not known.

The result:

There are more bugs in the code, leading to software problems. Deadlines are shifting.

Writing code efficiently is not magic.

C++ is quite complex when you consider the complete language and its features. However, looking at the sub-aspects, C++ is just as easy to use as any other programming language. And it can be learned.

The design potential of C++ is enormous. The features of the new standards C++17 or C++20, such as ranges, coroutines, and concepts, offer know-how you can use when programming. As an IT developer, you improve your code using current elements. Your code will be unique and unambiguous.

C++ offers a lot of potential for companies. A solid code base minimizes program crashes. IT developers can program new product features more quickly. Products get to market faster.

Books, conference visits, or experienced colleagues provide impulses for writing code. They are suitable as a first measure to program readable code.

But often, the impulses only cover partial aspects.

This is where my C++ training comes into play.

Andreas Fertig speaking at a conference.

C++ training for understandable code. An entertaining way to write unique C++ code.

Based on my experience, I have developed interactive training courses with which you can write understandable and robust code. So that your software runs stably 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.

After the practice-oriented C++ training, you will consciously apply the elements of the respective standard when programming. They write robust code and thus minimize bugs.

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 code becomes understandable when you reduce it from 25 lines of code 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 susceptibility to errors. It gives you more freedom to concentrate on upcoming projects and your customers' 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 even after the course.

For this to succeed, each training course has a highly practical component.

With coding exercises in small groups, participants exchange their views with others and develop new ideas. They receive advanced tips so that they can write error-free and understandable code in the future. Apply your knowledge of new C++ features immediately after the training in your everyday life to fix bugs and program stable software.

The training content builds on one another both didactically and in terms of content. Real-world exercises complement presentations with code examples.

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).

Individual training tailored to your team: face-to-face or remote

Available training classesDuration 
C++1x for embedded systems (compact)2 DaysDetails
C++20: Five Features in Five WeeksDetails
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

And this is how it works …

  1. You choose the offer that suits your needs from the available training courses.
  2. You write me the training title, the planned time horizon, and the number of participants. I am happy to modify the content according to your wishes. You will receive individualized training.
  3. If you wish, we will conduct a brief consultation.
  4. You will receive an offer. I will block your requested appointment in my calendar as long as the offer is valid.
  5. Your confirmation leads to a binding confirmation of the training date.
  6. The training takes place. You will receive the training that has been optimized and adapted for you at the agreed time.
Request training now

Depending on your requirements, your in-house training will take place either face-to-face or remotely via zoom or the software of your choice.

Book a remote training regardless of whether your team is working in a common location or is advancing your topics from different regions worldwide.

A length of two to three full days has proven itself for face-to-face training. Half-day training is also possible for remote training. This is particularly interesting for teams in different time zones.

All training courses are available in 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