Home

Convenience and power, a slippery slope into complacency

The software world is currently experiencing a time of excess and overabundance. It is trivial to spin up hundreds of VMs of any size, you can store infinite amounts of data in the cloud, user devices are insanely fast. Up until recently money was plenty, you could hire hundreds of engineers, spend thousands or even millions on cloud resources without worrying about optimising.

All this access to unlimited convenience and power is a slippery slope into complacency. Why would a developer think about the front-end code and the 37 different javascript packages that they are forcing down the user’s throat just so that a dropdown menu can be populated dynamically? The internet is fast, processing power is plenty. Why would you spend time profiling your web application to find the bottleneck when you can just autoscale and magically add a couple of additional machines to pick up the slack?

With great power come great AWS bills and laziness.

There is a whole generation of young engineers that were born in the cloud where everything is “easy”. By easy I mean convenient. In a few clicks you can spin up and down resources that before would have taken hours, day or even weeks to provision. But this convenience is not free.

This convenience also makes it easy to forget how to build software efficiently. It makes it easy to forget about fundamentals, about the basics, and if the they start to be overlooked then no matter how much scaling you can get, at some point it will either stop working or you will run out of money.

The ease of use and convenience of current tools and technologies make it so that power and complexity are accessible to everyone. It is easy to set up something quickly. But operating those tools in an efficient manner and making the decision when it is appropriate to use them still requires experience and knowledge.

Everyone can cook a tasty meal at home. There are millions of tutorials and videos, there is general availability of ingredients, there is some really advanced cookware. This does not mean that you can watch a video on YouTube, buy a fancy pot and some truffles and open a Michelin star restaurant. Modern software frameworks and tooling give you the impression that you can.