Future of Coding
Thoughts on how software engineering will evolve in the age of AI, and what skills will matter most.
Hi. I’m doing an experiment right now. I just started a timer for 20 minutes, which I promised myself should be enough to put all my thoughts into this draft and hit the publish button. I’ve realized that the main barrier preventing me from publishing my thoughts online is overthinking and planning. I’m trying to go against my usual flow, so I’m hoping this comes out good enough for people to care and read. If not, that’s okay. It’s a good exercise for me to slightly improve my thinking on a topic I deeply care about and, honestly, find very personal, considering I’ve been coding since I was 14.
Now, it won’t be a surprise if I tell you that our job as software engineers is changing significantly, and the way we build software is going to be transformed almost completely. It used to be that writing code was the highest leverage job, one you could sell in exchange for a lot of money—hence the high salaries in the tech market. However, this is now changing. Intelligence is becoming cheaper, which means more people have access to it for free or at a fraction of the cost. Writing code as a high-leverage skill is losing its edge.
This brings me to the main question that prompted this post: as a software engineer, what should I do now to survive this transformation? How can we, as software engineers, stay relevant and be better prepared for the future? If you’re like me, someone who loves programming and wants to continue doing it for life while making a living out of it, this has become an existential question. Here’s how I think our field will change and what we can do to stay ahead.
Generalists are going to rule the world, overtaking specialists who used to spend days bragging about their code quality and standards. We won’t need expert artisanal crafters who focus solely on coding style and standards.
Backend and frontend engineering will merge into what I call AI-powered engineering—engineers who know how to use AI to solve technical problems efficiently.
System thinkers will thrive because they can see the big picture, identify the right building blocks, and ask AI to solve the details for them. They will then use AI to glue those blocks together into a final product.
The real moat in software engineering is no longer about whether you can write code; it’s about whether you can define the right requirements for the problem at hand. Can you ask the right questions? It’s no longer about "Can you code?" but rather "Can you think?".
System thinkers look for patterns and relationships instead of isolated events. They understand how changes in one area can affect others and how different elements influence each other. They take a step back and see the bigger picture of what they are building.
We, as software engineers, will become managers of AI tools and protocols, orchestrating AI-driven workflows like conductors. Instead of using high-level programming languages to build artifacts, we will leverage AI agents and tools to create whatever we envision.
You might be thinking, "But I get a lot of intrinsic value and fulfillment from writing code at work. How will I get that now?" Honestly, I don’t know. But what I do know for sure is that humans love to use their creativity to solve problems, and we never run out of novel challenges. I have yet to live and see what that looks like for me.
The timer is off. Yes, it took me 20 minutes to finish this post. Apparently, it’s doable.