I have always bragged about belonging to the last generation that knows how to code, the generation that was around when generative AI and coding agents were just prototypes tied to research purposes. But I would be lying if I said I still write code by hand, or that I spend days figuring out what a function does and how to debug it. That time is now spent discussing with the army of specialized AI agents that I have, writing prompts, fiddling with MCPs, and reading generated reports and task markdowns.
What I wouldn't have believed three years ago is that I could build a completely functional application, ready for shipping, with no IDE installed on my machine. I used to think, "Yes, AI is advanced and can solve a lot of problems. It can help you center a div, autocomplete a function, write simple CRUD APIs. But the human is still important for managing directories and folders, running and testing the application, etc." But now, the human role is reduced to writing a prompt. Who knows to what extent it will shrink in the future?
This change can be noticed first thing when you start your computer. The first instinct of a developer used to be to check emails and the Kanban board, review the tickets he had, start up the IDE, and begin working. This has shifted to something completely different. Emails are now read and summarized directly by AI ("if it is not important, don't even mention it"), the Kanban board and tickets are injected as input into a prompt ("fix all the bugs"), and IDEs are nonexistent most of the time, replaced by AI agents.
Even as a freelancer or a developer working on personal projects, the first thing that comes to mind when you hear a requirement or a task is how to translate it into a clear prompt, so your AI agent can understand you and provide the best results. We no longer think about the process and the technology; we think about the best way to delegate the work to the agent.
And this, by the way, is not cheating or laziness; it is a natural thing. Humans have always chosen the path of least effort to solve a problem or accomplish a task. In psychology, this is called cognitive offloading, where the brain tries to preserve energy by delegating tasks to other parties, in this case AI.
But train the machine, and it learns. Rely on the machine, and you forget.
On the other hand, we should also be willing to accept that we are losing a role. The software developer role will no longer exist in the future, meaning someone whose whole responsibility is to write and ship code. The gap between code and stakeholders, or people with no coding background, is slowly closing. People are now starting to learn how to talk to AI, and that is totally normal and should be accepted. We've lost a lot of roles in the past; Knocker-up, Lamplighter and even Human computer used to exist in the past and soon Software developers. I read somewhere that in the future people will be looking at code the same way we look at the pyramids, and ask how we were able to write and understand such sorcery.
At a larger scale, shipping code is different. You need knowledge to ship a robust and fault-tolerant architecture, and that knowledge comes from experts. AI will help you build and deliver, but if you are immune to learning, you won't be able to understand how it works, let alone maintain it. And this is what is not normal. Our brains are becoming so deeply infected by cognitive offloading that we are starting to think every single task should be delegated to AI.
I tried to find a proper analogy for what our brains are becoming, but the only one I could think of is this: our brains are like spoiled iPad kids. All they ask for is the iPad and the games on it (in our case, the short content on the web), and whenever they are asked to do something, they start crying and delegate it to their moms. And that is where the nuance starts to get clearer.
A software engineer is not someone who only writes code or fixes bugs; they are the ones who define the architecture, set up the foundation of a project, define the boundaries, and communicate the solution. Hiring a developer who relies heavily on AI, especially in small environments, is like hiring someone who takes the food from the plate and puts it in your mouth, something anyone can do, even you. Hire a software engineer instead, and you make sure the food itself is good.
So here is my call, first to myself and then to every software engineer reading this: dust off your IDE.
I am not asking you to give up your agents or go back to writing everything by hand. That would be nostalgia, and nostalgia is not a strategy. Keep the army of agents, the prompts, and the MCPs. But open your IDE again. Step through a function with the debugger. Read every diff line by line before you accept it. Take the hard bug and try to solve it yourself before asking the machine. Build something small, from scratch, with no AI, just to remember what it feels like to understand every line.
The IDE was never just a place to type. It was where we built the mental model of what we were shipping, and that mental model is exactly what an engineer is paid for. Let the machine carry the typing, but never hand it the understanding. The day you can no longer explain your own system without a prompt, you stopped being the engineer and became the proxy.
AI will keep getting better, and the role of the developer may keep shrinking. But the engineer who can design, judge, and maintain will always be the one who makes sure the food is good. So dust off your IDE. Not because the machine needs you to write the code, but because you need to stay someone who can.
