AI, as of late, is taking the blame for making junior developers “worse” at writing code, but in my 20 years of experience—junior devs have always struggled to code well. Well being the keyword. It’s not a new problem. The difference? AI is just simply just highlighting the fact.
For decades, junior devs have relied on Stack Overflow, online tutorials, and helpful senior engineers to guide them in their day to day work. AI tools like Copilot aren’t replacing deep learning—they’re just streamlining what has always been a part of the learning process.
Before the time of A.I.
I started coding before Stack Overflow existed. Back then, we had 10-20lb textbooks, binders full of half-legible notes, and forums where getting an answer could take days.
In 2003, this was the way. And for the most part, we made it work. You weren’t going to become the #1 ranked programmer in the world overnight, but you were going to learn about algorithms, data structures, operating systems, and a bit of SQL (a bit).
Then Stack Overflow came along—and guess what? It faced the same scrutiny that AI tools are facing today. Developers were supposedly getting lazy. Universities banned it. People claimed it would make engineers worse because they didn’t have to struggle as much to find answers.
Did enforced struggle make better developers?
Maybe. It’s hard to say. And honestly, whatever my feelings are on the subject might be way too subjective to define all developers.
But I will say this—even with all that “pure” learning, I was still a terrible junior developer.
And nobody I worked with was surprised or resented me for it. Because that’s just how learning works.
Companies don't normally give 20 million dollar projects to the new guy who struggled to configure his dev environment. That takes time and alot of trust.
Once I entered the corporate workforce though StackOverflow was everywhere. It was refreshing that we didn't have to read 10 year old forums written in a different language in order to find out how to use a function properly.
Did reading StackOverflow daily make me a better developer? Did it make me worse, because I was relying on somewhat opiniated answers? I don't know. Maybe the answer is a bit of both.
But the fact is, I normally just copy and pasted whatever answer I found and modified it until it worked for my use case. As did many of the other developers surrounding me.
The goal wasn't to master a programming language at the end of the day. It was to check off our to-do lists for the week and hope that we worked well enough to provide some value.
The role of senior engineers
For the first five years of my career, I relied heavily on the guidance of senior developers. Not just because they could code better than me—though they definitely could—but because that was only one part of the equation.
They had experience. They had done things with code that I was never asked to do in college or in any tutorial. And when it came down to actually getting my work done, that’s what I was missing.
I still remember the first time I had to remote log into a Linux server to configure some obscure network parameters for a website migration.
I was two years into my career. I had never remote logged into anything. The acronyms my manager was throwing at me might as well have been an ancient language. And my only response was "You got it!".
Lucky for me, a senior developer was sitting two feet behind me. He walked me through the entire process, step by step, after he saw me sweating in my chair for 2 hours.
And this pattern repeated itself alot through my early years.
There were even days where high priority tasks were due within hours, and my lead developer would take the chair, start typing at lightning speed, all while dictating their every move. While I sat there confused wishing the clock would strike 12pm.
All to say, that whether you're using StackOverflow, ChatGPT, Copilot or a forum post from 2001, it's all the same thing. It's a tool to help you get some task done.
The real learning and experience really comes from repetition and from the person sitting 3 feet away that's done what you've never done, and that will gladly take their time and show you the way.
Is A.I. Hurting or Helping More
I think the answer to that question depends entirely on the developer using it and what their goals are.
Not every developer wants to memorize every search algorithm, data structure, or encryption cipher. Many just want to build cool things, to the best of their ability, while earning a paycheck.
And that’s fine.
The truth is, AI doesn’t make bad developers worse—it just exposes gaps that were always there. A good developer will use AI as a tool to accelerate learning, automate the tedious, and improve efficiency. A bad developer will copy-paste blindly, just like they always have, whether from AI or Stack Overflow.
The difference between the two? Experience. Curiosity. A willingness to learn.
AI won’t replace real-world experience. It won’t teach you why something works or save you from a debugging nightmare at 2 AM. And it definitely won’t replace the senior engineer sitting next to you, showing you how things actually get done.
So is AI hurting or helping?
That’s not up to the tool. That’s up to the developer.
Originally published at https://www.thatsoftwaredude.com on February 24, 2025.
Top comments (18)
I think the trial by fire bar just moves, and honestly thats fine. 25 years ago shipping code was complicated, no git, little developer tooling and wildly non-standardized compute infrastructure
10 years later we had git, decent tooling and cloud.
The result wasn't better code per se, but we shipped a lot more of it and accomplished a lot more overall as a result.
This is much the same. Artisanal code/systems are simply too slow for many circumstances.
I think about this a lot. I first started tinkering with web dev around 2005, nothing serious just Dreamweaver and terrible MySpace templates. Back then it was enough just to have a website and be online. The rules on aesthetics and accessibility were very loose, if there were any at all.
But CSS/HTML/JS improved year over year. Devices changed size and mobile web became widespread. Social media became a dominating presence. Startups invested tons of money in UI/IX research and developing design standards (e.g. Twitter Bootstrap, Google Material Design).
The tools became better, faster, cheaper and easier and with each improvement, the expectations on web devs increased as well. 20 years ago, if you could build a website, put it online, and have it be half decent looking, you were ahead of the curve.
Now, it needs to work on all screen sizes, be optimized for SEO, optimized for accessibility, optimized for performance, look good, be easy to update by non-technical users, and about 100 other minimum specifications. If you do all of that, you’re just keeping up with the middle of the pack.
I don’t say any of that to complain or be defeatist. I love learning new things and solving new problems so web dev has been a very fulfilling career choice. But for those who don't enjoy those things, web dev and programming careers probably aren’t a good fit. Even with AI, it requires constant study, constant curiosity, and deep-down, some sort of love or passion for that feeling of writing code and seeing it come to life on a screen.
I don’t think AI is en masse coming for our jobs (yet), but I do agree it’s going to raise the bar of expectations for developers once more.
I typically use autocomplete tools, particularly Codeium, which is free. However, I would like to explore other tools that can help enhance my workflow. While I feel confident in my coding skills, I recognize that I need to improve my planning, documentation, and testing abilities. This will be my focus moving forward.
Could anyone please recommend resources and tools that I can utilize in these areas?
Best regards.
This might be a really basic answer, but I’ve found ChatGPT really useful for planning, brainstorming, and big picture type work. It gets some criticism for making mistakes when it comes to precision work, but I find it incredibly valuable when I need to plan things out, or get an overview of how something might work, or just get a jumping off point for some code that might be more specific than what I’d find by googling.
Autocomplete tools are to be used.
I needed this article. As a junior dev myself, I have always felt guilty every time I struggle to solve something and I'm too tired to use Stack so I use ChatGPT. But even in the short time I've been doing that, I've noticed that it's rare for me to feel the need to use AI for an entire project. I want to make something of my own that's new. AI can't do that. But it definitely helps me solve problems that others have had without either scrolling through thousands of answers on Stack. I just wonder what technologies will help the people who'll come after me and how I'll react to those technologies when I'm a senior dev
I really appreciate you for writing this article. This is highly motivating for someone like me who wants to start their career as a software developer but doubts their skills as they need to rely on various sources to solve their queries. But now I am a bit more confident that I would learn eventually through repetition and experience.
Happy to hear you found it helpful! It seems most educational systems are still very restrictive when it comes to how people learn. But really when you get into the corporate office, there are resources everywhere!
Tbh, this post really helped me get my perspectives set straight. In this advanced age, what I'm more afraid of is how things are going to turn out since everything is moving so fast, with new technologies popping up every day. As a junior dev, I'm so inspired by my senior devs, and I just want to be like them so badly. I know it can't happen overnight, but there's this anxiety in me that makes me feel really overwhelmed sometimes. This post made me realize that a lot of it is normal, and I can get through it with experience, curiosity, and a willingness to learn.
Very glad to hear you found it helpful! That anxiety is perfectly normal! It does time a relatively long time before you start to feel really comfortable working on large and complicated codebases. But eventually, if you give it time, everything just clicks. And it helps to know that the senior developers around you are usually never judging you 😁 they too were anxious once.
This is a great thought and I think that it will help students and juniors get away from imposter syndome once they realize they do know what to do. It just takes time and repition to really get it
Absolutely! Repetition and experience are key. The more you practice, the more second nature it becomes. It’s also helpful to look back at past work and see how much progress you've made. It’s a great reminder that growth is happening even when it doesn’t feel like it. Appreciate your thoughts on this!
I agreed! AI highlights the issue, but it’s part of growth.
I have been around long enough to have known plenty of Senior Engineers and Developers, both good and bad. One time I was asked to attend this meeting where a developer was trying to dazzle with a Rube-Goldberg of something that was built into the operating system. When I asked why he was doing it, he acted really snotty and behaved as though I was the one that did not know anything. When I pointed out the information he was unaware of, he complained to my manager and made sure that I never attended another of their meetings. What I learned is that no matter how new you think a developer is, he may know something that you do not.
Also, in 2003 I was probably the first to use multithreading for ASP Custom State Management. Being able to figure out how to do something is far more useful than being able to copy someone else's example. AI is a tool to help you code faster, not better.
The problem the author is defining is not actually about the struggle to learn to code well, but instead the effort and results from in depth research. The harder one has to work to research a topic the better that topic is learned. This has been an axiom in education for many years and the evidence is there to support it.
As newer learning tools came online, to a degree they reached happy medium before AI was a thing, whereby one still had to do a bit of research without as much drudgery but a topic was still learned to a point where one could use the results efficiently in their coding tasks.
However, this rather good balance for technical professionals started to become undermined beginning with Google's increasingly poor research results as they pushed more political agendas into their algorithms. Good manuals began to disappear as many authors turned to online videos as substitutes (and by the way, make for very poor learning experiences), and AI was thrown into the mix with somewhat devastating results.
On the one hand, the new AI models, especially in the United States, were mostly built with a lot of garbage data, leading AI algorithms to produce increasingly inaccurate results (this is becoming well documented), while younger developers began using these tools to replace their own development efforts.
The result is that as new tools come online their is a corresponding lessening of intelligence since such tools are increasingly being used as substitutes for real learning.
This situation has been severely exacerbated in the US' educational institutions whereby political agendas have overwhelmed good teachers, instructors, and professors to the point where the US is no longer producing competent professional personnel who are competitive on the world stage.
These forces have been just as damaging to new professionals to our own field and until younger professionals turn back their own clocks to study their materials with a regard for the "old ways" of actual study, this decline will continue...
Totally agree. Would like to share a story, which I know from the HR screening. There was a question for a candidate on how to solve... The candidate didn't know the answer, so they answered, Oh, I will ask ChatGPT.
But the question arises: if AI can solve this, why do we even need to hire you?