the scapegoat dev

YAGNI philosophy is reactionary

an AI image of a computer kid in an egg that is also a head that is also a computer

I see that one of those reactionary YAGNI articles is making the rounds. Most of these articles focus on the technologies themselves and forget that the developers behind them or using them are curious, enthusiastic and often extremely competent. There's a lot to criticize about "hype" cycles, but technology itself ain't it.

What is worth criticizing in "hype" cycles is that systemic misaligned incentivesā€”a result of both market pressure and the way to have a successful career within company structuresā€”lead to baroque software stacks of dubious quality and not lean, successful and elegant products.

What actually sucks is getting told to use "AI" for no good reason because someone wants to score a checkbox for Q3; because company culture and structure don't allow people to push back against CTOs and CEOs pushing some product because they read their vendor's whitepaper; because sales is incentivized to pump grandiose nonsense about half-finished technology. All of this leads to products designed as a side-effect of playing a game no-one has any actual stake in, instead of being designed around users and then taking the time to make properly technical decisions.

In defense of novel stacks

Postgres, HTML and raw Javascript are not the best choices-touting them as the end-all be-all of pragmatism is reactionary at its core. Taking that logic to its extreme, we would still write FORTRAN on mainframes. Node.js was invented for a valid reason and has obviously led to an explosion of great software; so did react; microservices power some of the largest companies in the world. It's knowing and respecting and exploring and inventing and taking these alternatives seriously that allows one to decide that Postgres, HTML and raw Javascript are the better choices, sometimes.

XML in particular is a rich stack that is constantly being reinvented with each new serialization format (JSON has json-schema, JQ, some half-assed steaming parsers, JSON-LD, I could go on forever...). Similarly, you can't fault the Javascript ecosystem which overall is one of the most developer-centric ecosystems I know for the quirks of the Javascript language, because pretty much all technical decisions that were made, starting with Brendan Eich's decision to whip it out in a week, were defendable and competent decisions.

Just have fun and be open

So please, developers, don't think that YAGNI and minimalism is somehow "better" or "more competent" than exploring and playing and building things like mongoDB or serverless or AI or typescript or rust or single-page applications.

Explore, build, use, reuse, contribute, rewrite, package, play with all these technologies, because that is how we actually make progress in our field and how one becomes a better engineer.