About
I am Jonathan — an engineer in San Francisco who has spent most of the last decade on the unglamorous side of product work: the schemas, the deploy paths, the tools everyone touches and nobody owns.
I grew up in the Seattle suburbs, started programming because I wanted to modify a game rather than play it, and have never quite lost that motivation. The work I am proudest of tends to be infrastructure that made someone else's week easier without them having to learn anything new.
How I work
Write the thing down first. Most disagreements about a design are actually disagreements about the problem. A page of prose surfaces that in a day; a prototype hides it for a month.
Reversible beats correct. I would rather ship something I can undo in thirty seconds than something I am confident about. Confidence is not a deploy strategy.
Optimize for the person reading this in two years. Usually that person is me, and I will have forgotten everything. Boring, explicit code with good names has never once let me down.
Talk to whoever is affected. The best platform decisions I have made came from sitting with a product team for an afternoon, not from a design doc.
Outside work
I bake bread badly and persistently, run in Golden Gate Park most mornings, and am slowly working through a stack of books about how cities are built. I play upright bass at a level best described as enthusiastic.
Get in touch
Email is best: hello@jonathanchien.com. I am glad to talk about platform engineering, migrations that went badly, or early-career questions — I answer those first.
Not currently looking for a new role, but always happy to meet people working on developer tools or infrastructure.