These days, it seems like all you need is a Twitter following or a TEDx talk to call yourself a futurist. But Tim O’Reilly — the founder of legendary tech learning company O’Reilly Media — is not that sort of guru. His thoughtful observations on computing trends, and his advocacy of open source (long before it was considered cool) give him street cred to spare.
So when Tim O’Reilly recently commented about the future of the software industry, professional developers took notice. Here’s what he said:
“I think the golden age of the last couple of decades where you can become a programmer and you’ll get a job… is sort of over. Programming is now more like being able to read and write. You just have to be able to do it.”
It sounds logical enough. In fact, you’ve probably heard other versions of the “today’s elite coding skill is tomorrow’s basic competence” argument. But does it really reflect the future of the software industry?
Coding as literacy
It’s hard to argue with the goal of code literacy. Even if you don’t plan to write your own software, there’s real value in understanding how code works. Even non-programmers could use the basic skills needed to build a website, draw conclusions out of a mass of data, or automate simple tasks. And who doesn’t spend the day in the warm embrace of the Google, Facebook, or YouTube algorithms? Programmer or not, understanding how the machines around us work is a valuable perspective when they’re shaping our lives.
The idea that coding is part of this new type of literacy — one that will eventually morph from a near-magical power to a routine human practice — is nothing new. But there are reasons to be suspicious. After all, it was only a decade ago that we were searching for science literacy, with the goal of giving average citizens the knowledge they needed to make decisions and choose leaders that could chart a sound course in a fast-evolving world. But the promise of science literacy didn’t really pan out. Today, the average person relies heavily on modern science that they don’t understand or don’t believe, from computers (quantum mechanics), to vaccines (genetics), to GPS (general relativity). If scientific literacy is a goal that was never realized, can we really expect coding literacy to fare much better?
Proponents of the coding literacy movement point out that reading and writing began as specialized skills, and took years to spread from scholars to the general population. (If you had predicted in 1620 that, in a few hundred years, even the most unambitious person would be able to write a grammatically coherent Facebook post, you would have seemed like a wild dreamer.) But there’s a gap between learning to write and being a writer. There’s a gap between learning about science and being a scientist. And there’s a gap between understanding the basic contours of code and learning to build complex systems yourself.
Our efforts to increase coding literacy do surprisingly little to prepare future programmers. In fact, we often steer newcomers away from the art of programming, and into tiny, restrictive sandboxes. In the past, those sandboxes were Excel macros and (if you had a bit more ambition) Visual Basic and Access. Now it’s Power Apps. The more things change, the more they stay the same — if you want to become a professional programmer, you still need to deviate from the standard educational path.
Modern education has lowered the bar to code literacy. But it hasn’t shifted the definition of what it means to be a career programmer.
How much is a coder worth?
The other part of Tim O’Reilly’s comment is more subtle. Simply stated, if coding literacy grows, will it threaten the privileged place of programmers in the workforce?
People have been making claims about the commodification of coding for at least two decades. Some of the programmers of today remember being told to study something more durable, like math, because the coding skills gap was about to close.
But here’s the flip side — a prediction without a timeline is really no prediction at all. Today, we have more programmers than ever before, and an army of overseas workers eager to fill our IT needs. There is no programmer shortage. But there is a skilled programmer shortage. And this shortage has proved itself to be surprisingly durable. Even as we’ve expanded traditional education (pushing STEM subjects deeper into the curriculum) and non-traditional education (with an explosion of project-based coding bootcamps), the skilled developer shortage has remained unchanged. The current estimate is that the shortage of programming talent will only grow in the coming years.
It’s easy to assume that the skilled programmer gap reflects a lack of expertise with new and emerging technologies, like machine learning and big data analytics. And while it’s true that developers in these areas are in great demand, that doesn’t seem to be the source of the shortfall. Instead, there’s a lack of skilled mid-level developers. These are people who have a command of coding basics but also understand effective teamwork, collaboration, and other soft skills.
Skilled mid-level developers combine programming skills with less quantifiable skills, like the ability to analyze big systems, debug real-world problems, manage projects, and talk to stakeholders.
In the future, newly minted coders may struggle to find work, depending on their local job market and their portfolio. But seasoned developers will remain a valuable resource for decades. Even the promise of AI-powered code generation tools won’t displace an expert who can navigate the interface between silicon reality and the real world.
Will coding skills someday become so common that programmers lose their pricing power? Maybe, but there are few signs of that today. The more obvious hurdle is that anyone who goes into programming in search of easy money will probably burn out before they get the experience they need to be successful.
The dawn of a new golden age
Tim O’Reilly’s quote hints at a future where programming skills aren’t a ticket to a comfortable career. But what if the golden age of computing isn’t about easy money and job security? What if the things we lose are actually less important than what we’ve gained in a half century of software development?
Over the years, coding has climbed a steep incline of complexity. But at the same time, we’ve been showered with riches — IDEs that catch mistakes, computing hardware that compiles in seconds, frameworks that automate the drudgery of common tasks like validating input and sorting lists. I can still remember the days where programmers had to hunt for information, and a reliable book on a subject like the Windows API was passed around the office and thumbed through until the binding broke.
Today, with websites of free tutorials, YouTube courses, Twitch coding streamers, and StackOverflow, the barriers to entry are all but gone. Instead of a wall of arcane knowledge scaring off beginners, we now have a community of experts who invite newcomers, and are eager to share the work on open source projects. If we choose our golden age by measuring the friction that impedes our ideas, this is the golden age.
There is no time in history when it’s been easier to transform an idea into a software project and share it with the world.
We can’t say when the golden age will end, but one thing is certain. The doors of the kingdom are still wide open.
For a once-a-month email with our best tech stories, subscribe to the Young Coder newsletter.