Technical Articles
Opinionated writing on software systems, strict monolithic domain boundaries, testing strategies, and Laravel performance.
Managing Expectations in the AI Era
How to have honest conversations with stakeholders about AI productivity - what actually changes, what doesn't, and how to set realistic expectations.
Building Modern Laravel APIs: Routing, Versioning, and API Contracts
Learn how to version Laravel API routes, signal deprecations with Sunset headers, and keep API contracts aligned with your implementation.
Running A Better Table
How to run a Shape Up betting table - the planning meeting where pitches get selected and cycles begin or quietly collapse.
Redefining Engineering Roles in the AI Era
AI makes implementation cheaper and judgment more valuable. Learn how engineering roles, hiring, and team design are changing.
Reviewing AI Generated Work
How to review AI-generated code effectively, what failure modes to watch for, and how to maintain quality standards as code volume increases.
Spec Driven Development With LLMs
How to write specifications that produce useful LLM output, covering interface definitions, edge cases, and why the spec is your highest-leverage artifact.
Shape Up: A Practical Introduction
A practical introduction to Shape Up - the planning methodology built on appetite over estimation, fixed time with flexible scope, and small autonomous teams.
Writing Pitches That Work
How to write Shape Up pitches that give engineering teams real clarity - problem definition, appetite, solution shaping, rabbit holes, and no-gos explained.
Why Sprints Are Broken
Technical debt is inevitable. What matters is whether you manage it deliberately. A practical framework for prioritisation and stakeholder communication
Career Growth: From Junior to Staff Engineer
A practical guide to engineering career progression, from junior to staff, covering promotion criteria and the conversations that move careers forward.
Leading Through Uncertainty: Crisis Management for Tech Teams
How engineering leaders make decisions under pressure, communicate through uncertainty, and keep teams focused when the path forward is not clear.
Technical Debt: When to Fix, When to Ship
Technical debt is inevitable. What matters is managing it deliberately. Here is a practical framework for prioritisation and stakeholder communication.