From autocompletion to agent-assisted programming

I bit my tongue. Sometimes we see things succeed, sometimes fail, sometimes we hype, and sometimes we let go. It's not uncommon to try and make predictions about the future, we are humans and we want to be secure in the middle of changes and possible outcomes. These last years, I've got amazed by how far we have come in the AI landscape.

Back in 2022 or 2023, I had my first experience with AI assisted development. It was a simple autocompletion tool that suggested the next line of code. It wasn't very accurate, but it helped a lot with some repetitive tasks. When a pattern repeated itself, the suggestions started getting more accurate and helpful.

Over time, the worry about AI replacing developers started to increase. People were discussing about it across the internet and many opinions and predictions started to emerge. I knew tech would always be improved over time as it always had and the voices sounded like prophets of the apocalypse.

Many gurus claimed that the development skill/knowledge wouldn't be necessary anymore, I just could not agree. I truly believe knowledge is valid, important, unmeasurable, and it is the only thing one cannot take from you. How useful it is, only time and opportunities will tell.

Unlike traditional tools that improve a process, AI has some sort of randomness, it is not deterministic. Sometimes it suggests the right thing, sometimes it suggests the wrong thing. It may be used to inspire to go further, it may be used to make one lazy. At the end of the day, it is a tool and it depends on the user to really know how to pilot it, the user must know how to make changes by hand and attack very specific problems when necessary.

The main issue I see with beginners relying purely on AI generated code is not understanding fundamentals, not knowing what to change, sometimes not knowing that what the AI generated is wrong or suboptimal, wasting tokens, wasting time, wasting money. As I mentioned before, AI is not deterministic, so, if people don't truly understand what they are doing, they won't be able to make the best out of it. I still believe that writing code is a kind of art. You may be a beginner, you may be an expert. But, at the end of the day, it is still a human activity that requires creativity, problem solving and attention to detail.

Don't get me wrong. Use it, but learn from it, don't be lazy. Use it to expand your horizons, don't run from the effort of thinking.