The Challenge to Innovation
Recently inspired by Peter Thiel's excellent book Zero to One, I've been reflecting on the software industry as the preeminent place where we can expect to see radical innovation - and the blockers that exist in the industry that need to be addressed for us to maximize the pace of change.
The market for qualified software developers and web developers is enormous and growing incredibly quickly. According to the U.S. Bureau of Labor Statistics the demand for Web Developers and Software Developers is projected to grow by 20% and 22% respectively. The pay and the benefits are great and there is no shortage of people who would like to work in the industry yet over the next 6 years in the United States alone, one million programming jobs will go unfilled. This problem is not unique to the United States, but is instead a result of ever advancing technology that has evolved (and continues to evolve) at a pace never before seen. The rate of change leaves the world's university system unable to develop the right kind of talent fast enough for the market. And so the demand for workers and the supply continue to skew further and and further from one another. For any qualified software development vendor, this schism serves in the short term to accelerate higher rates and the demand for services, however long term the increasing competition for qualified workers will hurt the entire industry. For companies looking to develop in-house team there is no upside. Ultimately the current trajectory will create a class division in the work force and reduce software innovation as costs continue to climb.
The (Partial) Solution
In order to address the gap of qualified entry level workers, scores of vocational programming schools have popped up around the country to provide a solution. These educational programs can be entirely online or in a physical location, be completely independent, mentored or in classrooms. They vary significantly in terms of their core languages taught (Ruby, Drupal, Angular.js, etc.) and they also can have particular cultural bents (women only, etc.). They can also be part-time or full-time, and the duration can range from a few weeks to a full year.
We've created a publicly viewable Google Spreadsheet to track these schools:
I believe that these schools with be an important supplemental educational system for the future software workforce. It will not do away with the traditional Computer Science degree from four year university (we need all the workers we can get), but it does provide a cost-effective entry into the market, especially for people looking to switch careers. Someone who has been the manager at the Gap already has many of the communication, management and critical thought soft-skills for success in any career, but they do need to add specific technical skills to their roster.
The challenge for all vocational schools is three-fold:
- creating effective curriculums
- connecting with the companies who are looking to hire
- convincing students and hiring managers that their programs turn out valuable graduates
The schools that ultimately succeed will be the ones that think about the long term success of their graduates. It's not enough to get people to sign up and pay for a school - the trick is ensuring they get into the job market once they've got their jumpstart.
With this in mind, the right schools should be paying very close attention to where the jobs in software are. This data especially easy to access today in open source, not just for core language (php, java, etc.) but also toolset and processes that are most closely mirrored to what is actually being used. Modern programmers are a fickle lot, and they are on an almost constant hunt for "the best".
The long term picture here is one of significant competition among different schools - both for students and lucrative relationships with hiring managers at companies that employee software developers. It's likely that full-time placement and recruiting staff will be brought into many schools initially as a differentiator and then as a requirement. Another interesting distinguishing factor for schools will be their individual ability to become accredited institutions. This will not only have the effect of validating the education but also enabling increased prices based on students being able to find financing for tuitions. My current hypothesis is that tuitions will settle around $20K for an annual program which provides financing (which is very similar to other vocational schools like Le Cordon Bleu, a professional cooking program). Presently tuitions and terms vary wildly.
Beyond the aforementioned challenges, the additional spaces need to be filled in to fully active:
- The success of these programs are largely untested. There is no single authoritative assessment to measure the level students start or finish at, nor a way to effectively to assess the individual teachers or the curriculum. Additionally individual schools are incentivized to communicate to both prospective students and employers that their system is the best.
- Any assessment that does exist is limited to success within the school itself and does not provide any insight into the significant challenges of on-boarding a professional programer.
- This type of education addresses the need for workers that are just barely qualified, but doesn't usually address the ongoing needs of mature developers.
- As a programmer changes jobs and/or advances in their career there is no singular source for continued assessment and recommendations around continuing education.
Wrapping things up
I am a born optimist, and my vision of the future is bright. I believe that people in our industry will be able to step up solve this problem and ultimately any other challenges we face. I'm going to be continuing to keep a close eye on things as they continue to evolve.