Exploring leadership, company building, and indie hacking through writing.

This is a collection of my thoughts on leadership, technology, indie hacking, and more, presented in chronological order for your reading pleasure.

Zero-Downtime Deployments with Docker Compose

With a little bash scripting, a modern reverse proxy like Traefik, and Docker Compose, we can put together a fairly robust and simple approach to zero-downtime deployment. Moreover, this approach is flexible and scalable, even for dynamic container backends.

Three Years to Shake Your Head

There's an old saying regarding the difficulty of learning the Japanese bamboo flute, known as the shakuhachi, "It takes three years to learn to shake your head." This is in reference to the difficulty of mastering even seemingly simple techniques. The only way around this is to make small progress, through practice, each day. This is applicable to any craft we might seek to master.

We Need To Talk About Vercel

Vercel's hefty price tag promises to be worth it if the developer experience and product hold up. But in my recent experience, the product and especially customer service, do not.

People-First Leadership

Investment in people is absolutely essential to building a business that's not just getting by but actively thriving. People-first leadership offers an approach which consistently cultivates an environment where folks can show up and do their best work, propelling the business forward in ways that are otherwise almost impossible to replicate.

Value Modes and Mud Balls

In developing software products, we're often accustomed to prioritizing incremental delivery. This is usually a good way to mitigate the risk of working on the wrong thing. However, sometimes our problems don't fit neatly into accretive methodologies and we need to consider other ways of driving value.

High Leverage One-on-Ones

One-on-ones are an important resource for both managers and individual contributors. However, it's easy to misuse them and squander the opportunity altogether. Let's explore how to get the most of out of these meetings by turning them into high-leverage touchpoints.

Breaking Free from Results-Oriented Thinking

Magic: The Gathering, poker, and business strategy all have something in common: they're vulnerable to a cognitive bias known as results-oriented thinking. But to optimize for success, we should avoid this bias and strive to replace it with sound strategy.

Mindset for New Engineering Managers

Coming to engineering management as a discipline requires a completely fresh set of skills. A common mistake is to assume that our previous expertise will make this transition seamless. In reality, it's important to recognize the need to shift mindsets entirely.

Publish Your Drafts

When does something become valuable to someone else? I've struggled with this question, hesitating at times to share unfinished work because it hasn't reached a level of polish that satisfies me. But the truth is, our unpublished work has no value to anyone.

Let It Fail

I've always had a strong inclination towards action: if something isn't working or about to break, I feel compelled to jump in and lend a hand. However, sometimes that's a leadership blunder which does a greater disservice to the longer view of things.

Taming AWS Costs

AWS costs are tricky: they can grow in seemingly unbounded ways and often represent significant portions of our engineering budgets. However there are techniques we can use to get them under control and even reduce overall spend significantly.

Is Deno Ready for Primetime?

Deno is a new JavaScript runtime that offers an excellent set of modern features, including builtin TypeScript and a support for existing Node modules. However when it comes to using it in a real application, does it live up to its promises?

Anatomy of the Update Email

Crafting effective update emails to a wide audience can be challenging, but by examining the components of a well-structured email, we can bridge the gap and ensure effective communication.

Data for Decisions

Data is a powerful tool that can have an outsize impact on how we develop products and operate our businesses. That said, the value of data is rarely the data itself but instead the insights we derive from it. In order to ensure these insights are meaningful and impactful it's important to ask the right questions.

Delivering Value with Platform Engineering

Platform Engineering offers a unique value prop to engineering orgs by focusing its attention on the holistic system. This in contrast to and in direct support of teams which focus on a narrower domain. In doing so, platform teams elevate and accelerate the work of their peers and drive exceptional business value.

A Framework for Prioritizing Tech Debt

Leverage is a powerful tool that applies to many things, including the code we write. However, tech debt like all leverage, comes with interest payments. How do we know when to start spending bandwidth on addressing it? We'll look at a framework that can help us ensure we don't reach a point of insolvency with our codebase.

Grow In Public

There's a secret when it comes optimizing growth: it's about doing our work in public. But there are barriers that can make this difficult or even impossible. Here's how we build a culture that enables building in public.

Indie Web Stack of the Future

You're a soloprenuer building a SaaS in 2023. What does your ideal tech stack look like? There's a few things that make indie development different and we should design our stack around our unique goals. Let's explore an ideal web stack we can build the future on.

Your Hiring Funnel Is Broken and How to Fix It

Hiring is hard and your broken pipeline is making it harder. But with this simple framework, you can dramatically improve your odds of hiring exceptional software engineers.