I apologise: today I am writing a longer, more serious post.
A dire future?
The AI Futures Project is a small research group that tries to predict the future of AI. It has written a terrifying forecast of the next few years. It reads like the sci-fi stories where robots take over the world.
If the forecast is accurate, there isn't much that we can do about it. Big tech and politicians will briefly control that future, and then AI will control them.
Let's focus on what's real, right now.
What about developers?
AI is transforming the software industry. Many developers worry about their job prospects. Companies think they can save money by replacing staff with AI tools.
I read two very good articles recently. Most people take a TL;DR (too long; didn't read) approach. So I'll share the links, and provide a short summary. Of course, that assumes you don't TL;DR this.
An identity crisis
The first article is The Software Engineering Identity Crisis by Annie Vella. Here's my summary:
- Software engineers have an identity crisis. You spent years perfecting a craft that is now done faster and cheaper by AI.
- Software engineering is more than coding. It is about solving problems, creating solutions, and building things that matter. This core is still the same.
- AI tools are just tools. They can help you by handling routine tasks, while you focus on the more challenging aspects of a problem.
- A recent GitClear study analysed 211 million lines of code. AI code generation has led to a significant increase in technical debt. The report reveals huge amounts of duplicated code, and an alarming decline in quality.
- People learn to trust one another over time as they work together. With AI, trust often starts high, but it erodes quickly. As a result, teams often perform worse with AI than without it.
- We need strong engineering fundamentals and deep technical knowledge to effectively review, verify, and adjust AI-generated code.
- This is an opportunity for software engineers. Instead of just coding, you have the chance to again focus on understanding the whole problem space.
The programming muscle
The second article is Why I stopped using AI code editors by Luciano Nooijen. It's easier to read.
- After 2 years of using AI to generate code and help with workflow, he stopped using these tools.
- In the beginning, he felt that AI helped him complete work faster. But by relying on AI tools, he began to feel less competent in software development.
- He compares this to driving a Tesla with self-driving mode. When he went back to driving a normal car, he had to relearn some basic driving skills.
- When you work with a language, framework or codebase for a long time, you develop a type of intuition about the best way to do something. This is what makes a senior developer. You lose this intuition when you rely on AI tools. Juniors can't vibe program their way to this.
- AI is useful for some things, but there are situations where it will not work or should not be used.
- If you want to become a programmer, learn to program yourself. Don’t become a forever junior who lets AI do all their work.
His conclusion: don't let AI replace your own thinking. Stay curious, keep learning.
What are your thoughts and experiences around AI in software development?