My first product adds type hints to Python code. When I tell people this, there's usually a polite pause. Type hints. In 2026. With the whole frontier of AI open, that's what you picked?
Yes. On purpose. Let me make the case for boring.
Every engineering organisation carries a layer of work that everyone agrees matters and no one will do. Typing the legacy codebase. Fixing the four hundred scanner findings. Updating the lockfiles. Writing down what the deploy script actually does. This work has three properties: it's necessary, it's verifiable, and it's miserable. Engineers flee it for feature work the way water flows downhill, and honestly, I understand. Two weeks of annotating function signatures produces no demo, no launch, nothing to point at in a performance review except the absence of future pain.
But look at those three properties again. Necessary, verifiable, miserable. Necessary means there's real demand. Miserable means no human competition. And verifiable — that's the one that matters for autonomy. Work with a crisp definition of done is exactly the work you can hand to an autonomous system, because you can build a gate that knows whether it succeeded. "Add type hints, zero pyright errors" is checkable by a machine. "Make the architecture better" is not. The boring work isn't what's left over after the interesting problems are taken. The boring work is where autonomous engineering is possible right now, with guarantees instead of vibes.
There's a detail in Symbiote I keep coming back to because it captures the whole philosophy. Before any write reaches disk, a deterministic check aborts it if a function's existing docstring would shrink by more than 20%. That guard exists because I watched full-file rewrites quietly compress other people's carefully written documentation under context pressure. Nobody would have noticed for months. The guard is unglamorous, it fires rarely, and it's one of the most important lines in the codebase. Reliability lives in exactly these places: the lock log, the diff-bounds check, the docstring guard. None of them will ever be a headline feature. All of them are why the work ships and gets merged by maintainers who owed me nothing.
The pitch I ended up with for CallMed AI says it plainly: the boring work no one wants to do, done overnight. I've stopped being embarrassed by how modest that sounds. A stranger's codebase, a real improvement, a clean PR by morning — I know larger-sounding missions that deliver less.
Somewhere along the way I started thinking of it as a kind of craft position. Anyone can be excited by the exciting parts; that's what makes them exciting. Caring about the dull parts is a choice, and it compounds. The teams that merge my PRs don't remember the model that generated the annotations. They remember that the diff was correct and boring, which is the highest compliment a diff can get.