Irrational Exuberance!

How to evolve an engineering organization.

March 5, 2019 I recently had the opportunity to present to a small group of early-stage founders about evolving their engineering organization as their company scaled. While preparing, I realized that the most relevant piece I've written about organization design was about running reorganizations.

Why limiting work-in-progress works.

February 17, 2019 Several years ago, my friend Bobby showed me an article about a CEO who used systems thinking to understand their company's bottlenecks, which eventually lead to him buying out his cofounder, who had been leading their sales team. As is the case for most stories about ourselves that we decide to publish widely, this decision turned out to be the right one, and their business flourished.

Metrics for the unmeasurable.

January 19, 2019 As organizations grow more complex, the folks running them interface with reality through increasingly incorporeal abstractions. On the smallest teams, leadership might be deep in the code on a daily basis. A bit larger, and you're talking about tasks in sprints. Larger still, and you're talking about collections of tasks, and adopting fancy terminology like 'epics.' At a hundred plus engineers, you're likely talking primarily in themes of work with focus on several key initiatives. Next, you might be talking about the investment frameworks for making prioritization decisions.

Infrastructure planning: users, baselines and timeframes.

December 9, 2018 Technical infrastructure is never complete. System processes can always run with less overhead or be bin-packed onto fewer machines. Data can be retrieved more quickly and stored at a cheaper cost per terabyte. System design can broaden the gap between failure and user impact. Transport layers can be more secure.

Introducing SREs, TPMs and other specialized roles.

August 13, 2018 Folks are sometimes surprised to learn that I started out working as a frontend engineer. I'd like to imagine it's because I'm so terribly knowledgeable about infrastructure, but I suspect it's mostly grounded in my unconscionably poor design aesthetic. Something that has stuck with me from that experience was feeling treated as a second-tier engineer: folks were unwilling to do any frontend work, but were careful to categorize it as trivial.