Writing
- February 2026Stop parallelizing your AI agentsThe merge tax will eat your 10x speedup
- October 2025Don't give your team pop quizzesA pattern of shitty culture
- April 2025Thoughts on Income Sharing AgreementsMust capitalism + education = exploitation?
- August 2024
- June 2024Why is redirect logic always so complex?and what can we do to address it?
- May 2024High performers job hop when they can't find a high performance cultureOn people leaving bad managers, frequently
- March 2024
- March 2024
- March 2024
- February 2024Big reusable things are complexConditionals attract bugs
- February 2024
- February 2024
- February 2024Sequential vs. parallel projects on a small teamTreating engineering management like insurance: thinking about project portfolios in terms of risk, cash burn, and the morale dynamics of small teams.
- November 2023Opportunities in disguiseOn the first raise I ever gave, the moment of joy that lasted 60 seconds, and the rookie reaction I'm glad I unlearned.
- November 2020Disagree and commitThree choices when a Big Decision goes against you on an executive team — and why the middle path is almost always the right one.
- November 2020The robustness principle of human communicationPostel's Law for humans: accommodate mediocre communication from others, and do not tolerate it in yourself.
- April 2020Extrapolating from one numberWhy comparing coronavirus to the flu by a single number was wrong, and why bootcamp placement rates were the wrong metric for an online program — a pattern.
- February 2018On choosing boring technologiesA reaction to McFunley's Choose Boring Technology. Velocity is everything — and a decade in Rails has convinced me of it.
- UndatedIf you multitask during meetings, your team will, tooOn meeting attention as a leverage point — and how casually checking email mid-meeting tells your team what's actually OK at your company.