It is a catastrophe with announcement: There is a considerable lack of training culture in the software industry. As if that weren’t bad enough, the demand for high-quality software and the complexity of the software will increase drastically in the near future. The problems are literally pre-programmed.
Rainer Grimm has been working as a software architect, team leader and training manager for many years. He likes to write articles on the programming languages C++, Python and Haskell, but also likes to speak frequently at specialist conferences. On his blog Modernes C++ he deals intensively with his passion for C++. His books on C++ have been published in several languages. He has been on his own two feet since 2016. In particular, imparting knowledge about modern C++ is a matter close to his heart.
The significant lack of further training culture, which is described in four points below, relates solely to the software industry in this text. However, it can easily be generalized to the entire industry, since software is increasingly becoming a value driver in our economy. And it affects both the employer and the employee:
Learning is not an integral part of everyday work
Learning must be an integral part of the daily routine. The software industry is very complex and dynamic. Therefore, the question has to be answered again and again: Am I using the right technology? Asking these questions requires an open culture.
This training culture is characterized by the fact that it welcomes and supports training. She does not see further training as a cost factor, but as an investment in her own future and the future of the company. The responsibility rests on two shoulders: that of the employer and that of the employee.
First of all, the employer must consider the education and training culture as a valuable asset. Employees are the employer’s most important asset and a guarantee of its ongoing business success. There are many ways an employer can support their employees. These include:
- Freely accessible learning materials such as books, magazines or subscriptions to learning platforms
- Training programs such as mentoring, training courses or regular internal training rounds
- Participation in conferences and trade fairs
- Lectures inside and outside the company at conferences
But the employee is also responsible. First, he may need to convince his employer that building a learning culture in his company is an investment with a very high return. This conviction is necessary because people who do not deal with software often cannot correctly assess the systemic challenge of software. In addition, he knows the culture and the challenges of the company perfectly.
If no training culture is established in the company, this will have very negative consequences. In the medium term, the good and outstanding software developers will leave the company because they are looking for an environment in which they can improve. You are eager to learn. Only the bad programmers stay because they can’t find a new employer and their motivation is mainly limited to a secure job. This effect is reinforced by the fact that excellent software developers only want to work with excellent software developers.
In the long term, a company without a training culture will eventually only have bad software developers. At most, they can still maintain legacy software, but they can no longer bring new products onto the market. Ultimately, however, the product can no longer be significantly improved, so Darwin strikes in the long or short term.
It usually takes three years for a lack of training culture to result in a company only employing bad software developers. Unfortunately, I have witnessed this process several times.
The employer does not support learning
Employers must support the learning of their employees. If not, the following fatal automatism sets in:
A software developer does what he loves and is eager to learn new techniques and programming languages to meet his daily challenges. His challenges are very high. These concern, for example, the design of the software and its security architecture, secure communication between the components across computer boundaries or multithreading with its inherent complexity. That means he has to simultaneously maintain and improve old software and implement brand new products. Often his projects are “bleeding edge” and require his full potential. Software is his passion.
His passion is so great that he has to invest a large part of his free time in his further education. Every two years he has to question his solution strategies. He must know and use the right techniques to find the best and most elegant solution. However, this challenge becomes too great if his employer does not support him and learning only rests on his shoulders.
If the software developer cannot keep up with the current state of programming art, there are only two options. He invests more time and effort in his free time to fill the ever-growing knowledge gaps. Or he looks for a new employer who supports his passion and invests time and money in his further education.
Motivated and good programmers have many opportunities on the market. And they are immensely useful to companies that invest time and money in learning: After a few years, he is no longer a good but an excellent software developer. Now the new company is reaping the rewards: Excellent programmers pass on their knowledge as mentors, they ensure a good reputation for the company and become a magnet for exceptional programmers.
Workers are hired for their skills, not their motivation
An employer should make his appointments based on the motivation of his future employees. Otherwise there is a risk of fatal automatism.
My experience is that the willingness of employees to learn new techniques and to improve themselves often does not depend on their level of training. It is often precisely the experts who have the wrong attitude and have completed the “learning” phase of life. That means a lot of money has been invested in the wrong people and goals.
Experts are often proud of their expert status. They don’t want to feel like apprentices. And they already think they are the best. The goal of a company must therefore be not to hire the best, but to create an environment in which employees can become the best. Some companies have already embraced this shift in thinking. You are not looking for the best software experts – who no longer exist anyway – but for committed employees and establish a training program.
Expertise in the software industry has a half-life of two years. Companies should therefore spend time and money creating an environment in which further training is an integral part of employees’ working hours. This “training on the job” is far more effective and sustainable than just looking for and hiring the best for a lot of money.
We have forgotten how to learn
Learning is like a sport. First the basics must be learned. This includes techniques and personal strategies for how to learn. Then exercises must be applied daily to maintain the ability to learn. Even if the first part of the learning journey was mastered well at school, university and as a newcomer at work, the second phase of the learning journey begins as a professional. It requires daily practice.
The senior professional may think that daily learning is no longer necessary. It hits him all the harder when fundamentally new challenges suddenly arise. This can be a new programming domain, a new technique, a different programming language, or even a new programming paradigm. Now it’s time to start all over again and learn.
Due to the lack of daily practice, many unlearn how to learn. At least it is no longer a matter of course. And before you know it, it may be too late for you.
What change do we need in our software industry?
I was once tasked with changing the development process of a software team. The goal was a change from control-based leadership, which was based on orders to be processed, to trust-based leadership. I naively thought that this would unleash the full potential of the team. I was wrong. The team had been operating in a control-based structure for at least three years. In recent years, they have only learned to implement orders that they received from their superiors. The result was stagnation. The members of the team have forgotten how to organize themselves. This story applies to learning in general: when practice is lacking, learning must be re-learned.
Daily learning must become an integral part of the work culture. Learning is a process that never ends. It is the key to our success. Whether a daily learning dose of one hour or a weekly learning dose of eight hours: the golden mean depends on the domain and the level of training of the employees. We still have a lot to learn.
(mki)