AI Is Like Dynamite

In 1866, Swedish chemist Alfred Nobel invented dynamite, the first safely manageable explosive, but at the same time stronger than traditional explosives. While Nobel (probably) intended dynamite for use by civil industries, it became a deadly weapon for military, criminals, and terrorists. This is the fate of many tools: They can be used for good and bad.

Generative AI

AI isn’t all sunshine and roses. The history of today’s LLMs is a list of massive unethical and environment-hostile acts, including exploiting legions of click workers, ignoring intellectual property, and running data centers on gas-powered electricity generators lowering air quality in nearby cities. I won’t defend this behavior; I condemn it as much as anyone else whose moral compass isn’t entirely broken.

However, I don’t think that AI as such is to blame. If the LLM breakthrough did not happen, the industry would have found another cash cow to milk and would still have given a dang on workers’ rights, public health, and climate change.

But the current industry toy is AI, and unfortunately, AI happens to be an increasing threat for those not using it. Current models write code orders of magnitude faster than humans, and they become increasingly good at writing robust-enough code, too. What is happening today has been impossible pre-AI: A startup creates a suite of apps rivaling Adobe’s app portfolio. The Linux kernel got nearly 2,000 vulnerabilities fixed in one single release. Everyone (including me) vibe-codes little tools and helpers with a few minutes of prompting.

My take on the future of development is this: Hand-crafted code will become too expensive to be an alternative to AI-generated one. Developers must shift towards tasks that AI cannot take over (that is, tasks that need judgement and, I’m not joking, taste). These tasks range from code reviews to designing the architecture and making sure the implementation is not only techincally correct but meets the intent of the designers.

Like hand-knitting, typing code by hand will become a mere hobby without an income. Of course, this only applies to code that LLMs know to produce from their huge memories. But this is perhaps 99% of all code. Specialized code in niche areas continues to require hand-crafting. (Until someone trains a model in that niche.)

The AI shift will come, whether we like it or not. I have decided to put my focus on answering this question: How can Go developers stay afloat if AI takes over all coding? I don’t believe that hand-crafting code remains valuable for businesses. When money is involved, financial departments value ugly code that works over beautiful, hand-crafted code that takes significantly more time and money to write and isn’t necessarily more bug-free. This future is anything but great for developers but I believe it’s inevitable. LLMs are here and cannot be undone. We have to deal with this future, or we have to turn our professional energy towards jobs that AI can’t eat.

Many believe that the whole LLM thing is just a bubble that will eventually burst. So far, LLMs only got better at their tasks, at a frightening pace. They deliver real, measurable acceleration of the software process. A bubble builds where exaggerated expectaions exist, and surely there are some greatly exaggerated expectations about where LLMs can improve productivity. However, in the realm of coding, LLMs already demonstrated that they’re capable of insanely accelerating the development process. This is not a bubble.

The bubble is going to pop elsewhere: at companies that think they can replace human interaction with machines; in the hardware sector, when LLMs become more efficient and extended hardware manufacturing capabilities aren’t necessary anmore; at AI companies who accumulate debt to pay for the race to becoming the #1 monopolist; or at AI gold rush startups whose products are nothing but thin wrappers around a standard LLM.

Pop.

In defense of the AI sector, there are AI data centers that take sustainability goals seriously1. Research projects have proven that it is entirely possible to train an LLM without infringing intellectual property. The AI world isn’t entirely black or white, and these examples are but a small drop in the bucket, but they have set a precedent that I’m pretty sure others will follow because it’s the right thing to do.

Other challenges of LLM use are much harder to tackle, and by “much harder”, I mean that I can see no feasible solution on the horizon. These challenges include what you mention in your bullet points 3 and 4: Decreasing skills in software development and the increasing difficulty to become a junior developer, let alone work one’s way towards senior-level expertise. When LLMs can do what junior devs can do, but much cheaper, who will still pay people on their journey from junior to senior?

What we can do is trying hard to become a centaur (where the human is the head and the AI the powerful body) rather than a reverse centaur (where the human has nothing to decide but must carry all the consequences). This isn’t “resitance is futile” but rather “resistance means keeping control over our decision to use AI when it makes sense.”

I’m trying hard to dig up ways to make Go developers thrive amidst of the challenges imposed by AI. There are many aspects of AI to remain absolutely critical about (and raise once’s voice). But AI as a technology will stay, and we have to make the best of it.


  1. The company linked to is a EU-based company that runs open-weight models within the EU (and that means, goverened by consumer-friendly, privacy-respecting EU law). I want to see more such companies in Europe, where I live, and in other parts of the world. Markets flourish by competition and freedom of choice. ↩︎