My conversation with Dax Raad gave me one of the clearest examples so far of what product engineering looks like in practice. We were not talking in vague terms about "taste" or "craft." We were talking about what happens when a product keeps growing, the team keeps shipping, and the experience quietly gets worse.
Dax has been thinking about that while building OpenCode, and I thought his framing was especially helpful because it applies even to products for developers. Fast shipping does not protect you from product problems. In some ways it makes them easier to create.
The Junk Drawer Problem
One of the strongest ideas in the episode was Dax's description of the product life cycle for a user. First there is onboarding, where almost everything has to get out of the way except the one thing you most want the user to understand. Then there is the next problem: how people discover everything else.
That is where his "junk drawer" metaphor landed for me. If your product has a simple entry point, but all the rest of the power gets tossed into one undifferentiated command palette or catch-all surface, you have not really solved discovery. You have just moved the clutter.
That was a useful reminder for me because it is so easy, especially with agents, to keep adding one more thing and tell yourself you will organize it later.
The Part Underneath the Tactics
What I think sits underneath all of Dax's product advice is belief. Near the end of the episode, he said you first have to convince yourself that this work really matters. That landed with me because there are plenty of forces pushing in the opposite direction. It is easy to rationalize mediocre product quality, especially when the surrounding culture rewards velocity and novelty.
But if you do not believe product work matters, you will not keep doing the hard parts: simplifying onboarding, sequencing discovery, pruning features, and revisiting decisions that technically "worked" but made the product heavier.
If I were to turn this episode into one practical challenge, it would be this:
- pick one product you work on
- look at the onboarding path
- then look at how the second, third, and fourth important features are discovered
- ask whether that path feels intentional or accidental
