Tell me something I don't know

This is a little rant about the use of AI in the field of software development.

Everyone can generate code now. The thousands of startups popping up every second is a testament to this. However these startups usually have something in common, they almost never offer anything of actual value, it is almost always a new AI workflow app, a new mcp server, or a new vibe-coding tool. Everyone is selling shovels and no one is actually digging for gold.

A meme where everyone is selling shovels

Even when the product isn't another B2B AI software, it is usually something that the average person will never care about. If you want any proof of this, just go on Twitter (X) or Instagram for a couple of minutes and I can assure you that you'll run into your first AI startup allegedly making $100K MRR before you even log into the app.

However the point of this article is not to dwell on the financial aspect of the AI boom but rather the effects it has on technology, the quality of software and the long term effects.

LLMs are incredibly useful, I am not doubting or denying this fact, they make code generation a trivial thing. In fact I, for one, cannot be grateful enough for their existence because it means I no longer have to spend hours crying over CSS when I'm doing anything web related (I hate CSS, everybody does) but their existence remains controversial in the software development community and for good reason.

The first and most obvious reason is that they are drowning out the computer literacy rates and the thinking ability for a lot of people. A lot of devs cannot solve issues on their own without opening up Claude or ChatGPT for assistance, a lot are even moving away from programming and are becoming full time 'prompters'. Why is this a bad thing? You might ask, the reason is simple, One cannot truly understand computers without getting your hands dirty. All great innovations are born from people who had an astronomical level of understanding for the art of computing and LLMs abstract a lot of the layers that create that understanding. We do not need great prompters, we need great software developers and perhaps those developers will utilise these LLMs when neccessary.

If you read this previous paragraph and thought to yourself, 'this does not matter, what matters is shipping software' then you, my friend, have contacted what we call 'shipping sickness' and you are beginning to forget what software development is all about in the first place. Some might blame this recent development of software development being exclusively seen as something done solely to make money on capitalism, others might blame it on AI however the cause does not change the effects. This problem is exactly why I started this article by complaining about the AI bros who only care about shipping. This article promised to talk on the techinical aspects of the issues but I believe that the financial and techinical are interwined and the full picture cannot be gotten without consulting both.

If you fall into the category of thinking that shipping software and making profit is all that really matters, you must take a step back and ask yourself a simple question, 'how far would the field of computing have come if everyone shared my point of view?'. Not far probably because a lot of things we enjoy today come from people who were programming for the love of the game hence the dominance of open source software in todays world. Without these people who were usually doing it as a hobby, who knows where we'd be today. This must at least send a message that the entire shipping and profit oriented mindset that vibe-coding usually rests upon will do us as a society little good.

There is little to no evidence to back the claim that AI can come up with new ideas, in fact it would not be outrageous to conclude that LLMs lack the ability to generate new concepts, the lack of unique products being marketed everyday on social media is a testament to this. When the first iterations of the modern LLM came around a few years ago, people claimed that the era of the 'idea guy' had finally come but look around you now, barely anything has changed. The actually good AI startups are still founded and managed by actual developers, not idea guys, whether it's the model labs like OpenAI, Anthropic and Deepmind or it's the application software companies like Cursor, Opencode or Harvey, One thing is consistent, devs- not ideas guys, not vibe coders are in charge. I think this misconception that software developers are becoming unnecessary is being peddled by AI companies who although are managed by developers, need the hype around their models in order to drive subscriptions and satisy investors, Afterall a honest AI company is a failing one, However I digress.

I believe that the amount of people who know their way around a computer will continue to drop as people will abandon traditional methods of programming for LLMs. I believe that the inbreeding of ideas and concepts will continue with barely anything new coming out of the industry until the collective (all of us) can no longer bear it.

I limit the use of LLMs in my hobby projects not because I have taken the ideological high ground but because it is absolutely neccessary to hone my skills and understanding. The use of LLMs to generate code that you cannot generate from your brain will absolutely stunt your growth irrespective of what anyone may claim. Like I asserted earlier in this article, the use of LLMs for boilerplate is absolutely fine, the issue stems from anything outside of that. I'll give my reason for this in the form of a personal encounter.

A few months ago, I was trying to write my own memory allocator in C and I jumped into the project without reading any documentation or tutorial, The only thing I relied on for assistance were the man pages for brk, sbrk and mmap. I had no idea as to how to acheive this and just dived straight in, experimenting until I eventually succeeded. After I was satisfied with my attempt, I decided to watch a tutorial and look at code samples. To my suprise I had done everything in an entirely different way, even when I asked Claude for its own version, it matched the version I'd seen online. The reason was simple, An LLM will always follow 'best practices'. It will almost never deviate from what is already known but I did not know what was already known and so I experimented. The constant use of LLMs is threatening to remove this layer of software development.

We desperately need someone to tell us something we do not already know, we need a new concept, idea or anything that will improve or contribute to the betterment of the human condition.

Sitemap

This website was generated using silo