A few years ago, Anil Dash wrote an influential piece advocating for what he called “blue-collar coding”:
High schools have long offered vocational education, preparing graduates for practical careers by making them proficient in valuable technical skill sets which they can put to use directly in the job market right after graduation. Vocational-technical schools (vo-tech) provide trained workers in important fields such as healthcare, construction trades, and core business functions like accounting. For a significant number of my high school peers, vo-tech was the best path to a professional job that would pay well over the duration of an entire career. Now it’s time that vo-tech programs broadly add internet and web technologies to the mix. We need web dev vo-tech…
Put another way, our industry can grow in a very meaningful way by giving lots of young people at a high school level the knowledge they need to learn jQuery straight out of high school, or teaching maintenance on a MySQL database at a trade school without having to get a graduate degree in computer science. That’s not to say that CS students aren’t also important — we’ll need the breakthroughs and innovations they discover. But someone has to run that intranet app at an insurance company, and somebody has to maintain the internal iOS app at a law firm, and those are solid, respectable jobs that are as key to our economy as a 22-year-old trying to pivot and iterate their way into an acqu-hire.
I think this is really smart. The one qualm I’ve had about this idea is that when people use the phrase “blue-collar coding,” there’s often an implicit assumption that blue-collar coding jobs would be silo’d off from the highly skilled developers who create the software, frameworks, etc. that everyone else uses. As Dash himself wrote in a more recent piece:
Applied CS over theory: A lot of yesterday’s computer science programs emphasized abstract concepts that could often be hard to translate into practical impact. Given that more students have access to technology in their everyday lives than ever before, recontextualizing CS education to connect directly to the tools and devices they already use can ensure that what we’re teaching is relevant. By analogy, we’re going to need a lot more electricians than electrical engineers, even if we know that the two related disciplines are both important and valuable.
The problem with this analogy is that nobody expects any electricians to become electrical engineers, just like no one expects some construction workers to become architects.
I think we want to try to build a tech job ladder that’s more like the restaurant industry. It’s not uncommon for a great, influential chef to have started their career washing dishes or peeling carrots and then worked their way up.
I’m not saying blue-collar coders should aspire to be a tech celebrity chef; people should be able to have a great career that affords them a middle-class life without needing a CS degree. But I do think we should build a pathway that’s more fluid and that encourages more mobility.