Standardising the technology stack (or CMS) is silly

I have been involved in many “we want to move all our websites to one technology” projects. Mostly Drupal. Mostly where people wanted to move from a wild range of CMSes, forum-systems, blogging-tools and so on, written in various languages towards everything-in-Drupal. Smart move, you might think. Not often, I know now.

We all like car analogies, when it comes to websites, so here is one: my 1986 Volkswagen T3 camper. A great car. I know its engine (watercooled 1.6 boxer, best engine sound ever), I have gone trough its electrical cirquits a few times and know them pretty well now.

I know where to find and buy secondhand or deadstock replacement parts. I know the support-forums. And mostly, I can safely invest in knowing the ins-and outs of the car, because I am pretty sure I will buy Volkswagen Classic T3 Camper Vans for all my needs, forever, from now on. Or not.

Busje

Off course not! No-one in his or her sane mind would buy a second such camper-van to do the daily shopping, or for your daily commute. If I needed a car for my daily commute, I would not buy a second, rather expensive, fuel-gobbling, always-something-needs-fixing van with all the camping-stuff built in, but one that suits the needs much better, like a small, cheap Japanese car.

Yet this is the argument that goes when people choose to “Always use Foo for every of our sites from now on”.

It is different if you are a mechanic, or auto-shop. Analogy for “webbuilder”. It makes more sense then, to become an expert on one brand, year, engine-type of car. Specialists have a good place: we, the consumers and clients will be able to find them when we need them. And I prefer a Volkswagen mechanic with good Knowledge of the old-timer transporter vans to fix my car.

This goes just as well for webdevelopment. A Drupal-only-shop will be able to provide better sites for their clients, because they know all the weird little quirks in that CMS inside out. A dedicated python-developer knows much better where to find the most up-to-date resources and tools. And so on.

But as a consumer, as a client, you are much better off to choose your CMS, framework, programming language as it best fits the site, service or app you want building. Rather then shoe-horning each and every website you want into, say, Wordpress. I have seen it all: e-commerce platforms built on top of Wordpress? Wordpress turned into a JSON-webservice system. Great ideas molded into nothing, because it had to fit within what Wordpress can offer.

Do you really want to sacrifice all that, simply because you chose to standardise on that one CMS?

No, what you want, is the same as with your car, or cars: a good and trustworthy mechanic who helps you with your old-timer camper-van as well as your husbands commute-car. Or at the very least, two such mechanics, one for each. You want trustworthy contractors and service-managers who can help you with whatever problem you have.

You want a good partner, or set of partners who can offer you the best tool and solution for each problem you have. And here is the other problem: if that partner is a shop who standardised on one technology, that is what they are going to offer you. There is no Ruby-on-Rails developer who is going to say, no, bad idea, you should not hire us. Rails is really not the best tool for your job. That is why you need some basic knowledge.

Again, like with the car: you walk into a Volkswagen-dealer to ask what car you need for your new building-company and you will end up with a Volkswagen. Even though a secondhand Toyota pickup is probably a much better fit. You need some basic idea of what you want and what fits. Most people who buy a car, know that newer, smaller cars use less fuel. And that (in The Netherlands, at least) driving Diesel is cheaper then Gasoline. Most people also know that an €180k is far more luxurious then a €400 Suzuki Alto. But you really should avoid shoehorning all your needs into one system. Because that one system is best at one area, you end up with a large range of websites that are not working too well, too expensive (or too cheap); you will end up like me, commuting to work by train, because doing it with my 1 liter on 8.5 kilometer fuelgobbling van, is just too expensive ;). You will end up using technology that is far from the best fit for a certain problem.

Only when all your sites are near 100% equal, then it makes sense to pick one and build every site with that technology.

And only if you insist on doing everything yourself, in-house, then it makes sense to standardise on one technology. Just like I would have to buy a second Volkswagen-van for my commuting, if I would insist on doing all the maintenance myself; learning the ins-and-outs of a, say, Japanese Diesel is too much for my simpleton programmer-brain.

Don’t you just hate these car-analogies in IT :) ?

Woodcut from Doré. Purely illustrative
Doré Woodcut. Its only function is to make the layout look better. And these images are really nice themselves

About the author: Bèr Kessels is an experienced webdeveloper with a great passion for technology and Open Source. A golden combination to implement that technology in a good and efficient way. Follow @berkes on Mastodon. Or read more about Bèr.