I learnt to code around 2004 and started programming professionally in 2007. I never stopped.
Even between 2022 and 2024, when I worked as an Engineering Manager, I kept coding in my spare time, listening to podcasts, watching YouTube videos and keeping up with the ecosystem I've always been passionate about.
I love programming. Explaining to the computer what to do and how to do it is a joy that only those who do it can truly understand.
It has its challenges, but it's rewarding - professionally and financially.
Then AI arrived. And programming was one of the most impacted fields.
When I say AI in this post, I'm mainly referring to LLMs (Large Language Models) - such as Claude, GPT, Gemini and the like.
Programming became reviewing diffs
At first, I used AI sporadically. As the tools evolved, I started using them more and more.
I've used editors like Vim, VS Code and Cursor.
Today, curiously, my main tools are no longer a terminal + editor/IDE, but rather terminal + a Git GUI app, which I used to open every now and then... now I use it more than the editor!
On the terminal, tools like Claude Code, Gemini CLI and similar ones are the stars of the moment.
I've reached a point where it's rare for me to open the editor to change anything. Even for simple changes, I prefer to ask Claude Code and then review what was done via git diff.
Git has never been so important
I've always used Git. But when using AI to create or update code, Git has become even more essential.
When something I'm working on isn't trivial, I ask the AI to make changes step by step and, after each interaction, I stage the modified files to review what changed.
I only make a commit when a self-contained change is ready.
Git has become my layer of control over the AI.
Even the AI configurations themselves - prompts, agents, skills, Claude or Cursor settings - are versioned in a separate private repository.
I started using AI for everything. Productivity skyrocketed, but my satisfaction not so much
For most of last year, everything seemed great. I even laughed at this meme:
Me watching the LLM do the job I used to love
I laughed and agreed, but I didn't imagine it would hit me later.
Today I'm clearly more productive with AI. I deliver more.
The code quality tends to be better (of course I still review everything the AI does).
Clients and companies are more satisfied, after all we're delivering more in less time.
Even the famous Project management triangle seems affected.
Scope, time and cost have all improved simultaneously, without affecting quality - something we've always been taught is impossible.
Of course, quality still depends on how the AI is used and reviewed, but the gains are undeniable.
The so-called vibe coding hasn't yet reached the point of leaving everything 100% in the AI's hands without supervision, but the trend is heading that way.
And yet, something bothers me.
We're outsourcing our brains to LLMs
I feel less challenged. Before, when a dependency was updated, I would:
Read the Changelog
Identify breaking changes
Analyse the impact on the project
Adjust the code manually
Today, it's far more practical to ask the AI to do it.
It'll probably do it better and in a fraction of the time.
So why would I do it manually? That's the bit that gets me.
Using AI or not is no longer a personal choice.
Not using AI means falling behind, becoming outdated.
The thumbnail for this post was generated by AI. The content was reviewed by AI. We're not going back to the way things were before.
The new role of the programmer
In practice, my job today is:
Understand the problem or requirement
Discuss with the team until we align on a solution (high-level, not necessarily how the implementation will look)
Think about UI and UX
Plan integrations with existing systems
Write a Jira card
After that, I send all the context to Claude Code and use Agents, Skills, MCPs and the like to execute.
Even tasks involving multiple repositories - something common where I work - are handled quite competently by AI.
Even commit messages, PR titles and descriptions, and Jira cards often go through the AI.
I know it'll write them better than I would.
Day to day, what I do is review, simplify and adjust what was generated.
Sometimes I fix details in the code or documentation. But the hard part has already been done.
And I increasingly have less desire to do it manually. I can't even be bothered.
This leaves me with the feeling that I might be getting dumber, since the challenges are much smaller.
Loss of skill - or evolution?
For a while, I was hesitant to admit that I use AI for everything.
When I don't use it, I feel unproductive. Talking to other people, I realised I'm not alone.
I'm not doing anything wrong. I'm pursuing productivity. Right?
Even so, the doubt arises: will I lose my programming skills?
At least in the form they existed until now?
Perhaps.
But so what? AI will keep evolving.
I'm still needed to review, contextualise and ensure the result makes sense.
I'm not worried about losing my job - that's another discussion worth having (let me know in the comments how you feel).
My concern is different: my professional satisfaction.
Programming has always been something I loved. And now that's changing.
Not necessarily for the worse. But it's changing.
AI made me 10x more productive... and 2x more insecure
Sometimes I catch myself wondering if we're heading towards something like
Idiocracy - an exaggerated film, but with a grain of truth.
I'm not afraid of machines taking over everything and/or replacing us.
I still feel useful. What worries me is the transformation of the joy of programming.
Everything changed so fast. Think about what it was like 2-3 years ago.
It'll never be the same again.
Maybe I sound like an old man yelling at clouds. But the speed of change is staggering.
And it'll continue, because there's too much money and interest involved.
I'm not against AI - quite the opposite. I use it extensively. I advocate for it. I recommend it.
But I'm also trying to make an honest analysis of what's happening.