The awkward reality of getting what we ask for.
I remember, not even 5 years ago, when every technology analyst was citing that there wasn't enough engineers, in the job market, to meet the demands of the technology industry. Out of this demand, sprouted many coding academies (20 years ago would have been called vocational schools). These schools offer courses, certifications and hard skills that meet the demands of the job market, without requiring the bloat and expense of a full blown college degree. In 2016 this phenomenon is an industry unto itself, with a legitimate value prop; but many organizations are reacting in the most backwards and bizarre way possible. Instead of embracing this new workforce engine, many are ignoring and even shunning the alumni of these academies.
Coding bootcamps have been embraced by a few of the larger forces in the industry.
It's no surprise to see some of the names who are quick to take advantage of this tectonic shift of the workforce. Google, Twitter, Salesforce, Adobe. It's not just large, engineering companies who are forward-thinking enough to take advantage of this new spring of talent, but it's also true that many companies haven't accepted this new paradigm of tech education, and some even reject it outright. While the industry has been clamoring for more qualified talent, for years, once that talent makes it's way to the workforce, many in our industry reject the qualifications, or remain skeptical about the value. Talk about looking a gift-horse in the mouth.
While you hold out for old talent, your competition is embracing new talent.
It's only a matter of time before this whole industry adjusts to the new reality. That new reality is: that the days of a Bachelor's Degree (or equivalent experience), being a barrier to entry into the engineering workforce, have come to an end. About 5 years ago, these code academies began transforming our new technology workforce into the future, and another 5 to 10 years from now those code academy graduates will be the senior developers of tomorrow. Whether you choose to acknowledge it, or not, the change has already happened. While some companies, and a lot of startups are rejecting this new talent, those who position themselves to benefit from it, will have a big talent advantage over those who don't.
So I'm just supposed to hire a bunch of code academy graduates and hope for the best?
No, simply hiring the new talent is not enough, you have to re-assemble your engineering teams to accommodate people with relatively little experience. You have to change the way you engineer your products so that the product can accommodate someone who has very little experience. You have to change the expectations of your engineering staff. These may sound like outrageous accommodations to you at first, until you realize that it should have always been this way in the first place.
Quality engineering products should not be so complex that it requires every engineering staff member to be a 5+ year veteran.
Prior to the code bootcamp phenomenon, your entry level engineers would have been Bachelor's degree graduates, fresh out of college; whom also had relatively little experience. It's an unfortunate state that all of your high-value senior engineers have masterfully designed such a wonderfully complicated product; that someone with relatively little experience would not be able to be immediately engaged. I propose that, if the product was engineered well, it should be simple enough that a beginning level engineer should be able to work on many aspects of that product, and be immediately productive. If such is not the case, maybe your senior engineers are getting more credit than they deserve, and quite possibly, your business itself is responsible for this complexity by moving too fast and not having an appetite for paying back technical debt. Code academies haven't changed this situation, but being in this situation has made your organization unable to capitalize on the new code academy talent spring.
Gone are the days of the senior engineer titans.
We've come to a point where we can't just continue to make every position a senior dev position. Accordingly we can't use senior developers as titanic contributors to our products. Instead we need to use Senior developers as elite commandos, and embed them in teams of less experienced developers, to teach and mold the future of our companies. Senior devs will need to play more strongly as architects and advisors to the newer generation of entry level, and junior developers. Your business has to understand the fundamental shift of this position from coding powerhouse, to mentor, leader, and engineering by proxy. Senior engineers are every bit as valuable as they were before, possibly even more so, but your organization needs to use them differently to accommodate the shape of this new workforce.
Change your qualification criteria.
Obviously requiring a bachelor's degree in CS, for every position on your engineering staff, simply will not work any more. That is not to say that you don't need highly educated, highly qualified staff, it just means that a Bachelor's degree should not be a barrier to entry level engineering jobs. Hire for potential, not for skills. If you asked me to count the number of skills I've learned in the last 2 years, on my hands, I'd run out of fingers. Software engineers have to learn new skills on the fly. We don't have to memorize 900 page books to know how to use a technology, we just have to know how to get and apply the information we need from available resources. Hire people who can learn and adapt quickly. Don't worry about the missing boxes on the checklist. Knowing a framework is not nearly as important as learning how to know a framework.
Prepare your staff for this change in paradigm.
You've done it, you've changed the direction of your software design philosophies to be simpler and accommodate a more novice skillset. You've changed your hiring practices to accept engineers with very little experience. You've hired some Jr engineers with accolades from their respective schools and remarkably good attitudes, and you sit them down next to your team of engineers who have no idea that the standards have changed. You may as well be throwing them to the wolves. Hopefully your staff engineers are naturally patient and kind individuals, but let's be honest, most engineers are probably not going to intuitively understand why someone, with no experience, is being injected into their world of veteran codemanship. One of the best ways to make this happen naturally is involving your engineering staff in every step of the hiring process, and not just a select few individuals, entire teams, different people every time. This is the place to shake out all of these anxieties and concerns about bringing someone on-board with very little experience. You will need to explain this change in philosophy to your teams.
The Times They Are A-Changin’
I hope most of us can agree that this is a change for the best. Our global community needs more engineers, and we need them for less than the cost of a 4-year degree. There will always be a need for highly educated and highly qualified engineers, but the biggest need our industry has is for less educated, less qualified engineers. Code bootcamps fill this need and we need to embrace it, and shape our industry to accommodate it. With any luck your organization can make changes that enable harnessing this new code academy talent spring, or at least start some conversations around it. Good luck.