Kyle (Reese) was right
The future isn't written, but it probably still needs developers
Kyle Reese spent most of The Terminator warning people that the machines were coming, and nobody believed him. These days it feels like everyone believes him. Is the apocalypse really coming? Should I switch careers and take up carpentry (as one colleague suggested), or maybe I can just sit back and live on a basic income payment? These are all things that have been suggested as I talk with people about AI and what impact it will have.
Another colleague talked about how AI meant he didn’t get to know the code. My response was that I actually liked that AI took care of the small details. It allowed me to focus on the bigger picture: spend time thinking about system architecture, look to improve the system core with better testing infrastructure, and complete migrations that had been left to rot. Stuff there was never time for, because it didn’t make the company money right now.
It is hard to truly know where AI will be in 5 years; even 6 months is likely too far out for most to accurately predict. But while AI has taken a number of massive leaps forward over what it could do in the past, it is currently still a tool, a tool that needs guidance to produce quality work. I don’t see that changing. What will likely change is the skill set required in this new world.
I imagine the future will start to look more and more like my years as a Ruby contractor. The job mostly revolved around fixing broken codebases, and trying to continue building code on layers of decisions made without thinking about what had been done in the past, or what was likely to happen in the future. In most (not all, but most) cases the cause was simple: Ruby (and Rails) had sold themselves as simple languages that would allow anyone to quickly build a website with little to no experience. And so that was what people did… and the outcome? Well, badly architected systems that needed to be replaced and rebuilt.
This isn’t only a Ruby and Rails problem. They suffer more than most because of how easy they are to get started with, but I truly believe the people who built these systems could easily have built something just as terrible in another language if Ruby and Rails didn’t exist.
AI takes this a step further. People are now promoting systems being developed completely without any developer input, where features are just added, with no thought for system design or refactoring. It will work, AI makes that possible, but the same as any badly thought-out code, it will eventually collapse under its own weight of technical debt. Maybe by then AI will be good enough to fix the same problems that earlier versions of it created, but I still believe human input will be required in the technical aspects of building quality software.
In short, I don’t see my job disappearing anytime soon.
The future’s not set. There’s no fate but what we make for ourselves.
— Kyle Reese, via Sarah Connor, Terminator 2: Judgment Day
What I do see is change taking place in the IT industry. Being a genuine 10x programmer is now possible, with AI plus git worktrees (separate checkouts of the same repo, so several AI sessions can work in parallel) allowing people to work on multiple tasks at once. Whether that is worth the cost (AI models are not that cheap) is hard to know.
Now, when I talk to people about the future of IT, I wonder if I am wrong to think my job is safe, even as I optimise my workflow to reduce my input and maximise my output via AI. I like to think that I’m not. I like to think that what I do can’t be replaced by a machine alone, and that a lot of what I read is fearmongering. Maybe that’s what Kyle was really right about: not the apocalypse, but that the future isn’t set.