First off, I’m sorry for the lack of posts recently- i’m working on a longer piece that’s taken me a few weeks to put together, and I want to finish that up before working on any new stuff. But here’s an idle thought that I had recently, and others have ruminated on as well:
There’s general consensus among the tech world (and, increasingly, in the broader world as well) that coding is the new literacy. To be code-literate improves your job prospects in nearly every field, and many of tomorrow’s jobs won’t be defined by titles like ‘programmer’ or ‘software engineer’ but instead will take those skills for granted (see job descriptions like ‘UX designer’, for instance). This hasn’t been lost on me, as I’ve been spending a good amount of my time since leaving Backtrack working on my own code literacy. But there’s an important difference between prioritizing code proficiency as a tool (which I think is the correct approach) and our educational targets for more STEM graduates- which in my opinion isn’t necessarily wrong, but misses the point in a dangerous way.
You may recall a post I wrote last year after having spoken to the Canadian Council of Academies about STEM education in Canada, where the council had come in with the 100% predetermined mindset that in order to be competitive in today’s economy, Canada needed to produce more STEM grads. They were quite surprised when I, along with all of my fellow panelists, reflexively distanced ourselves from the STEM label and instead played up our ‘softer’ skills like creativity, design and communication. When asked to explain ourselves, I wish this thought had already been tweeted by the ever-quotable Startup L Jackson:
Just as the rise of factory automation and robots has allowed today’s auto worker to do work that used to take twenty, today’s great technology companies are being built by fewer and fewer employees. IBM has nearly half a million employees; Facebook (at 1.5x the market cap) has around 9,000. It has now become so easy (not in terms of effort, but in terms of raw materials, capital and employee hours) to build a product with millions of MAUs that the limiting factor holding back growth isn’t the ability to build- it’s figuring out what to build, how and why. If you’re fortunate enough to find really good product-market fit, odds are that you can now scale that company with a few orders of magnitude fewer engineers than you used to need:
My point here is not that STEM skills are no longer necessary, or that in the future we’ll only need a small number of software developers- quite the opposite. Code literacy is a critical thing to have, but my point is that it won’t be enough. Having STEM skills without the ability to communicate, think creatively, and create well-designed solutions might be the 21st century equivalent of 15 years’ experience on a factory floor.
So if you’re a STEM grad and want a job building the future, I’ll put it this way: you’ve got two options. You can compete purely on your ability to produce high-quality code, in which case you’ll be fighting with every other 10xer on the planet to work at companies that require ever-fewer of you to grow. Or, you can compete by being creative, knowing how to communicate, and figuring out what to build next. That’s where the job opportunities are unlimited.