In August, I gave an interview which caused many comments. Now, is the right time to publish my thoughts.
I gave the interview for the e-finance-blog “efinancialcareers”. I essentially stated the following:
- C++ is heavily used in the finance industry, for game developers, and in the automotive industry.
- When you want to learn C++, start at least with C++11.
- C++ is often used to build infrastructure.
- C++ is too big to fall.
You can read the whole interview here: “C++ will be used for the next 50-100 years in financial services“.
Two months later, this interview went viral and was discussed in a few forums:
- Hackers News: The pool of talented C++ developers is running dry (efinancialcareers.com) (849 comments)
- heise online: C++: Ungeliebt, aber Entwickler werden dringend gesucht (C++: Unloved, but developers are urgently needed) (697 comments)
- heise online: Interview: C++ und der Mangel an Forbildungskultur (Interview: C++ and the lack of training culture) (289 comments)
In total, I got almost 2000 comments. Today, I want to present the main points about the final interview, because this is my motivation for writing articles, posts, and books, recording videos, and teaching and mentoring C++.
C++ and the Lack of Training Culture
To make it simple. I paraphrase the questions of the interviewer and translated my answers into English. The original interview can be found on heise developer: Interview: C++ und der Mangel an Forbildungskultur:
What is the appeal of this language for you? Why has it been able to hold its own so well against newer languages?
C++ manages a balancing act. On the one hand, C++ allows you to communicate directly with the hardware. On the other hand, it offers the necessary abstractions that make programming much more convenient. What is special about C++ in particular is that it offers access to hardware for zero cost.
Developers with expertise in C++ are especially in demand, but C++ doesn’t seem to be highly in favor of some. Why is that?
C++ is a complicated language used in complicated domains such as systems-oriented programming, high-performance computing, or concurrency. Languages like Python abstract away much of this domain complexity. However, this comes at the expense of resources such as time and memory.
You were quoted saying that training is poor. What is it lacking?
In our industry, training is often still viewed as a one-time challenge to be mastered like a driver’s license. But our domain is far too dynamic for this naive view. Continuing education must become an integral part of our daily routine. We must learn that learning is an integral part of our professional activities.
What could be done to improve training?
We need a culture of continuing education in our companies. I have twice established continuing education rounds in my companies. Both were a very big success and created much momentum. For me, they were the starting point of my “career” as a trainer/mentor.
There is a shortage of C++ experts, in particular, in the financial sector and in the automotive industry. Do applicants need special expertise?
In these domains, many skills are needed, some of them heterogeneous. For example, the automotive industry is characterized by a combination of hardware and software. In the automotive industry, they need to be able to communicate directly with hardware as well as design a large software architecture. In addition, the automotive sector is highly regulated, and high safety requirements must be met.
What is the best way to position yourself to be fit for the future?
I will answer with an English proverb: “Don’t hire for skills, hire for attitude.” I have been guided by this proverb in my hiring interviews. What interests me most is how committed an applicant is to work on himself and his skills because his existing skills have a short half-life.
I stated in this interview that “We must learn that learning is an integral part of our professional activities.” I’m curious to hear your thoughts and want to keep the ball running. Please write an e-mail to Rainer.Grimm@ModernesCpp.de and state if I can quote you. I will write a follow-up post about this key challenge of your software domain.
Thanks a lot to my Patreon Supporters: Matt Braun, Roman Postanciuc, Tobias Zindl, G Prvulovic, Reinhold Dröge, Abernitzke, Frank Grimm, Sakib, Broeserl, António Pina, Sergey Agafyin, Андрей Бурмистров, Jake, GS, Lawton Shoemake, Jozo Leko, John Breland, Venkat Nandam, Jose Francisco, Douglas Tinkham, Kuchlong Kuchlong, Robert Blanch, Truels Wissneth, Kris Kafka, Mario Luoni, Friedrich Huber, lennonli, Pramod Tikare Muralidhara, Peter Ware, Daniel Hufschläger, Alessandro Pezzato, Bob Perry, Satish Vangipuram, Andi Ireland, Richard Ohnemus, Michael Dunsky, Leo Goodstadt, John Wiederhirn, Yacob Cohen-Arazi, Florian Tischler, Robin Furness, Michael Young, Holger Detering, Bernd Mühlhaus, Matthieu Bolt, Stephen Kelley, Kyle Dean, Tusar Palauri, Dmitry Farberov, Juan Dent, George Liao, Daniel Ceperley, Jon T Hess, Stephen Totten, Wolfgang Fütterer, Matthias Grün, Phillip Diekmann, Ben Atakora, Ann Shatoff, Rob North, and Bhavith C Achar.
Thanks, in particular, to Jon Hess, Lakshman, Christian Wittenhorst, Sherhy Pyton, Dendi Suhubdy, Sudhakar Belagurusamy, Richard Sargeant, Rusty Fleming, John Nebel, Mipko, Alicja Kaminska, Slavko Radman, and David Poole.
|My special thanks to Embarcadero|
|My special thanks to PVS-Studio|
|My special thanks to Tipi.build|
|My special thanks to Take Up Code|
I’m happy to give online seminars or face-to-face seminars worldwide. Please call me if you have any questions.
- Embedded Programmierung mit modernem C++ 12.12.2023 – 14.12.2023 (Präsenzschulung, Termingarantie)
Standard Seminars (English/German)
Here is a compilation of my standard seminars. These seminars are only meant to give you a first orientation.
- C++ – The Core Language
- C++ – The Standard Library
- C++ – Compact
- C++11 and C++14
- Concurrency with Modern C++
- Design Pattern and Architectural Pattern with C++
- Embedded Programming with Modern C++
- Generic Programming (Templates) with C++
- Clean Code with Modern C++
- Phone: +49 7472 917441
- Mobil:: +49 176 5506 5086
- Mail: schulung@ModernesCpp.de
- German Seminar Page: www.ModernesCpp.de
- Mentoring Page: www.ModernesCpp.org
Modernes C++ Mentoring,