Anti-AI
—
I want to keep this site clean of references of AI (besides this post) because there's already enough noise in this space. But because the industry is saturated with this, I kind of have to form own feelings on it, and I wanted a place to direct people when I'm asked my thoughts.
So this is my personal explaination as to why I'm Anti-AI.
Ahead, I'll touch on non-software applications, then a more personal reason and finally why I am not optimistic about its use in software in general.
Because it's a touchy topic, first, a few disclaimers.
- I'm not fundamentally opposed to the underlying technology.
- That said, I feel no need to give a caveat, appeal to authority, or convince you I'm not a "luddite" for being skeptical of the helpfulness of the application and culture around the technology.
- I'm not taking a stance on AI's ecological/ethical/legal implications.
- There are concerns, but I just don't know or understand enough to honestly advocate or add to that conversation.
- These opinions are purely my own.
- Like everyone, I am fallible and prone to biases.
- I could be wrong!
- I wouldn't put this out there if I didn't feel confident though, just take it for what it is.
AI outside of software
In addition to my thoughts on AI driven software development, I haven't seen many other uses be considered a net benefit.
Most usecases I've seen fall short in usefulness include:
- Communication with humans:
- Dilutes the original intent
- Just show me the prompt
- Documentation and writing:
- Just take the time to understand the topic yourself first, writing becomes easier
- I want to know what you have to say about a topic, not the internet average
- Generating images:
- Essentially an evolution of clipart or stock photos. It's just low effort.
- I'd rather see clipart or stock photos. Though I'd prefer if you just took a photo, or drew it yourself, even it it's rudimentary.
- Or pay an artist, especially if you want a stylized print for your home or you need assets
- I'd rather see clipart or stock photos. Though I'd prefer if you just took a photo, or drew it yourself, even it it's rudimentary.
- I don't want pictures of me and my family in training data
- Essentially an evolution of clipart or stock photos. It's just low effort.
- Research and summarization:
- Just read the source materials
My opinion in summary: Using AI for day to day tasks is disingenuous and ugly.
Alright, onto writing software, and why am I'm firmly Anti-AI on that front.
Why don't I use AI to code?
Personally, I love programming. I like typing the characters, and I also like thinking about problems and abstractions. Feeling the friction of an unideal solution makes finding solutions feel sweeter to me, I chase that feeling. Handing that over to an agent in part or in whole would be defeating the purpose entirely.
That being said, I can't deny the amazing things AI has been able to do. So why I wouldn't I take advantage of it for work or in situations where I don't care as much about the "craftsmanship"?
As far as my speculatory opinion goes:
AI coding is a fad.
Woah. That sounds like a wildly misinformed opinion. Clearly AI isn't going anywhere, right?
Well when I say fad I mean it's like any fad, where it's "hot" for a time and then it dies down. I acknowledge that technology rarely just ceases to exist, but even a long lasting hype cycle can die out.
To give an example, asbestos was a fad, one that was quite hot for a while. In fact it took a century after the industry started before the health risks were widely recognized. Even still today it's true that it "isn't going anywhere" anytime soon (mainly due to the grave risks associated with removing aspestos). Now everyone agrees that it's an unsafe material. It just took some time to recognize the second order effects.
AI and Learning
Novices have the most to lose from using AI to write code. I'm not the first to acknowledge this, Carson Gross talks about this among other things in his essay Yes, And.
If juniors outsource the hard work of generating code, they're surrendering the opportunity to learn more about the domain and gain muscle memory skills that every senior dev is already accustomed to. They also lack the discernment to be able to guide the AI towards writing robust solutions. (Is it secure? performant? Does it miss important edge cases? Is it even necessary?)
I agree 90% with Carson's perspective. What I don't understand is how senior devs are somehow immune? Just because I might be experienced in some domains, doesn't mean I know everything. Am I expected to pick that up as I go, or only avoid AI only when I'm trying to learn most effectively?
For me, if using AI makes learning less effective, I'd rather not.
"Better Not Faster"
I first saw this phrase in Rust Lang's LLM Usage Policy and it puzzled me.
I concede that an AI driven approach can be much faster than coding by hand, but I've never considered that it could be used to make a higher quality product.
I hope we can all agree, it's a good rule to avoid going as fast as possible in order to achieve higher quality software. I just don't see how LLMs are poised help that equation, as indicated above.
My best guess is that AI code reviews and using agentic loops to "make it better/faster/stronger" are suitable to give a quality boost above what the best humans could. I just don't see that in practice today. At best I've seen AI produce average work more quickly and cheaply than a real engineer.
Speculating further, maybe it has baked in an assumtion that AI will continue to improve until AGI/superintelligence is achieved, when it can actually produce results better than the most qualified humans can. As interesting as it is to speculate about it, AGI is just vaporware.
So it's a good sentiment, but I don't see the payoff.
Security
There's a lot of hype about how AI can be used to find and exploit vulerabilities. I think the hype relies on a common misconception about how security actually works.
You can't just create vulnerabilities out of thin air. The only tool a hacker has is exploitation of existing vulnerabilities, ie. insufficiences that provide unauthorized access or control. So if the author or maintainer of a software product fails to eliminate vulnerabilities before releasing to the public, I am more saddened than impressed that AI has to be the thing that finds it.
Can't we just write secure software to begin with? Is that really too much to ask?
Conclusion
Note that I differ from the opinion at large that AI, good or bad, is coming to replace our jobs and we need to do something about that by preparing for the worst.
Rather, my opinion is much more boring - that AI simply isn't up for the task and is going to create more work for the diligent among us.
Is it going away?
No, but I see an asymptote to the improvement.
At this rate I don't think the industry's investment will pay off and we will be left with jacked up token prices, crappier service and a whole lot of deadweight unmaintainable legacy codebases.
And if you're someone who values self-improvement, I would recommend to avoid using it as much as possible, and embrace the natural friction in your work and life.