Home

3 min read Original article ↗

Hi, I'm Josh. I'm a Principal Engineer at Journey.

The Tech Lead Trap

Inheriting a Struggling Team

Giving Hard Feedback

Making Technical Decisions Stick

Scope Creep and How to Fight It

Sentry AI Tracing with Laravel's AI SDK

When to Say No

Managing Up

Working with Designers

Working with Product Managers

Running Effective 1:1s as a Tech Lead

Balancing Coding and Leading

Your First 90 Days as Tech Lead

What is a Tech Lead?

Serving Markdown for AI Agents

Building AI Agents with the Claude Agent SDK

What is an AI Agent?

Building Production-Grade Real-Time AI Voice Conversations

Sentry AI Tracing for OpenAI in Laravel

Eval Testing LLMs in PHPUnit

Using Hill Charts for Progress Tracking

Four Questions I Answer Every Week

The Local Optimisation Trap

Judgement

Why Less Is More

Shaping Team Boundaries for Flow

Navigating Flight Levels

Building an AI Application: Lessons from Lenny's Vault

Liability Mapping your Tech Debt

Getting in the Room at a Remote Company

Four Pillars of Engineering Leadership

Estimation, Pragmatism, and the Real World

Making Impossible States Impossible

Cycle Time Isn't Your North Star

Culture Follows Incentives

Product Engineers

Build vs Buy vs Run

Thoughts on GitHub Copilot

Reconsidering Tech Debt

Engineering Toil - Seeing the Unseen Work

Choose Boring Tech

From Scepticism to Collaboration with LLMs

Don't Improve Coordination, Eliminate It

Optimising teams through the Theory of Constraints

Improve LLM prompts using LLMs

Doing Leveraged Work

Finding Your Place: Pioneers, Settlers, and Town Planners

Stuff I learned at cinch

Notes on An Elegant Puzzle

Notes on A Manager's Path

Managing Software Projects

How to quickly plan and estimate an MVP

Using Terraform to build Twilio TaskRouter Infrastructure

Elm JSON Decoders

Using elm-form-validate

Global query parameters with Ember

Using the JSON API spec in a Laravel API

Immutable and namespaced CSS made easy

React Native & continuous deployment

Lessons learned from building an app with React.js