A new programming paradigm
Created:Last modified: 16 Aug 2025 see history
englishsoftwaredevelopment
During the last decades, countless of software engineers have claimed a new paradigm has arrived. This has happened with object-oriented programming, extreme programming, and Test-driven development, just to name a few.
How programming has changed #
Of course, OOP, agile programming, and TDD have been a help in the process of creating and maintaining software, but at the end of the day, a programmer would sit in front of a screen and write code. The only aspects that have changed are the organization of the code they would write, if the goal is to complete a task or a story, and if they would write a test (and may be if test should be written before or after the logic itself).
This routine of writing code changed dramatically this year, all because of "agentic coding tools" or just "AI coding tools".
The decade of AI #
Back in 2021, GitHub announced GitHub Copilot. Initially, the tool was not very smart but the continuous improvement of LLMs have made it very useful. I personally began using it for production code a couple of years ago.
On November 2022, OpenAI launched ChatGPT. This milestone was mind blowing. I remember a co-worker at that time pointed out that "this is just an LLM; not a big deal". I disagreed back then and I still disagree. I think this is a milestone of computing. Even when GPT-3.5 was just high school smart, it was impressive enough. If the 80s was the decade of the office computer; the 90s, the one of the home computer; the 2000s, the one of the Internet; and 2010s were the years of smartphones, the 2020s would be remembered in the history of computing as the decade of AI.
This year, 2025, specially because of the launch of Claude Code, the whole programming paradigm changed. If GitHub Copilot allowed the programmer to have indeed a copilot, tools like Claude Code became the pilot and the programmer moved to the copilot seat.
Vibe coding #
I don't really like the term vibe coding. The vibe part implies that we don't really care what the coding tool is doing. We just describe the features and we just let the vibe of the AI coding tool to generate whatever it finds the right solution for our problem.
Of course, this is technically possible now days, but it's not wise. In my experience, Claude Code -with its current models like Claude Opus 4.1 and Claude Sonnet 4- produces code which is usually 90% correct. The big problem is the rest 10%. If the programmer is not able to detect these issues, the buggy code can accumulate.
The danger of vibe coding is similar to what would happen if engineers approve all code reviews from junior engineers without any critical view. Current AI tools produce code a junior or mid-level engineer would write. That's also why I think we will not have junior engineers anymore.
We still need senior engineers, tho. People with the experience to review and correct the code the AI tool is producing.
We still need senior engineers, for now.
- Previous: How to use App.config in .Net Core