Tag: software-engineering
-
Serving Markdown for AI Agents
- AI agents prefer clean markdown over HTML. Here's how to serve both from a Jekyll blog.
-
Building AI Agents with the Claude Agent SDK
- The same engine behind Claude Code, exposed as a library. Build agents that read files, run commands, and work through problems on their own.
-
What is an AI Agent?
- The term 'agent' gets used loosely. Here's a practical definition: tools, loops, and deciding when to stop.
-
Building Production-Grade Real-Time AI Voice Conversations
- Patterns for handling interruptions, chunking speech, and detecting call endings when building voice AI with Twilio and OpenAI.
-
Eval Testing LLMs in PHPUnit
- Prompts break silently. Here's how to catch regressions with PHPUnit evals before your users do.
-
The Local Optimisation Trap
- How rational team-level decisions create irrational company-wide outcomes and why zooming out matters.
-
Why Less Is More
- Why teams that create the most value aren't the ones with the best tech, they're the ones with the clearest constraints.
-
Building an AI Application: Lessons from Lenny's Vault
- A few lessons from building an application built on top of AI APIs.
-
Making Impossible States Impossible
- The idea of making impossible states impossible in simple terms, means designing your data types and APIs so that certain invalid or nonsensical program states simply can't happen, the compiler...
-
Product Engineers
- Product Engineers care more about whether something works for customers than whether it ships on time.
-
Build vs Buy vs Run
- Self-hosting open-source tools sits between building and buying. Sometimes it's the right call, if you respect the operational cost.
-
Reconsidering Tech Debt
- There's a phrase I've grown wary of over the years: tech debt. It shows up in all kinds of conversations, often spoken as a half-apology, half-warning. The metaphor is sticky,...
-
Choose Boring Tech
- This isn't new advice, but some reminders deserve another run: choose boring tech if you're in the business of product engineering.
-
From Scepticism to Collaboration with LLMs
- LLMs work best when you treat them like a junior engineer, not a magic wand. Same standards, same discipline, same reviews.
-
Doing Leveraged Work
- Staff and Principal Engineers find work that keeps paying off long after they've moved on, multiplying what teams can achieve.
-
Notes on An Elegant Puzzle
- Will Larson's excellent "An Elegant Puzzle" deep dives into every aspect of being a tech leader at modern software companies
-
How to quickly plan and estimate an MVP
- This post outlines my tried & tested strategy for quickly planning and estimating MVP projects. This process departs a little from Agile/Scrum best practices. There are no guarantees on estimation...