Coding in the Age of Meh

Why everything is the same, AI makes it worse, and this may be good news.

Garth Gilmour
5 min readNov 4, 2024

I’ve come to realise that my recent non-technical talks all revolve around a central point. As Software Engineers I believe we are living through The Age of Meh™. To explain this I need to take you back to the remote, primeval past of our industry. A mythical, prehistoric time - known as the 2000’s.

Programming

At the turn of the millenium the programming scene was very Game of Thrones. The C++ community was licking its wounds after being displaced by newcomers Java and C#. Java was facing up to the challenge from .NET, which included such heretical notions as prefering method references over Inner Classes. C# was introducing FP by stealth, via the mechanism of LINQ, but was vexed by an incestuous squabble with VB.NET.

That conflict between C# and VB was very ‘Feyd vs. Rabban’. Everyone knew how it would turn out, but no one wanted to make the call too early. Of course the JVM world would soon have its own family problems, when Scala, Kotlin and Clojure all tried to depose Java.

On the scripting language side Python and Ruby were duking it out for hearts and minds, with many other alternatives still in the mix. Plus of course JavaScript was beginning it’s meteoric rise to stardom, to the surprise of most and the despair of many. We coded in interesting times.

The above is a caricature that skips a lot of detail. But compare it to today. Let’s say I tell you a language is an OO / FP hybrid, with type inference, a minimalist syntax, a rich IDE, a comprehensive set of standard libraries, and frameworks for client and server. Which language am I talking about? It could be any of them. Meh.

Frameworks and Platforms

When it came to platforms JEE and .NET were slugging it out like the final act of a Rocky movie. Each trying to outdo the other by pretending to be original whilst pilfering from the opposition. Within JEE WebSphere and WebLogic were in competition not only with each other, but also with Open Source alternatives like JBoss.

Outside of Enterprise IT it was Ruby on Rails verses Django verses PHP. DevOps and hosting services were in their early days, with multiple products and vendors. Even the database landscape was fraught, with DB2 losing ground to SQL Server, which in turn lost ground to MySQL and PostresSQL. Oh, and HTML nearly died.

Fast forward to today and we live in the Cloud. Which is in no way a bad thing. In fact in most ways it’s a massive improvement on before. But as developers we face a bland choice between three Keiretsu — AWS, Azure and GCP.

We all have our favourite, and if you enter that debate there’s no shortage of opinions. But assume you are a mainstream developer looking to build a standard enterprise application. Will you be crying into your coffee and/or updating your CV if corporate policy swings to Foo over Bar? Of course you won’t. Meh.

Methodologies

You may not believe it, but there was a time when software projects weren’t Agile. In fact we didn’t even capitalise the word. This rise and rise of Agile is well documented elsewhere, so no need to recount it here. But once again that rise culminated in a confusion of complacency.

Whereas in the past we would have fiercely debated Scrum vs. XP vs. Kanban most projects today do a smorgasbord of them all. Which should be a good thing but usually isn’t. We no longer debate the merits of (for example) DDD and Pair Programming with the same rigour.

At the same time corporate friendly Agile-lite methodologies like SAFe have poisoned the well. Product Management and UX design are now as important as Project Management. Everyone is Agile and no one is Agile. Meh.

But What About AI?

There is of course an obvious counter argument to what I am saying. Which is that I’m raking over the coals of past flame wars. The real debate of our time is all about LLM’s and AI. That’s where the passion and energy of the youth of today is focussed! Get with the times grandpa!!!

My experience of AI thus far is that it enhances the Meh. When coding the LLM will guide you though an implementation, find your syntax errors, and even translate code between languages. For better or worse this is how the next generation are learning to program.

In that environment isn’t it counterproductive, and even a little sad, to obsess over any single language? Just pick the best one for the project and let the AI be your mentor.

To put it another way who cares if language A is 10% more friendly, powerful, productive etc… than language B? In a world of AI enabled coding assistants that’s no longer an important distinction.

Similarly, at the platform level we want to embed AI in all our new applications. Which is well and good. But to do this we become more reliant on the big serverless platforms, and over time they will only become more alike. So once again the Meh is amplified.

At the highest level every developer has been told that the days of their profession are numbered. I personally don’t subscribe to this view. But if young Garth had been repeatedly told his chosen vocation had less than a decade to live, he would have cared a lot less about the minutae of compilers, networks and patterns. He would have been blasé about the fine detail and much more focussed on backup career paths. Meh on a grand scale.

Is this a bad thing?

From everything I’ve said so far you might think I’m opposed to the Age Of Meh. But the more I think about it, the more I realise it might be a good thing.

Those of us who started our careers in the 1990’s may have been living through the adolescence of the software industry. When, as a profession, we had endless energy and endurance. But we devoted our time to a series of causes with all the purity, purpose, devotion, and stupidity of youth.

As the saying goes “in youth we learn, with age we understand”. Maybe we’re finally learning that no language, method or platform is the golden ticket to productivity. Maybe we’ll learn that all choices are compromises and the real world is always messy. Maybe we’ll learn to focus more on the needs of the users and less on the technical fad of the day. Maybe we could all do with a little more Meh in our lives.

--

--

Garth Gilmour
Garth Gilmour

Written by Garth Gilmour

Helping devs develop software. Coding for 30 years, teaching for 20. Technical Learning Consultant at Liberty Mutual. Also martial arts, politics & philosophy.

Responses (5)