My Mentoring Program Fundamentals for C++ Professionals

I’m happy to provide you with more details about my mentoring program, “Fundamentals for C++ Professionals”.

My general idea of the mentoring program is straightforward. I will teach you what you should know about modern C++. Modern C++ includes the core language and the library based on C++17 in 28 stations. Each week, I publish a new station. To master a station, you have to invest about three hours. Therefore, you can integrate my program into your workday.

After my general idea, I want to give you more details about my mentoring.

Title

  • Fundamentals for C++ Professionals (Become a C++ Professional in Nine Months)

Stations

Here are all 28 stations. Therefore, you know what you get:

  1. Introduction
  2. Literals
  3. Types: enumerations, pointer, references, and casts
  4. Types: type deduction with auto and decltype
  5. Values: initialization, conversion, const, and constexpr
  6. Values: move semantics and perfect forwarding
  7. Memory
  8. Functions
  9. Classes: attributes and constructors
  10. Classes: initialization, destructors, and member functions
  11. Classes: default, and delete, operator overloading, explicit, access rights, friends, and structs
  12. Inheritance: abstract base classes, access rights, constructors, base class initializers
  13. Inheritance: destructor, virtuality, override, and final, and multiple inheritances
  14. Templates: functions and classes
  15. Templates: parameters and arguments
  16. Template Specialization
  17. Type Traits
  18. Smart Pointers
  19. STL: General Ideas (containers, algorithms, iterators, callables, range-based)
  20. STL: Common Interface of the Containers
  21. STL: sequential containers and associative containers
  22. STL: algorithms
  23. Strings including string views
  24. Regular Expressions
  25. In- and Output
  26. Threads: creation, data sharing, mutexes, and locks
  27. Threads: thread-local data, thread-safe initialization, condition variables
  28. Tasks

One Station

I publish on each Friday a new station (content). But I have more valuable content for you if you like.

One station contains theory, practice, and mentoring.

  • Theory
    • Pure theory with approx. ten slides (video)
    • Applied theory with approx. five examples (video)
  • Practice
    • Explain the exercises (video)
    • Explain the sample solutions to the exercises (video)
  • Mentoring
    • Live Q&A session on each Friday of each week, in which I address questions about the week’s topic; I record this session.
    • E-mail queries by participants; I publish the e-mail responses anonymously if appropriate or address them in the Q&A sessions.

There is more one-to-one mentoring.

One-To-One Mentoring

During the program and at the end, I will have a one-to-one mentoring call with each participant. Each one-to-one mentoring call has a unique purpose.

  • During the mentoring program: You decide when it should happen. The purpose of this one-to-one call is simple. I want to support you in mastering my mentoring program.
  • In the end: I want to provide you with additional guidance for your career as a C++ programmer because you are never done learning.

Additionally, I develop an online library that provides the following content to support your learning.

Online Library

Additional Stations

You have noticed that I wrote about 28 stations, but the program takes nine months (35 stations). After big topics, I do not publish new content but deepen the previous topic. This unique week serves as a buffer to allow participants to work through gaps.

The buffer is necessary for several reasons:

  • Short-term bottlenecks in your job or private (vacation or illness).
  • Short-term bottlenecks in the mentoring program (many exciting questions have accumulated)
  • Deepening of the contents

This week there will be a general Q&A session on Friday, where I will address questions and challenges around my mentoring.

Now, you may ask yourself, should I apply?

For Whom is This Mentoring Program?

First of all, you need a basic knowledge of C++, and you want to become a professional C++ developer in nine months. You have to invest about three hours a week and can, therefore, integrate my program into your workday. In the ideal case, your company supports you with time and money.

Here are a few typical participant profiles I have in mind:

  • Young professionals who want to master the start of their career
  • Students who wish to prepare for their first job (interview)
  • Software developers who want to qualify themselves further professionally
  • Team leaders that want to bring their members on the same page

If you don’t know if my program is appropriate for you, write me an e-mail: info@ModernesCpp.de.

Here are a few technical details

Technical Details

  • Course start: My goal is to launch this course in April.
  • Course size: At least 105 hours, 17.5 training days, or 3 1/2 typical 3-days training.
  • Registration: I open the registration window four weeks before the course starts and close it one week before it starts.
  • Stay informed: If you want to stay informed, write an e-mail to info@ModernesCpp.de with the subject “Mentoring”. Write me also an e-mail if you need more information.
  • Price: Due to this first installment of my mentoring program(and some improvisation),  the price of the program is drastically reduced by roughly 50%: about €250.
    • For final consumers, I have to add 19% VAT
    • For business consumers in Germany, I have to add 19% VAT

In the end, I want to write about my long-term vision.

My Vision

  • Build an active C++ community. You help each other to solve your exercises and challenges around modern C++.
  • You can master this course at your pace.
  • I will develop additional mentoring programs about the following more advanced topics. I will start these other mentoring programs at the end of this year.
    • C++20
    • Clean Code with Modern C++
    • Concurrency with Modern C++
    • Design Pattern and Architectural Pattern with C++
    • Embedded Programming with C++
    • Generic Programming (Templates) with C++