The Iron Law of Tools


Learning to harness fire was a significant event in the development of humanity. It provided light, heat, and the ability to cook. As time went on, fire led to other technologies, from the smelting of ore to the internal combustion engine. It also provided an important lesson that continues to apply to the tools we use: that which does for you, can do to you.

Benefits generally come with a cost. Worse, sometimes unexpected side effects come along for the ride. Just as those early adopters of fire learned that their new tool could bite back, so do we find that our tools bring both positives and negatives.

This was brought to mind by a recent Tweet from Rob Conery:

Colin Asquith’s reply vividly illustrated his assessment of the risks of the technology:

Not the recommendation the EF team was hoping for. It makes you wonder why the technology was selected for those applications that Rob and Colin worked on.

Note that my intent is not to trash Entity Framework. It’s just the example here; many tools, technologies, and techniques would serve equally well. Evaluation is critical. If you don’t know the costs as well as the benefits, you can’t answer the most important question: “why?”