“… It's the end of the world as we know it
It's the end of the world as we know it
It's the end of the world as we know it and I feel fine”
REM. “It’s the End of the World as We Know It (And I Feel Fine).”
Document REM. I.R.S. Records, 1987.
It has been around 2 ½ years since generative AI, in the form of ChatGPT, erupted into the lives of those of us in the tech world. And since that time most of us in the tech world have been trying to understand how to effectively use generative AI, to predict its impact on our careers, to figure out the best applications for generative AI, and to otherwise wrap our heads around a technology that can feel so alien to everything we’ve known before in the software world.
In each of the last two years, NSS has run a survey of all of our working graduates to help us learn how much generative AI was being used as a tool to help software developers, data analysts, and other tech professionals in their roles. We’ve tried to follow the evolving literature on generative AI, we’ve been reading a long list of newsletters and blogs that focus on one aspect of AI or another, we’ve tried to keep up with the never-ending and rapid-fire product announcements from the major LLM vendors as well as the steady release of new generative AI-based tools for tech professionals.
And we’ve done all of that in the service of trying to answer one question - is AI taking our jobs, or not? Or, to reframe that question in slightly different form - should anyone be learning to be a software developer?
Those are pretty existential questions when your job is helping people acquire the skills to start a tech career as a software developer, data analyst, data scientist, etc. Well, the answer to the first question, at least in the long-term, is not yet fully clear. However, for the short to mid-term, there are a few things we feel quite confident about, a couple things that are still unclear, and a couple where we (and the industry) have no idea yet. And we are very clear on the answer to the second question. So let’s break it down.
"There’s a lot of chatter in the media that software developers will soon lose their jobs to AI. I don’t buy it. It is not the end of programming. It is the end of programming as we know it today.”
Tim O’Reilly, 2/4/2025
That quote from Tim O’Reilly sums up our belief at this point based on what we and the industry have learned from slightly over two years of experience in using generative AI tools to help us generate code and perform other software development tasks. The quote is taken from a lengthy piece on the O’Reilly blog that does an excellent job of making the case for why and how software development is being changed - but not eliminated - by generative AI. O’Reilly sketches the history of multiple generations of new computing and software technologies, almost every one of which was accompanied by predictions that programming would become less important, and which invariably turned out to increase our ability to conceive and automate solutions to problems we previously couldn’t address and therefore increased the demand for software developers. The result was always demands for more, not fewer, software developers. I highly recommend reading O’Reilly’s post if you’re interested in an up-to-date overview of these issues.
Our views are closely aligned with O’Reilly’s - in fact, in one of our earliest posts about generative AI we said:
As AI methods prove to add value in different industries and problem domains, we will see another explosion in new applications that can now be addressed that previously could not be addressed. We will also see next generation solutions to old problems where AI augmentation provides better solutions than prior generation applications. This translates into lots of applications that must be built by software engineers, which drives demand for more software engineers (and data scientists, and data engineers, and data analysts, and cloud engineers, etc.).
Are we seeing these predictions of greater needs for software developers translate into job market demand and job postings? At present it’s not clearly visible. There are glimmers when you start to examine detailed job posting data, but it’s still early days. And while our understanding of generative AI - at least as it relates to using it to assist software developers - is steadily improving, we still don’t have clarity on a number of important questions. How is it changing the skills and competencies that we need for new junior talent to possess? How do we need to upskill our current workforce so that they can understand the most effective and safe use of generative AI? How much overall net productivity improvement can we get from use of generative AI tools and changing workflow from our junior, intermediate, and senior level developer, analysts, etc.?
We are far enough into using generative AI tools to assist software developers that we can see some of the emergent patterns associated with effective use of these tools. We can also see patterns around how to prepare both existing professionals and tomorrow’s junior talent for success in the age of AI-assisted software development. And more and more is being shared by those getting the most experience to help the rest of the industry plan.
One great piece was published early this week by Addy Osmani. Osmani is a very experienced, and well known, software engineer, author, and speaker. He also heads Google’s Chrome Developer Experience organization and is authoring a new book on programming with generative AI tools. He’s published several insightful issues of his substack newsletter related to software development and generative AI which are all worth reading for those who want to dig into the current and evolving state of our understanding of these tools and the implications of using them. The most recent issue was titled AI Won’t Kill Junior Devs - But Your Hiring Strategy Might. As you might guess from the title, he’s not a believer in the ideas that a) generative AI will kill software development as a career or b) generative AI will eliminate junior developer jobs.
He does see generative AI changing the nature of junior developer jobs and the skill mix that junior developers need to bring to the job as compared to 2 or more years ago. And he cautions employers on relying on senior-only developer teams. Here are a few of the highlights from his newsletter:
“AI coding assistants are reshaping junior developers' daily work, automating tedious tasks and raising expectations for higher-level contributions.”
“Junior developers remain essential in an industry increasingly using AI for coding, but their role is evolving rather than disappearing.”
“Fundamental skills like debugging, code reading, system design, and communication have become even more critical for juniors as AI automates the easy parts.”
"Don't halt junior hiring – refine it. It might be tempting to freeze junior hiring in favor of senior experts plus AI, but that's a shortsighted strategy."
It’s really worth grabbing a cup of coffee and reading the whole thing. We’ve been talking about some of the same things with our graduates and community members on our podcast, Stories From The Hackery.
So yes, based on our own experience, we strongly believe in the continuing need to train new junior software developers. And we strongly believe that there will be jobs for new junior developers. Thankfully, we’re seeing more and more information being shared by those with the most experience in using generative AI to facilitate software development that reinforces our view and that helps us understand how to adapt our training to best meet the evolving needs of both experienced software developers and tomorrow’s junior talent.