The software that we build tends to gain layers. In theory, each layer adds new functionality that couldn&#x27;t be done on a lower layer. The problem comes when someone unnecessarily implements lower functionality in an upper layer (like reading local files through a web server). It happens because systems are too complex now for a specific dev to know every layer, and new hardware is fast enough that it doesn&#x27;t matter that you&#x27;re taking an order of magnitude more resources than you actually need to do the task.