The paradox of AI in web development

The paradox of AI in web development

Since the start of my career as a developer, I’ve seen a lot of changes. From the rise of Dreamweaver with a WYSIWYG editor for generating table code to the arrival of jQuery and professional frameworks that completely transformed web development. Nowadays, there seems to be only one buzzword everywhere: AI. And AI has turned my work upside down once again.

My work has changed completely. Where I used to be a PSD-to-HTML developer, then a jQuery or Javascript framework developer, now I feel like I’m becoming a prompt engineer. Or maybe this is the moment when my role changes so much that I won’t even be needed anymore. In this new blog article, I take a closer look at the changes of the past few years and try to predict whether my job is really at risk.

AI changed my career

How I used to work

Back in the day, I could spend hours trying to solve a single problem. Sometimes I’d get completely stuck on an error message that just kept coming back. I would dive into documentation, try countless variations of code, ask for advice on forums, and experiment endlessly. It was frustrating, and often it felt like I was hitting a brick wall.

But that pain of debugging was valuable. By struggling with a bug myself, I didn’t just learn what went wrong, I also learned why. I began to truly understand the frameworks and tools I was using, and bit by bit I figured out what was possible and what wasn’t. That knowledge stuck. Years later, when I came across similar problems, I knew exactly how to fix them. The experience of searching, failing, and pushing through was at the core of my learning process.

How AI changed my workflow

In recent years, AI tools have been rapidly integrated into my workflow. Where I used to rely on Stack Overflow, JavaScript or Java books, framework documentation, plugin manuals, or simply trial and error, I now have tools that generate and integrate code for me. They ensure I can always deliver working code (I deliberately don’t say correct code). Tools like GitHub Copilot, Cloud, and ChatGPT (among others) allow me to produce cleaner work more quickly, often without having to think as much. From a productivity standpoint, it feels ideal. Sometimes it even feels like I’ve gained a senior colleague—one who helps with complex as well as repetitive tasks, is always available, and gives me answers in seconds instead of hours.

But there’s also a risk hidden in this new workflow. AI can provide solutions, but it often ignores the project’s context: architectural choices made by the company, unwritten rules like code style or naming conventions, or existing features with acceptance criteria. Supplying AI with all that context and instruction can sometimes take more time than the development itself. The way we learn and work is changing drastically as a result. And more and more, I find myself wondering: are these tools helping me grow as a developer in the long run, or are they quietly getting in the way of the endless learning path that made me who I am?

The gap between experience levels

Not every developer experiences AI in the same way. The impact differs greatly between juniors, mediors, and seniors, and that’s important to understand when looking at how our profession is changing.

I’m not usually a fan of putting developers into imaginary boxes, but when it comes to AI usage, experience levels – and thus this categorization – become very visible. To illustrate, I’ll divide developers anyway. My definitions: juniors can handle simpler tasks (with help) if given clear instructions, mediators can do that independently, and seniors look beyond the task itself.

Juniors: limited foundational knowledge

For juniors, AI can play a double role. On one hand, it’s an enormous help: they can generate code quickly, get answers to questions, and even tackle tasks that would have been too complex before. On the other hand, the risk is that they miss out on the moments of struggle and discovery that are essential for real learning.

When there’s a bug, a junior often doesn’t know where to begin. Because they didn’t write the code themselves, they lack the overview and insight to debug effectively. Their learning curve risks flattening completely: little to no real experience is gained.

I see this too often: juniors copy snippets into their projects, it works, the product owner is happy — but the understanding of architecture, constraints, and implications is missing. If you ask critical “why” and “how” questions during a code review, they often have no clue. AI gave the answer, so it must be right… right? Here, AI is leading, and the junior is simply following.

That doesn’t mean AI is necessarily bad for juniors. For those who consciously engage with the output and actively try to understand why the code works, AI can actually accelerate learning. It’s like having a senior mentor available at all times. But the difference lies in mindset: do you use AI as a learning tool, or as a replacement for learning? That’s the dividing line.

Mediors: more productive but without growth

Mediors already have some experience and knowledge and AI can boost their productivity tremendously. Repetitive tasks, boilerplate code, tests and prototypes can almost entirely be handled by AI. The risk here is subtler. Relying too much on AI means practicing less with complex problems which can stall growth. Being productive is great, but the deeper learning, the challenges that actually develop your skills, happens far less often. Mediors often use AI the right way as a tool. But they do not always look beyond the immediate task. Instead of writing code that is readable, testable and easy to extend, that sense of ownership fades. AI takes the lead and the medior follows.

Seniors: more than development

For seniors, the impact is small. AI is a tool taking over boring tasks. In this dynamic, the senior is leading and AI is supporting.

The strength of a senior doesn’t lie in being able to write code faster with AI since we learned that juniors and mediors can do that too. Their value lies in filtering, nuancing, and asking the right questions: does this solution fit my project? Are all constraints covered? Does the code make sense? Are all our unwritten rules applied? Did we re-event the wheel or do we need to collaborate with another team?

The paradox of the gap

Juniors and mediors need AI to stay productive alongside their team, but with all the help AI gives them, they will never really grow. They remain dependent on AI and never truly become productive or take the next step. This creates a paradox: you need experience to use AI effectively, but you also need AI to stay productive in complex workflows. Without the foundational knowledge gained through struggle, AI can actually limit you instead of empowering you. Their productiveness is short term, and to have a real impact at any project they need to think long term.

We’re already seeing the downside of this paradox it in the job market. Companies don’t hire juniors or mediors for tasks AI can do, or that a business analyst or technical product owner could handle. At the same time, the demand for developers who can think critically and actually have experience keeps going up. Every bit of AI-generated code has to fit the project and the company, and only experienced developers can judge that. The crazy part? Many juniors and mediors don’t even realize they’re sidelining themselves by leaning on AI the way they do now. In a few years, they’ll be left behind, passed by a new wave of developers who actually know how to make AI work for them.

Will developers soon be replaced by AI?

Seeing myself delegate more and more tasks to AI, and noticing that juniors and mediors already outsource much of their work, I often wonder what my future will look like. Will I still be needed? Can AI fully replace me?

The short answer is: no. AI is a powerful tool, but it is not a replacement for developers. It can generate syntax and recognize patterns, but it doesn’t understand context: your company’s architecture, the political decisions made in the past, the technical debt you carry, or the long-term vision of a product. This is exactly where developers make the difference.

And perhaps even more importantly: Software development is not just about writing code. It’s about making decisions and solving problems. And that is the human-part of software development.

Conclusion

AI is here to stay, and for seniors it’s mostly a welcome addition. It takes away repetitive work and frees up time for bigger decisions. But for juniors and mediors, it changes the game completely. Juniors risk skipping the hard but valuable learning moments, while mediors risk getting stuck at their current level because they lean too heavily on generated solutions.

That creates a paradox: to become a senior, you need years of practice, mistakes, and discovery — exactly the things AI makes less necessary. Without that foundation, the next generation of seniors might never fully emerge. At the same time, companies already show less interest in juniors and mediors, while the demand for critical and experienced developers only increases.

So the gap grows. And whether that’s sustainable for our profession is something we need to start asking ourselves now.

Join the discussion

  • Chen posted on the 1st of september 2025

    This article really hit home for me. Just last month, I was mentoring a junior developer who used ChatGPT to scaffold an entire React component. The code worked, but when we sat down to review it, I asked them why they used useEffect in a particular way, and they couldn’t explain. It turned out they had copied the suggestion verbatim without understanding the lifecycle implications.

    That sparked a conversation about learning with AI versus letting AI do the learning for you. Since then, I’ve encouraged them to ask AI to explain the code it generates and to try writing it themselves first.

    AI can absolutely be a powerful co-pilot, but without a conscious effort to understand what it’s doing, it turns developers into operators, not engineers. Your description of this paradox - AI raising productivity while silently flattening growth, is spot on. I’ll be sharing this with my team if you are ok with it?

  • Sofia Ramos posted on the 20th of juni 2025

    I agree with most of what you said, but I’d add one thing: not all AI usage by juniors is blind copy-pasting. Some are incredibly curious and use AI to explore alternatives, test edge cases, and deepen their understanding. I think the bigger issue might be that companies don’t give juniors the time to struggle and learn anymore. With velocity metrics and sprint pressure, AI becomes a crutch out of necessity, not laziness. We may need to rethink how we structure junior roles in this new AI landscape.

  • Ava Mitchell posted on the 8th of juni 2025

    This is one of the most honest and balanced takes on the role of AI in modern development I’ve read. Too many posts either hype AI as a miracle or reject it entirely. You’ve articulated the nuance perfectly. I especially liked the point about seniors not being faster coders, but better decision-makers.

Leave a comment

Read more about:

10 JavaScript one-liners every developer should know

Code should be readable and pragmatic. For me, that means when I look at a piece of code, I should almost instantly understand what it does. Clear code always has good variable names, is predictable, avoids unnecessary logic, and lives in the right place within a project. But sometimes you need to do something a little complex without turning the rest of your code into a mess. That’s where one-liners come in. Small, pragmatic snippets…

Continue reading

The difference between debounce and throttle

Debounce and throttle are powerful techniques, but only if you really understand what they do. I often ask about them in tech interviews, and to my surprise, many developers (even seniors) struggle to explain the difference. The good news is: it’s actually quite simple. In this post, I’ll break down both techniques and share some practical use cases. If you are unfamiliar with the techniques and are asked about them too in your interview…

Continue reading

The bullshit of implementing web accessibility

What is WCAG? Before I dive into the details of web accessibility, let me explain in my own words what it actually is. WCAG stands for Web Content Accessibility Guidelines. It’s a set of guidelines designed to ensure that websites and web applications are accessible to everyone, including people with disabilities…

Continue reading