My dad was a software engineer for 50 years. He once told me, "every ten years the software industry fundamentally shifts. Some people adapt and start making more money, but there's always jobs available for those that don't want to adapt."
In his career, he saw this many times. It's happened to me as well. When I entered the software industry, my company was one of the last to migrate from a data center to the cloud. My role quickly shifted from throwing things over the wall to ops to taking care of ops myself. We still had ops people in our company, but fewer than we would have 10 years prior.
The devops movement, which I see as a collapse of the roles of "dev" and "ops," is mirrored in the more subtle collapse of "dev" and "qa." In my most recent two roles, there are no manual qa people. Instead, I am responsible for the quality of the work I produce and any bugs I release to production.
This is happening to me now
I scorned AI until an engineer I respect (hi Bri!) said that she adopted it and it made her more effective. I gave myself a week where I solely prompted Claude to write code for me. My results were disappointing.
It felt a lot like the tale of John Henry, a railroad stake driver who challenged the machine. After a full day's labor, he beat the machine in driving stakes over the mountain. Exhausted, he collapsed on the ground and the machine kept going.
I write better code than AI. It's more maintainable, better abstractions, better names, and more readable tests. Claude is better at staying engaged and coming back to solve the problem with fresh energy. I used to pride myself on that. Together, Claude and I make a good team because I have shifted from author to reviewer.
I'm currently straddling two high priority initiatives. A week ago my meeting schedule was too full for me to get much done on either. I made progress on both initiatives by prompting an agent to do fine grained, specific tasks in the 5 minutes between meetings. By doing this, I was able to meet deadlines I thought I'd have to push back.
I still write a lot of code. There are some problems it seems AI simply cannot figure out. But my role is different than it was two months ago and I'm more effective because I embrace that fact.
No, AI won't replace you
Higher level languages didn't decrease the number of software jobs available. Neither did OOP, the cloud, CI/CD, or any other scary new concept we've seen over the years. AI won't decrease the number of jobs available either.
How to adapt
- Set up a good agent into your current IDE. Claude is a solid choice.
- Give yourself a week where every line of code you output comes from a prompt.
- Learn from what works and what doesn't.
How to not adapt
It's hard to see the future, but there are a couple of things AI appears to be bad at where you could excel as a dev.
- Become an expert in an ecosystem (cloud, programming language, etc.). While it has an approximate knowledge of everything, it is bad at esoteric issues.
- Work at a company which can't expose its data for regulatory reasons. Governments, health insurance agencies, etc. may have to rely on good developers that don't want to use AI. This happened with the Cloud and appears to be happening now.
- Just wait and refuse to adopt it. This shift has only been going on for a couple years. You have time to adopt it later if you need / want to.
Conclusion
Don't worry about your job. Decide whether you want to adapt and position yourself accordingly.
Top comments (1)
AI won't decrease the number of jobs available either.
AI isn't taking jobs because it can replace people. But it already is taking jobs because its investment cost replaced human paychecks. It takes a long time for rich people in the position to make decisions to realize they make mistakes. It takes even longer for them to mitigate their mistakes. And in cases where it's too costly to admit mistakes, such as with cryptocurrency, they will keep finding ways to justify the investments and the bloated value of the vapor assets they procured.