I have long been fascinated by the principles of business management, specifically those in the well known book &quot;The E-Myth&quot;.<p>The idea is that it is easier to grow and scale a business if every role is reduced to something achievable by the lowest common denominator. The book cites McDonalds as an example and how they specify the exact location of pickles on a burger to make sure that a 15 year old can produce burgers indistinguishable from their peers. Sure, plenty of people can cook a better burger than McDonalds, but anyone can cook a McDonalds burger given the equipment and instructions.<p>In terms of programming, a similar approach may well exist. I&#x27;ve seen it in two forms. First is the enterprise strategy. Standardize on simple, yet inefficient technologies. Anyone with X credential can be as productive as anyone else (this works well because nobody is very productive so its a low bar). This makes hiring and firing much simpler.<p>The second approach is the &quot;hire smart people and provide them with the tools they need to learn and succeed.&quot; I&#x27;ve personally seen great success with &quot;Welcome to the company, let&#x27;s learn Erlang.&quot;<p>As an engineer who enjoys being challenged I prefer the latter, but I&#x27;m not convinced that the first strategy is a bad one from the business&#x27;s perspective.