I have been observing two trends in the tech industry for some time:
1. Outsourcing of so-called “low value” positions has eliminated entry-level positions that used to be a staging ground for future software developers.
2. The heavy use of “contractors” in the industry has created a situation where employers invest much less in skill development, if they spend anything at all.
These two forces combine to create a situation where demand remains strong for software developers and administrators (tech workers), but a huge barrier to entry has been created. Software Development is both a science and a craft, and while learning the science is relatively easy and can be picked up from a class or a book, the craft takes time to develop in a person. This time is an investment that used to mean you were hired to work on maintenance projects, which taught you about the business, the software, and exposed you to the code developed by senior developers.
In today’s paradigm, many large employers have outsourced their maintenance work to a tech services company, and divorced their software development from their business. Even if they have not outsourced their work, they are not hiring permanent employees. I don’t have any specific numbers, but from what I’ve seen at least 50% of tech employees are working as “contractors”, which is the tech industry’s version of a “temp” worker. Employers typically do not provide training or education to contractors because there is no incentive to, and contractor’s have no incentive to stick around after receiving expensive training or gaining experience working with a hot technology.
This trend has resulted in a situation that is good for experienced tech workers (programmers, architects, project managers) because they are able to find work fairly quickly, but also bad because they have no job security and benefits vary widely depending on the company they are working through to get the contract. Employers benefit because they can grow and shrink their workforce quickly without having to report layoffs. On paper this looks good to investors and shareholders, but there is a hidden cost that nobody is speaking about… the Leadership Pipeline.
In the old paradigm of tech worker employees, some employees eventually become senior developers. Some of these senior developers became architects or business analysts, and some of these tech leaders eventually became business leaders, who had a deep understanding of how technology supports their business. Many of these “old paradigm” tech leaders still exist within companies, but they are getting old fast and many have already retired.
In the new paradigm of tech worker contractors, individuals have no allegiance to an employer. They have a perverse incentive to only do exactly what they are asked to do, without an incentive to make sure what they are doing is good for the employer in the long term. Moreover, there is no incentive to succeed or complete a project because that often means the end of their contract. Under this paradigm, leaders who understand business and technology are increasingly rare and in most cases they must be hired from outside the company. Outside hires must spend time to create networks within the company, which old paradigm tech workers would already have.
This brings me back to my response to this article from Tech Republic. It is hard to get started in the tech industry largely because companies are only “hiring” contractors, who must already have experience in a given technology. How do you get the experience you need in a system that has broken the pipeline that trains future tech workers? How does a company develop its future tech leaders? When did loyalty and commitment become so devalued?