The real reasons for the crisis in IT
I think at present most people do not have an understanding of the true reasons. On the part of developers, there is a widespread opinion that “hiring is broken” – the necessary skills are not tested during interviews, the hiring department employees are not competent enough and do not know who and how to hire. Management, in turn, believes that the problem is in the programmers themselves – good specialists are difficult to find, and IT specialists, in their opinion, are greedy, demanding too high a salary for simple work.
Mentally mature people, however, understand that they cannot consider everyone around them incompetent. It is necessary to try to understand why the system ended up in this state and why this state became equilibrium.
The problem lies in the contradictions of the industry itself. The key idea is that the IT industry can only exist in the format of global innovation and rapid growth – or disappear.
If we consider soft skills, then people are divided into leaders and subordinates, risk-prone and stability-seeking. I am convinced that programming is, at its core, an art. Any fully automated area in IT makes humans unnecessary. Therefore, those who create automated systems must go beyond automation – this is creativity. In other professions, the role of the worker is more clear: a painter hones his painting skills to the point of automaticity, a doctor gains experience and intuition in treatment. Almost everywhere, professional experience only helps. The paradox of programming is that, having brought a skill to perfection, a specialist risks being left without a job, since his skills are transferred to the shoulders of machines. A good engineer creates a device that does not need support.
Opposite demands are placed on programmers: on the one hand, a person must be a leader and innovator, on the other, a cog and a subordinate. If a programmer does not offer innovation, why is he needed? The script will do everything for him. On the other hand, he is required to have “soft skills” and tolerance for change. He must find motivation to study new markets and technologies in his free time, but at the same time be loyal to the company, do this not for the sake of his growth, but for the sake of its income. He is expected to work for the company for many years, accepting that his skills become obsolete every five years and that the profession has a short lifespan of 25-35 years. At 25 you are too young, at 35 you are already old.
Ideally, as in other professions, a programmer should have a knowledge base that allows him to solve any problem. For example, a builder knows how to erect buildings of any number of floors and on any soil, taking into account local conditions. But the requirements are such that you must come with ready-made experience in constructing exactly the same building, otherwise your experience is not valuable.
As I said, there are two types of people: employees and businessmen, leaders and followers, visionaries and implementers. Some are ready to follow clear instructions and live on a subsistence level, others are ready to work, take risks, for the sake of large rewards. You cannot demand entrepreneurial qualities from a person – the desire for constant development and work on the edge – without stability and for an average salary. And if a person with such qualities gets a job as an employee, he will always want more and will be dissatisfied with the average or slightly above average income.
However, wanting one thing, but having the opportunity is another. Recently, IT was still new and was being introduced into all spheres of life and the economy. Any idea quickly bore fruit. The business was ready to tolerate “toxic” specialists and train personnel, as everything was growing rapidly.
When IT ceased to be innovative and began to bring margins no higher than in other industries, business began to transfer risks to employees and contractors. The hired worker is now constantly balancing on the brink of satisfying basic needs, but demands are placed on him as on an entrepreneur: he must anticipate the needs of the market, endure setbacks steadfastly, without being upset by the loss of time and money.
Of course, this situation is not normal. Most people are performers by nature, and they cannot be expected to maintain the motivation of a student at 30-40-50 years old. No matter how much we are told, hired work cannot be a “challenge” for life.
I see two ways out of the crisis. Either the industry ceases to be innovative, and the appetites of programmers decrease to an average level, and the work also becomes average – knowledge of one programming language should feed a person for the rest of his life, which implies a stop in progress in this area. Or a new revolution is coming, which makes current skills and knowledge useless, and the cycle begins again: a few remain in the industry, and the majority find themselves outside it.