How to agree on something 🔊

The foundation of a healthy working relationship is agreement. Even when people have differences of opinion—and they always will—getting everyone on the same page about broader goals and individual motivations produces better outcomes.

As a manager, you can use a few conversational techniques to create powerful agreements that drive productivity and job satisfaction. Let’s take a look at a couple of them.

Read more →

"Do more reorgs" with Brian Guthrie 🔊

Instead of bringing you another analysis of a leadership topic laced through and through with my opinions, I thought it would be fun to share a new perspective. This time, from my old friend and former start-up colleague Brian Guthrie.

Brian recently started a company to help tech leaders visualize and execute smooth re-orgs, so we talked about that. What makes re-orgs hard? What would make them easier?

I strongly encourage you to listen to the podcast episode! The below transcript is accurate enough, but fails to capture the spirit of the conversation in many ways.

Brace yourselves; this is a longer one, but I really think you’ll take something away from it.


Read more →

On the Importance of Writing 🔊

Everyone is required to write almost continuously at work, and writing remains the single best solution to the many communication and collaboration challenges that face our fast-moving, distributed teams. Yet writing skill in the workplace is greatly varied in my experience, and few companies make a deliberate investment in improving the writing ability of their workforce.

Can you think of any other skill that is required, crucial, has a wide breadth of mastery with a direct impact on the operations of a business, and which nobody is ever trained to do?

Read more →

Simpler isn't actually better 🔊

One of the most challenging aspects of technical leadership, or any leadership for that matter, is managing complexity. People, plans, markets, and software systems, just to name a few, are all wildly complex things. Finding ways to separate the signal from the noise, set reasonable expectations, and observe results can be daunting.

We’re admonished to “keep it simple, stupid,” and given heaps of tools that promise to reduce any complexity to its essential, manageable bits. Tracking systems, dashboards, dependency maps, OKRs, and box-and-whisker plots abound.

Yet history has taught us that seeking simplicity, while often well-intentioned, can be disastrous. To be the nimble and effective leader who can manage through complexity with ease, you’ll need to do one thing that many leaders never learn to do: let go.

Read more →

The live debugger for any situation 🔊

When a program doesn’t work and you don’t know why, the first thing you reach for is a debugger. Whether that’s a process-attached tool like GDB, the Dev Tools panel of your browser, or just a series of logger.log("now I'm here (3)"); statements littered through the code (my preferred method), you’ll soon have it figured out.

What if there was a way to apply the same deliberate, iterative approach to management challenges? Surprise, there is!

Read more →