But economics be dammed, the IT industry, for some unbeknownst reason, is still pretending to be a traditional white collar job, whereas in reality it's always been a trade. Some people abhor the word, perhaps due to their own insecurities. Having made my entire career in this industry, I embrace it. IT, especially Infrastructure IT, is a trade and the way that an infrastructure architect solves problems is much closer to the work process of a master builder or plumber than it is to the work of a lawyer or a doctor. An engineer pumping out terraform is not dissimilar to a plumber laying pipe.
There is a sharp need in the market to grow talent. At the same time the chicken and egg scenario of a junior engineer continues to haunt pretty much everybody. I love me some junior engineers, but they remain just that, junior. Can't really throw them on a project and expect them to deliver by themselves. You end up with an unhappy client, and an unhappy engineer, who you, as a leader, set up to fail. Not great. However, as a business owner, I can't always justify the cost of on-the-job training. So what do? How do we bridge the gap between the potential value of folks breaking into the industry and the value that they bring to the table? The rise of DevOps bootcamps is simply a reflection of the current reality. Bootcamps, in essence, are an attempt go down the path of specialized job training. The problem with bootcamps, however, is while they expose their students to tech, they are woefully unprepared for the real world from much more fundamental perspective. Mind you, this is not to rag on bootcamps. They serve an invaluable niche, and when I'm in hiring mode, they are a fantastic source of talent fresh to the industry looking to get their start.
What bootcamps, unfortunately, do not really do is expose new talent to is failure. (I could get into a whole discussion on the perception of failure in US culture, but I'm not going to). However, whether as a business owner, or the most junior engineer, failure is something we absolutely need to experience to progress our careers. As a junior engineer, if you did not (hey, let's date myself) accidentally shut down the wrong machine in the rack, or run terraform delete
on the wrong environment, you didn't learn what to do or not do. I'm not saying that one needs to operate towards a failure mode at all times, however, knowing how to process that oh-shit moment and navigate your way out of it, knowing how to unblock yourself when the AWS API is throwing an obscure error and stack overflow is no help, is the mark of progress and ability.
As far as trades go, our failure modes as an industry are downright
weird. Doug Seven recently wrote about a relatively small failure that
bankrupted an entire company to the tune of 400 million dollars. So there's that. But we're not plumbers, so we aren't ever going to experience effluvia gushing into our face because we screwed up. On the low end of the scale, spending six hours troubleshooting the AWS API throwing an error to a bunch of TF code that worked 15 minutes ago, and being utterly blocked is also perceived as a failure. Our direct feedback of these failures is psychological rather than physical, and in a way that makes folks breaking into the industry much more failure-adverse, not really understanding how to cope with the psychological terror of screwing something up, and without a decent feedback mechanism to actually improve their skillset.
Is there a solution? Well depends, what's the question? How do we get junior people with X years of experience in tech? Not happening. The only thing that HR departments that put out those sorts of requirements get are overqualified people that are desperate to land something in the market. I've been that overqualified over-educated guy going into those positions. It's rough, used to make me want to quit the industry to go sling drinks at a bar. The question really is how do we train new entrants to the industry that may or may not have ever been in a position where they have experienced failure to overcome and actually build their skills? That we can answer, but it's not an answer that any business owner looking at P&L sheets likes to hear.
In the olden days, apprenticeships were significantly more common. Off the top of my head, I can really only think of a few professions - primarily in the construction industry that have kept the tradition alive. What do apprentices do? Primarily, the stuff that nobody really wants to do. The grunt work. But how do you reconcile junior engineers doing grunt work with the fact that a lot of the grunt work of the infrastructure (and to an extent the junior programmer) world can now be handled by tooling, or by so-called generative-AI? As an industry we need to come to a very clear understanding of what are the aspects of this grunt work that require human intervention. Because the era of the junior engineer as the paralegal is over.
"There are no easy answers..." also, water is wet, the sky is blue, time is an illusion, and lunchtime - doubly so. Unfortunately, without an uptick in market conditions, the industry as a whole is not going to be able to support the apprenticeship idea on any large scale. Individual companies might make the investment, and will be better for it. However, generally corporate strategies are just not necessarily done on the order of decades never-mind centuries. You might get five years out, and that's a best case scenario. The assumption is always made that fresh talent is always available in the market, whereas that is just not the case. When talking about the cloud market we call it the smallest trillion-dollar industry ever. The amount of actual experts in any particular branch of the industry is miniscule compared to the amount of licensed professional plumbers. And as an industry we are much more subject to these market whims. With all of this in mind, it's going to be a rough market for junior engineers breaking into this industry for a year or two or three. And a year or two or three down the line, after we figure out a few things, hiring managers (myself included) up and down the width and breadth of tech are going to be scrambling to figure out "how the heck do we hire for these X junior positions" and feeling rather silly.
UPDATE: The team at Selltik Consulting was inspired by this post and followed up with their own thoughts on the topic. It's a worthwhile read. Get it
here.