I spent a chunk of this week buried in test code across my repos, and it reminded me of a chapter from Software Engineering at Google that I keep coming back to. The chapter is about test clarity, and the core idea is simple: a good test should read like a story, not like a method call. Name the behavior, not the method The easiest win is in the name. A method-oriented test is called testUpdateBalance. A behavior-driven test is called shouldNotAllowWithdrawalsWhenBalanceIsEmpty. Read that second one out loud with the class name and it becomes a sentence: “BankAccount should not allow withdrawals when balance is empty.” ...
Infrastructure Teams: Enabler, Not Gatekeeper
I’ve been reading Eben Hewitt’s Technology Strategy Patterns, and one passage stopped me cold. It’s about infrastructure teams and the trap they fall into. Hewitt describes two mentalities for infrastructure teams. The enabler provides quick, reliable support to the teams building customer-facing products. The gatekeeper uses standardization as a weapon, a way to keep the business units in line. He doesn’t mince words. “Overindexing on standardization for its own sake to the detriment of customers is missing the point at best and an abuse of power at worst.” ...
Who Owns the Platform?
I’ve been spending a lot of time lately building internal platforms. The nkosi dashboard, the action scan pipeline, the compliance automation layer. These are the kind of tools that make everything else possible but don’t always get the attention they deserve. And I keep running into the same question: who actually owns this thing? It sounds obvious. You build it, you own it. But internal platforms are weird. They touch every team. They cross every boundary. The compliance team needs them. The engineering team needs them. The product team wants reports from them. And suddenly the question of who’s accountable for what gets very fuzzy. ...
Write the Headlines First
I’ve been reading Eben Hewitt’s Technology Strategy Patterns, and one idea keeps rattling around my head: the Ghost Deck. The premise is simple. Before you write a single slide body, before you make a chart or pull a data point, you write every headline. Every slide gets a bold, audacious claim as its title. Then you review the headlines as a sequence. If someone could follow your entire argument just by reading the headlines, you’re done with the structure. Only then do you go back and fill in the evidence. ...
The Four Things You Can Do With Any Application
I’ve been reading Eben Hewitt’s Technology Strategy Patterns, and one framework jumped out at me because it maps so cleanly onto the decisions I make every week. It’s the Application Portfolio Management quadrant. Four boxes. Every application you own fits into one of them, and each box tells you exactly what to do next. The Quadrant Score each application on two axes: business value (how strategically important is it?) and technical health (how much debt, risk, or entropy has accumulated?). Plot them on a 2x2 grid, and you get four postures: ...
The Meeting Before the Meeting
There’s a pattern in strategy work that I keep coming back to. It’s called Fait Accompli (French for “an accomplished fact”). The idea is simple: by the time you walk into the big meeting, the decision should already be made. You don’t get there by being the smartest person in the room. You get there by doing the work before the work. ...
What Is the Number?
I recently took a few days off and decided to be properly disciplined about it. No notifications. No replies. I went to the park, locked the world out, and tried to actually rest. Coming back, I felt a little anxious. As it turns out, the anxiety was probably warranted. Boom. 200 emails. Hundreds of Teams notifications. Every channel demanding attention at once. And of course, the schedule waiting on the other side of the inbox didn’t pause while I was gone. ...
Excited, Meh, or Concerned
I was sitting in a discovery session for a deal that, on paper, we had to do. A big partner, one already financing a meaningful chunk of our team’s work : wanted us to integrate with a new product of theirs. They’d spent a lot of money buying the capability into their stack. From our side, the awkward part: we already had something similar of our own. Different audience, different mechanics, but close enough that the proposal didn’t feel like it was solving a fresh problem. It felt like it was crowding one we already had. ...
I Just Wanted to Check My Gmail from the Terminal
It started with a simple idea: use Claude to check my Gmail without opening a browser. I found a CLI tool called gws, the Google Workspace CLI. It promised to let you query Drive, Gmail, Calendar, Sheets, all from the terminal. Perfect. I installed it, set up OAuth credentials in Google Cloud Console, and ran gws auth login. And immediately hit a wall. The first error: invalid_client OAuth flow failed: Server error: invalid_client: Unauthorized invalid_client is Google’s way of saying: I don’t recognise these credentials at all. Not a permissions issue. Not a scope issue. The credentials themselves were wrong. ...
How I Recovered 66GB on My Laptop Using Claude
My laptop was running out of space. I had 5GB left on a 228GB drive and I had no idea why. I knew the usual suspects (too many apps, too many downloads), but the numbers never added up when I tried to investigate on my own. So I decided to let Claude do the detective work. What followed was one of the most satisfying cleanup sessions I’ve had in years. ...