If you write code, you're a programmer. If you start ventures, you're an entrepreneur. Simple, right? But what are you when you're obsessed with experimenting with every new framework that hits Hacker News?
I've spent over a decade being that person – the eternal tinkerer. Back in university, I thought chasing every trending technology would give me an edge. Now, with the rise of AI and LLMs, that same curiosity has evolved into something far more powerful.
Here's the thing: While Xitter is flooded with grifter predictions about AI replacing developers, I'm seeing something different. The new tools are insanely awesome for starting new projects. After building documentation platforms, Xero tools and new backend frameworks, I've discovered that AI isn't our replacement – it's our pocket junior developer. One that never learns, often surprises, and completely changed my approach to building prototypes
Bits in memory Customer pain
|----------------------------------------------------------------|
Solving problems with computers has been shifting right from low level abstractions over hardware to high level conceptual solutions. Hardware solutions were replaced with general purpose languages. Languages became business oriented (COBOL). Computers got fast enough for dynamic languages. Platforms for massive distribution became a thing (web, phones).
In October 2021 the next big thing happened, the release of github copilot. After a couple years with this AI sidekick, I think we can clearly see this as yet another shift from lower to higher levels of abstractions.
What does this mean? More than ever, it’s important to take on a senior mindset. Coding with AI by your side is like working with a really terrible Junior engineer that never learns. Sure, you can type a lot less lines of code, but get ready for some pretty weird interpretations of requirements. Your challenge becomes structuring your system in such a way that you need less code. Code is so easy to generate you need to push against this influence of the coding copilot. Less code to solve a problem is always better than more code.
Really understanding the problem you are solving has always been important. Now understanding the problem might be the only thing left for us to do.
Exploration Legacy
|---------------------------------------------------------------|
Grifters on the internet will tell you that AI is replacing us, that you should buy their course and change careers. New AI tools can be great for exploring a problem space and building prototypes. The grifters are wrong in general.. When software actually becomes more valuable and legacy, then the effectiveness and usefulness of AI falls off a cliff.
Software runs through this lifecycle forever
Starting something new, the most important thing to do is get your solution in front of the people who are trying to do the job with it. Things move on, and code runs for months and years, it shifts towards a state of optimization and happy legacy. Once that legacy becomes too difficult to maintain, and everyone who worked on it is dead a slow rebuild happens. You pull out threads from the wonderful legacy system and build little components to explore solving the problem again.
Where does current AI fit into the paradigm?
Copilots and agents for coding are insanely biassed towards the getting started side of the spectrum. If you point an AI agent at a legacy codebase you are in for a surprise. You get a confident tone and a completely wrong solution
Frameworks have a similar value lifecycle. In the beginning they provide guard rails to your development. They prevent solving unimportant problems like authentication. Within a year, most of that value is gone. You start to build your own abstractions. After 5 years, that framework is probably completely unrecognisable from an application written with a custom framework.
Software in the exploration phase may have great potential for value, but this will never get close to the value of a legacy system. A back office cobol program that clears and processes transactions between banks will be more impactful on a bottom line than another react native app for showing your balance.
This old curmudgeon of a developer is enthusiastically trying all of the AI tools. Just like 10 years ago, I keep a keen eye on hacker news for the latest and greatest. My scepticism levels are higher than normal, and I think the most important problem to solve for AI tool builders is to convince me they do not suck at legacy software.
If you are just entering the industry, or thinking about it.. Heed my advice. Take up the AI tools, and experiment with the new. But also, do not take serious account of AI grifters and doomers who might say that the end of our industry is just around the corner. We can have fulfilling and fun careers building really valuable software with copilots and agents at our side.
Technological progress has not been a constant in the world, but throughout my life and yours it will be. We either ride the wave, or we take up new careers. Join me on the adventure, I really look forward to what 2025 and beyond holds for our industry.
As always, if you’re interested in semi-non-regular emails about my thinking, you can sign up to the RSS feed on this site or put your email in the box below for updates.
Peace & happy coding.