Mads Johnsen

Treat engineers as adults

Engineering is arguably the most critical function in a modern technology company. Without strong engineering, no products will ever see the light of day. In pop culture, software engineers are often portrayed as brilliant yet difficult and change-resistant human beings who mostly want to be left alone to code.

Gilfoyle from HBO’s Silicon Valley - Classic Software (Network) Engineer Stereotype

The stereotype makes for very entertaining TV characters. While it's obvious to anyone working in tech that the stereotype doesn’t capture the diversity of real personalities, many non-engineering leaders still approach engineering teams with the stereotype as an unconscious bias. Their approach is well intended, but it increases the risk of failure and slows overall velocity - a few common failure patterns:

A common theme in the failure patterns is an attempt by outsiders to protect engineering efficiency or shield engineering from presumed lower-value activities.

Because engineering is the largest component of any software development project, it is often assumed that overall development progress is bottlenecked by engineering efficiency. However, this is often not the case - speed of executive decision-making, partner interactions, or product/design resources are frequently the true bottlenecks to technical progress. Let engineers manage their own time and decide what activities are high and low value.

The best leaders treat their best engineers as trusted partners and adults. They involve engineers early in key decisions to tap their expertise. They share customer reactions openly, both good and bad. They course correct quickly when data suggests a change in direction without sugarcoating the rationale. Great engineers want to solve real problems and build great businesses just as much as everyone else, and “protecting” engineering or development time is largely counterproductive.