Yes, you read that right. AI is a drug and we're quietly but consciously ignoring the side effects. Don't get me wrong, I'm not the usual doomer saying that AI is the worst thing that could've happened to humanity. Personally, I use AI every day and it's a wonderful tool. The LLMs are something we kinda were dreaming about for a long time as developers and they can be fantastic. Instead of having to go and deep dive into Google and Stack Overflow for an answer, we can now just ask an LLM to give us the answer immediately. It has become so convenient, just like being able to ask a colleague about a particular issue rather than having to consult a 200-page long official documentation. But that's the issue - with convenience comes laziness.
If you've not been living under a rock for the couple of years, it has become quite apparent that AI is the "next big thing" in the human history. At least, that's what the market wants it to be. However, have you noticed the artifical push? Every new startup has to now have AI integrated in their product even if it does not make any sense to do so. Corporates requiring meeting KPIs for AI usage for software developers. I keep asking myself - has the world gone completely dumb already? One thing is what companies are trying to push, the second is what we're going to blindly accept as the new "industry standard". Apparently, it's now okay for anyone to mandate what tools should master craftsman use. Can you imagine hiring a bricklayer but then demanding he uses whatever tools YOU give them? Insane, right? It's the same for any other profession, especially software engineers. Writing code has never been the true bottleneck, thinking and problem solving was.
I get it. Software engineering is very difficult to get grasp of if you're not an actual engineer and that's completely okay. Software engineering is a wonderful mix of technical aspects meeting human creativity, leading to absolute wonders of the world. All of the modern inventions started as an idea in the head of brilliant minds, including the innovation of LLMs. There's one thing they had in common - freedom. Freedom to pursue their interest, to go above and beyond. Now how does this correlate to the current AI situation you might ask? Look at how the regular workflow of a software developer changes rapidly. Before, we used to be a special breed that is keen of solving the most complex tasks, to create something wonderful, something that would make the world a better place. Now, we're slowly having this opportunity taken away. No more brain-tackling problem solving for days with induced frustration, no more enjoyment from writing the most ingenious lines of code we've ever written. No more pride in creating something ourselves that works. We're slowly losing the purpose of our work. We're erasing the process of learning from making mistakes and that's wrong.
With the push for AI-first development, we will start to get dumber. We will start to get addicted. Some of us can feel that already, including me. Instead of writing code we now have agents to do that. It's so easy to just ask an LLM for an answer or for a piece of code that represents the solution to our question, it's very addictive. And it's so accessible it has become the first thing we do when we hit a roadblock. Rather than becoming professionals, we're offloading the hard work of actual thinking to the agents because it's just so convenient. We're being pushed into becoming a manager for our agents rather than actually think about problems. And that's the issue. With any layer of abstraction, there comes a cost. If we stop writing actual code and focus only on architecture and agent coordination, we're going to lose touch with the solutions. We're going to lose the track of the codebase and our skills are going to atrophy. We are expected to become architects with agents replacing juniors and mediors but how can you become a capable architect if you never created something yourself? Being a competent engineer today means that you endured years (if not tens) of constant development, slowly making your way up the whole lifecycle. You know how to code, you know how to work in a complex system because you did that for years. It's obvious you'll be able to utilize agents very well as your small personal team. But what about everyone else? What about the future generation of engineers?
We're able to generate so much code now but who's responsible for when it goes wrong? Who's going to fix it? The agents? What if a human needs to step in? How can you fix something you don't understand? On one hand, we are pushed into implementing faster solutions, which inherently means more code generation. On the other, we're expected to take responsibility. Will you to take responsibility for something you did not create? I won't. When writing code, it's like a muscle memory. The line of code is the interpretation of your current mental model. When that relationship vanishes, it's like reviewing colleagues' work. It's mentally challenging and it takes up significant amount of time. That's always been the issue - understanding code that follows different line of thought as opposed to our own. And now, we're pushing that more and more without any second thoughts.
Writing a single line of code has never been cheaper and easier. Writing the right line of code is only going to become harder and more expensive. What is the solution to all of this? It's actually dead simple. Let engineers do their actual job. If they want AI, they'll use AI. Nothing is great if it needs to be pushed onto anyone to succeed.