Our software industry has a significant Lack of Training Culture. What makes this Lack of Training Culture even worse is that the demand for high-quality software and the complexity of software will drastically increase in the nearer future.
Today, I want to write about my heart’s desire. The Lack of Training Culture. To better understand my heart’s desire, here are a few words about my professional career:
- I’ve worked as a software architect, team lead, and instructor since 1999.
- In 2002, I created company-intern meetings for further education.
- I have been given training courses since 2004.
- In 2011, I published the first C++11 book worldwide. Since then, I have published eight additional C++ books translated into six languages.
- Since 2016 I have been an independent instructor for C++ and Python doing the job I love: learning and teaching.
The last points gave my short story. If you want the whole story, read this post About Me.
Now you understand my commitment, and I can start this article.
The four signs address the employee and the employer. For most of my professional career, I was an employee. Consequently, I argue from the employer’s perspective, but this is only a stylistic choice.
Here are my Four Signs of the Lack of Training Culture.
- Learning is not an integral part of your profession
- Your employer does not support your learning
- You hire for Skills but not for Attitude
- You unlearned learning
Let me add content to my statements.
Learning is not an Integral Part of your Profession
Why should learning be an integral part of your profession?
The Systemic Challenge
Learning must be an integral part of your daily routine. Learning is not done after you mastered your first education, such as at school or university. The reason is simple: Our software domain is complex and highly dynamic. We are often confronted with new challenges, new programming languages, and new techniques. Sometimes we face more than one unknown in our new project. Mastering these challenges requires that you always have to ask yourself the question: Do I use the appropriate technique? Asking the questions requires an open culture.
The Training Culture
To master the systemic challenge of our domain, you need a training culture in your company. A training culture is a culture that embraces training and is supportive. This culture regards training not as a cost factor but as an investment into your and your company’s future. I hear your question: Who is responsible for the training culture? The responsibility lies on two shoulders: the employer and the employee.
Let me start with the employer.
First, the employer must consider training and a training culture a precious commodity. The employees are the biggest asset of the employer and a guarantee for ongoing business success. There are many ways in which an employer can support their employees. Here are a few ideas:
- Books and magazines
- Mentoring (very experienced professionals mentor new ones; the mentors can be company interns or externs)
- Company intern training programs
- Further education groups (regular presentations of interesting techniques; this often ends in a valuable discussion)
- Abonnnemonts of learning platforms such as educative or coursera
- 2 or 3 days training
- Participation on conferences
So, what are the duties of the employee?
The employee’s responsibility is more important than you may think. First, as an employee, you must convince your employer that building a training culture in your company is an investment with a very high dividend. This conviction is necessary because non-software-related people may not see the systemic challenge of software as clearly as you do. You also know your company’s culture and business-related difficulties well. You must actively claim the training culture and show how to establish them in your business. The employer is the patron who supports this training culture in your company with time and money.
If you don’t establish a training culture in your company, you will get what you deserve.
What are the consequences of companies having no training culture?
In the medium term, the good and best software developers will leave the company because they want an environment where they can improve themselves. They are eager to learn. Only the bad programmers stay because they will not find a new employer and care more about a secure job. This effect is enforced by the fact that the best software developers only want to work with the best software developers.
In the long term, a company ends up with bad software developers. Consequently, they can maintain legacy software at most but cannot implement new products. The maintenance of your legacy software could be faster and cheaper, and you can only hope that no competitor performs better. You cannot significantly improve your products or create new ones in the long run, Darwin will catch you.
Ending up with bad software developers takes three years typically. I experienced it twice.
To Be Continued
Both parties, employer and employee, must do their job professionally and regard learning as an integral part of our profession. In the following article, I will write about the second sign of the “Lack of Training Culture”: Your employer does not support your learning.
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, Bhavith C Achar, Marco Parri Empoli, moon, and Philipp Lenk.
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|
|My special thanks to SHAVEDYAKS|
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,