2023-09-06

What a terrible day. I genuinely haven’t felt this angry. Sustained. Through the whole day in what feels like forever. I’ve had bouts of frustration. I’ve been frustrated. But I haven’t felt a genuine anger and unjustness like this since I’ve been in Canada.

I’m not even sure, to call it anger is entirely enough. There’s just a resounding disappointment mixed in there too. Disappointment from a breach of trust.

I haven’t been giving all of my time, attention and focus to this project like I normally would. But I haven’t been able to. For a while there I was juggling three projects and it’s naive to think that I could properly give all three the usual sort of attention I would lavish on one. So instead I delegated. I occasionally checked in on people that I thought I could trust. And where has that trust gotten me? Working through long weekends. Contemplating how much sleep I actually need in a week. Clearing my calendar of anything that isn’t absolutely necessary.

I’ve complained before about the lack of understanding from teams for the need of clear documentation, extensive testing and an audit trail of decision making. And here I am again. Pulling late night heroics. For what? To save the reputations of those that got us here. Or is it more than that. Do I have a hero complex? A need to swoop in and save the day? Or is my ego terrified that I’ve flown too close to the sun and now my melting wings make me consider how far I have to fall?

I’ve been in tight spots before. But this time feels different. I guess, every time feels different. But I’ve never had the sense that millions of dollars are on the line and with that comes a certain feeling that this not being turned around would lead me rapidly into “find a new job” territory.

Good leaders take ownership. But every fibre in my being wants to run and point fingers.

Older post

2023-09-05

Newer post

2023-09-07

How do you define successful engineering leadership?

The Philosophy

Many view technical leadership as being the “smartest architect in the room.” I see it as the opposite. My job is to build a room where I don’t have to be the smartest person because the systems, culture, and communication are so robust that the team can out-innovate me.

The Strategy

  • Alignment: Does every engineer understand how their sprint task impacts the company’s bottom line?
  • Velocity vs. Stability: We aren’t just “shipping fast”; we are building a predictable, repeatable engine that doesn’t collapse under its own weight at the next order of magnitude.
  • The Human Growth Curve: Success is when the engineering team’s capability evolves faster than the product’s complexity. If the team feels stagnant, the tech stack will soon follow.

What is your approach to scaling technical organizations?

The Philosophy

Scaling isn’t just “hiring more people” - that’s often how you slow down. Scaling is about moving from Individual Heroics to Organizational Systems.

The Strategy

  • The 3-Continent Perspective: Having managed global teams, I focus on “High-Signal Communication.” As you grow, the cost of a meeting triples. I implement “Asynchronous-First” cultures that protect deep-work time while ensuring no one is blocked by a timezone.

  • Modular Autonomy: I advocate for breaking down monolithic teams into autonomous units with clear ownership. This reduces the “communication tax” and allows us to scale the headcount without scaling the bureaucracy.

  • Automation as Infrastructure: At petabyte scale, manual intervention is a failure. I treat the developer experience (CI/CD, observability, self-service infra) as a first-class product to keep the “path to production” frictionless.

How do you balance high-growth velocity with technical stability?

The Philosophy

Technical debt isn’t a “bad thing” to be avoided; it’s a set of historical decisions that no longer serve you. Like any loan, leverage can accelerate growth when investments payoff. But if velocity and returns are slowing you need a payment plan before the interest kills you.

The Strategy

  • The ROI Filter: I don’t refactor for the sake of “clean code.” I don’t refactor a micro-service with no users. I refactor when the pain on that debt - measured in bugs, downtime, or developer frustration - starts to exceed the cost of the fix.

  • Zero-Downtime Culture: Especially at scale, stability is a feature. I implement “Guardrail Engineering” where the system is designed to fail gracefully, ensuring that a Series B growth spike becomes a success story rather than a post-mortem.

  • The 70/20/10 Rule: I typically aim to dedicate 70% of resources to new features, 20% to infrastructure/debt, and 10% to R&D. This ensures we never stop innovating, but we never stop fortifying either.