Tensile Strength

Software Architecture lessons From Materials Engineering

A long time ago, before I dove into software development, I was a Materials Engineering student at the University of Toronto. Having gloriously arrived on a scholarship out of high school, I was unceremoniously kicked out 18 months or so later for ridiculously bad performance (I think my average was below 40). Nonetheless, while occasionally showing up for class, I learned a few things from one of the few professors who knew how to teach. Almost 20 years later, I draw value from those lessons when thinking about software architecture.

Purposeful Diversity

Iron is transformed into steel by adding new elements. This seemingly contrarian step adds strength by reducing purity. Steel Engineers are careful in choosing the right combination of complementary elements to craft a material far greater than its parts.

How Many Architects Does it Take to Change a Light Bulb?

Looking at the Problem of Responsibility and Alignment

This is how changing the light bulb situation would pan out at a large corporation.

The business, or the Product Owner, would come and say that it was made clear that a light bulb in the living room had burned out. They engage a Solution Architect, who will suggest that the light bulb should be replaced, the BA would validate the voltage and size of the bulb, and the Infrastructure Architect would say that we need to turn off the power before attempting this operation.