This week
- Spec Driven Development isn’t Waterfall Write down what you mean. After spending a few months writing (e.g. on the Kiro Blog), and speaking (e.g. Real Python Podcast, SE Radio) about spec-driven development, I’ve noticed a common misconception: spec driven development is a...
- “Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should.” When Jeff Goldblum’s rock star mathematician - sorry, chaotician - spoke those immortal lines in Jurassic Park, none of us had any idea how the craft of software...
- It’s 2007. I’m working on a big rewrite (yes, I know) of a big system; a database-driven web app built in C#. A significant part of the project is just the code to get data in and out of the database. Object-relational mappers are still very much in their infancy; somebody’s...
- The most effective way to build software and get massive adoption is no longer high quality mainline apps but via building blocks that enable and encourage others to build quantity over quality.1
Last week
- Feed diversity overhaul, domain and topic affinity, inline reactions, and exact keyword matching....
Two weeks ago
- I’ve worked on a lot of unpopular products. At Zendesk I built large parts of an app marketplace that was too useful to get rid of but never polished enough to be loved. Now I work on GitHub Copilot, which many people think is crap1. In between, I had some brief periods where I...
- Our era of sprawling, idiosyncratic tooling In 1998, Eric S. Raymond published the founding text of open source software development, “The Cathedral and the Bazaar”. In it, he detailed two methods of building software: The Cathedral model is carefully planned, closed-source, and...
- Steve Krouse wrote a piece that has me nodding along: Programming, like writing, is an activity, where one iteratively sharpens what they're doing as they do it. (You wouldn't believe how many drafts I've written of this essay.) There’s an incredible amount of learning and...
- An Architecture Decision Record (ADR) is a short document that captures and explains a single decision relevant to a product or ecosystem. Documents should be short, just a couple of pages, and contain the decision, the context for making it, and significant ramifications. They...
- Two weeks ago I wrote an article about governance and documentation on an organisational scale. This is the follow-up post that focuses on the project scale. You could just read this post, but it’s probably better that you start with the previous one first The biggest problem...
About a month ago
- Introduction If you want to let users call your service from their own app. This is very possible. The hard part is not generating a key. The hard part is doing the full system well. Secure storage. O...
about 1 month ago
- Naresh Jain has long been uncomfortable with software patents. But a direct experience of patent aggression, together with the practical constraints faced by startups, led him to resort to defensive patenting as as a shield in this asymmetric legal environment. more…...
- Hi friends, In February, Scour scoured 647,139 posts from 17,766 feeds (1,211 were newly added). Also, 917 new users signed up, so welcome everyone who just joined! Here's what's new in the product: 🔮 Inferring Interests from RSS Feeds If you subscribe to specific feeds (as...
- The other day I was looking at the team billing section of an AI product. They had a widget labeled “Usage leaderboard”. For whatever reason, that phrase at that moment made me pause and reflect — and led me here to this post. It’s an interesting label. You could argue the...
about 2 months ago
- Your pricing page promises usage-based credits and hybrid plans. Your billing system runs on two duct-taped Stripe subscriptions and a spreadsheet. Everyone changed their pricing in 2025. Almost nobody changed what's behind it. The post Your pricing sucks (and your billing...
- Bias toward action is defaulting to the smallest responsible step that produces real feedback, while pre-committing to guardrails so that being wrong is survivable and quickly correctable....
- This is a short blog post to announce that I'm migrating the site in which I host my paid courses to a new platform at https://learn.miguelgrinberg.com. If you have purchased a course or ebook directly from me, this article tells you how to transfer your account to the new...
2 months ago
- People tend to get attached to a specific concept of what they are trying to accomplish rather than the idea it represents...
- When you’re running a project in a tech company, understanding that your main job is to ship the project goes a surprisingly long way. So many engineers spend their time on peripheral questions (like the choice of technology X or Y) when core questions about shipping the product...
- 04 Feb, 2026 Hi friends, In January, Scour scoured 805,241 posts from 16,555 feeds (939 were newly added). I also rolled out a lot of new features that I'm excited to tell you about. Maybe because of some of these, I found more posts than usual that I thought were especially...
- You’ve probably heard this famous quote from Steve Jobs about saying ‘no’: People think focus means saying yes to the thing you’ve got to focus on. But that’s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully....
- 8 years building billing systems and I’m still wrong about just how hard it actually is. Not “getting better at it hard”, but like really genuinely discovering new layers of complexity I never saw coming. — Back when we started Paid at the end of 2024, I remember people telling...
- Stripe is famous for having some of the best product docs, largely because they are "designed to feel like an application rather than a traditional user manual". I spent much of the last week building and writing the docs for Scour, and I am quite proud of the results....
3 months ago
- I got a lot of ideas for side projects rattling around in the old tin can. As part of my “No new projects” initiative, I’m trying to jump on building prototypes so I can decide if I want to explore ideas more or call it quits. A handful of my ideas are riffs or twists on...
Rows per page