It’s easy to take best practices and good design patterns for granted. If everything just works, you don’t even realize that they are there. That is, until you sabotage them without knowing you did. It pays off to know what hidden decisions shape the environment you are working in. “Of course”, you might say - but chances are that you are not aware of many design principles which have shaped your favorite language and web framework.