Yet another article about AI
I started to write this article a year ago, but then I went down the rabbit hole, and my opinion has changed. I was very sceptical about AI, but now I actually barely write any code by hand. Now I want to summarise my opinion to have a laugh again in a year or so.
My current opinion on AI topics
Artificial Intelligence
I don’t understand why it is called “Artificial Intelligence.” It’s more like Advanced Pattern Matching. AI is very good at this, but it is just a small part of intelligence. I don’t share the opinion that AI will rule us or that we are doomed. It will upend many jobs, and it will change the world. But it won’t destroy it.
How AI affects software development
Intelligence strongly correlates with Intelligence Quotient, which correlates with pattern matching strongly, and both software developers and AI are good at these. So the first profession being disrupted is software development. I think we will see smaller teams that achieve more by shifting the work from developers, QA, and project managers to AI, while the human contributor will have to be an expert in all of this to oversee all of it. The better the human, the better the long-term result. Anybody will be able to write code, but to get good results, we have to be good at software, at understanding humans, at language, and so on.
This also means that smaller teams can achieve the same goals. Software developers will have less weight in large companies, but because the results get much cheaper to achieve, there will be much more work. So instead of less demand, we will have even more demand for developers, or whatever we will call these developer-manager-QAs.
AI is in a bubble
Yes, it is. But this bubble might never pop. The big companies that support it might just absorb the losses.
I already experienced an AI bubble roughly 12 years ago, and I feel all we got out of it was chatbots, which I hate from the bottom of my heart. I usually get a chatbot after I’ve done my research and still don’t have an answer, so I need a person who can help. But with a chatbot, you usually never get through to a person.
This time it’s different. There is arguably a benefit from LLMs, first in software development, then in other areas.
Ethical problems
“AI uses too much energy.” That’s certainly true, but every technology started inefficiently, and then it improved. Cars, for example, were an order of magnitude less efficient than they are today, and worse than horses. At first they were deemed lethally dangerous. But now nobody wants to use horses for a day-to-day commute. AI will improve efficiency in energy consumption, developer experience, and training efficiency, and I believe it will be a cheap commodity eventually.
“AI was trained with copyrighted material, so it’s essentially stolen.” I have heard these claims many times, but I leave the judgement of this to courts. Refusing to use AI because it might have been trained on data it should not have used would be stupid.
Existential risk
More and more people argue that AI will kill us all, or at least it will turn the world into a human zoo, where we are barely living at the mercy of our AI overlords. I don’t think this is near, for the same reason I think AI shouldn’t be called AI. It’s just pattern matching. While a large part of intelligence is pattern matching, it has its limits. And when they argue that OpenAI agents broke out of their cage, I smirk: you shouldn’t believe everything. There are many reasons to lie about this: marketing comes to mind first, killing competition by regulation comes second. It’s better to be safe than sorry, but we have to be very careful about our actions on that, because bad actors can use not only AI itself, but also these fears against us.
Junior developers
By now, everyone is aware of the junior developer problem. People don’t want to hire junior developers because the AI can do their job. But the increasing cost of AI also means that in the future, it will be hard to upskill yourself with AI. So that’s an additional problem for junior developers. And everyone else.
Enshittification
This was the word of the year in 2023 (US) and 2024 (Australia), and I love it. It was coined by Cory Doctorow, and it means that vendors lock in customers and contractors by providing a good service cheaply, build moats around it, kill the competition, and then milk the customers and the contractors by making the product expensive and worse. And he argues that this is the same for AI. I tend to agree, but there is an escape hatch for AI, which is open-weight models.
He thinks this is late-stage capitalism, but I think it’s just capitalism that is extremely efficient. One of the goals of capitalism is to extract as much money as possible. But it’s so efficient today that it has removed all the constraints. The only goal is to just extract money. So we have to reintroduce these controls. This is where I agree with him. So while we fundamentally disagree on how to see things, his solution is the same as mine: we need more control and restrictions, on both capitalism and AI. I used to be a libertarian, but now I think it doesn’t work for the same reason as communism: human nature.
He also uses reverse centaur a lot (hence the header image). This means that instead of a human using a machine, a machine uses a human as its assistant, conscripting them to do work at an inhuman machine pace. Delivery drivers and Uber drivers are increasingly used this way. I definitely don’t want to be on the receiving end of this. Even being a human using the machine is already frustrating sometimes.
How I use it currently
First, I used it to generate images (mostly headers for my blog 😏), PlantUML diagrams, then later I used it for creating new UI, and writing tests. And then I started to use it for programming. Simple tasks first. When I tried to use it for refactoring, it didn’t really work. Then it improved, and it does it better than me, with occasional errors. Lastly, I tried agent pools and subagents. For me, this only works for limited use cases, but I can see myself moving in that direction. At this moment it is limited by the project context it needs in Android, and the fact that the way we work doesn’t allow much of it.
It’s very good for exploring code bases that I don’t know, or technologies that I don’t know. It tells me how to test, finds bugs straight away that would otherwise take me hours or days to find. It helps me to learn, and explore fields that I wouldn’t dare to set foot in. I wrote a KMP app with a lot of work on the iOS and web parts, and I also learned a lot about scripting and Linux management. I know the basics, but AI does the heavy lifting in these areas, at least to start.
Purecipes
And now a shameless plug, the other reason I dusted this article off:
I wrote a recipe app called Purecipes with Kotlin Multiplatform. I started it out of frustration with apps or the web, where they contained a lot of filler text and ads, but they lacked nutrition information, alternatives, etc. Purecipes already has a combination of features that I couldn’t find even after looking very hard on both Google Play and the App Store, and I will add more.
I released it on both Android and iOS. On Android it passed the closed testing phase already and is in open testing. The first iOS version was just released as well, available in internal testing.
If you want to join open testing on Android, you can do it here:
Join Android open testing on web
Or if you have an iPhone or an iPad, you can join internal testing by sending an email to purecipes.app@gmail.com. Use the email address you use as your Apple ID.
Conclusion
I was sceptical about AI, and I still am about the name. This is pattern matching. It won’t rule us, and it won’t end the world. It will change work, starting with ours: smaller teams, more software, and a higher bar for the human in the loop. The part that still worries me is the junior path.
The bubble might stay inflated. Energy use will come down. Copyright is a court problem, not a reason to sit this out. Doom stories help the people selling the models, and the people who want those models regulated out of reach. Ordinary lock-in worries me more. I don’t want to rent my tools from a company that can raise the price once I depend on them, and I don’t want to end up as the reverse centaur, the human a machine keeps at its pace. Open-weight models are the escape hatch. Putting some limits back on the business around them is the other one.
I barely write code by hand now. A year ago I would have laughed at that sentence. I’m writing this down so I can laugh at it again later, if I turn out to be wrong.
Join the recipe apocalypse!
