Today
- Many people are saying that AI will make software faster by rewriting it in faster languages, but this isn’t generally true. Most programs cannot be…
This week
- I’ve had “AI usage statements” in the back of my mind ever since I read Ethan Marcott’s blog post sharing a round-up of his favorite ones. I didn’t consider writing one for this site, since it had the smell of status-signaling. Like a quasi-political declaration of allegiance to...
- Some people think that LLMs should not be used in technical fields like programming or mathematics, because those fields are actually art. True or not, this…
- If AI is so great, why aren’t we seeing an explosion of new, amazing software products? If anyone can turn their idea into working software with coding agents…
Last week
- Python 3.15 is here! Here’s the essential What’s new in Python 3.15 guide, this year curated by 3.14 and 3.15 release manager Hugo van Kemenade. As someone who builds open …
- Many software engineers are righteously angry about AI. It’s understandable to be upset that the skills you built your professional identity around are getting…
Two weeks ago
- Everyone knows how to read a book. Beginning at the first page, you read each word in order, stopping periodically to think, until you arrive at the last word…
- There are lots of skills involved in being a successful engineer at a big tech company. Running effective meetings, writing good design docs, fleshing out…
About a month ago
- AI discussions often pretend that there are only two possible positions: complete delegation, where the machine produces everything and the human only supervises the result, or complete rejection, where using an AI tool is treated as abandoning the craft itself. But using AI...
- A Sensible Default is a practice that, absent some overriding context, should be used when carrying out a certain kind of task. In software development such sensible defaults might include things like “use version control”, “separate UI logic from domain logic”, “automate...
- In general, you should be suspicious of engineers who are trying to give you advice. Even during ordinary times, this industry is so wide and changes so quickly…
- When someone is explaining something to me, I ask on average one question every thirty seconds. I’m sure this is frustrating to some people, but it’s actually a…
- You can now configure each stage of an experiment run using lifecycle hooks: beforeAll, beforeEach, afterEach, afterAll. Seed a database, spin up a sandbox, cop......
about 1 month ago
- Being good at building and being good at shipping are two separate skills. In the short term, they’re actually countervailing: if you have a gift for building…
- My colleague Brian Pedersen recently released a report on current hiring trends. It’s a fascinating snapshot on what the market wants from new hires. How does this apply to you, the search professional? Some thoughts below on where to focus your skill development. Please join me...
- Poor bottlenecks. Always seen as problematic, antithetical to efficiency. But bottlenecks aren’t universally bad. Think about it: a bottle’s neck is designed to constrain the amount of liquid that can flow out. A decrease in bandwidth is its entire purpose! Otherwise an...
- Sep 14, 2026I watched Alexis King's Constructive Data Modeling talk and was surprised by how simply the Parse, don't validate author and former Haskell compiler contributor defines what a type system is for, which features are necessary, and how precisely you should model your...
- Why we need richer, thicker interfaces and better boundary objects for collaborative planning with agents...
- Agentic engineering in an old codebase is about making hidden constraints visible and cheap changes trustworthy. Let’s talk what to do in brownfield codebases. During my career I’ve worked on teams whose codebases had been around a long time. Those are brownfield systems: the...
- Mathematicians are broadly not anti-AI. They’re more culturally open to using AI as a tool than, say, artists or writers. However, now that more and more…
- Your agents can now share and reuse filesystem skills for common or agent-specific tasks. Choose from a number of supported filesystem providers to host your sk......
about 2 months ago
- The Open and Async audiobook is out. It's read by a synthetic narrator who says 'jif,' correctly. For the hard-G crowd who insist that's heresy, I re-recorded an entire chapter in their (wrong) pronunciation and posted it free. One chapter the wrong way, or eleven and a half...
- The difference between a medicine and a poison is dosage. Often we talk about certain habits, in programming or life, are good or bad. But few things are simple binaries. Some vary with context: reading a book is a good thing sitting in my garden, but not while driving my car....
- The pace of change in software engineering is only accelerating, especially since January of this year. This is all to do with the industry-wide adoption of LLMs, AI tooling, and AI infrastructure. At The Pragmatic Engineer, we always want to capture as much of what’s going on...
Rows per page