I ship software by deleting more code than I write.
I'm Rowan Petrov, a staff engineer who treats a diff that removes a thousand lines as the best kind of feature. Twelve years of build systems, design systems and 3 a.m. incident calls have left me convinced that most products are one good deletion away from being fast.
Building
Work Experience
I move between companies more often than the average. It is almost always about the culture, occasionally about the build times.
Senior Software Engineer @ Apple
Feb 2023 – Present
Cupertino, CA
Software Engineer @ Google
Mar 2021 – Jan 2023
Mountain View, CA
Software Engineer @ Microsoft
Jul 2019 – Feb 2021
Redmond, WA
Software Engineer Intern @ Netflix
Sep 2017 – Jun 2019
Los Gatos, CA
I've been building a lot of things
Latticeboard
A practice arena where engineers rehearse front-end and systems-design interviews against a timer.
Onyx Kit
A component workshop for teams that ship dark-mode-first products and hate reinventing a modal.
Shadow Foundry
Copy-and-paste elevation presets that still look intentional on a near-black background.
Wraith Studio
A two-person design and engineering studio that somehow keeps getting the job done.
Harborline
One-stop shop for the web application work nobody else wants to scope, tailored per client.
Latest contributions to open source
free-tier-atlas
A catalogue of SaaS, PaaS and IaaS products with free tiers that are genuinely useful to a small team.
06type-forge
Exercises, notes and a small community around type-level programming.
03rowanpetrov-dev
This website. Rebuilt from scratch roughly once a year.
41133plain-developer-portfolio
A no-nonsense portfolio starter for developers who want something online this afternoon.
185439browser-code-runner
Build your own editor that compiles and runs forty-odd languages without leaving the tab.
120386audio-stream-lab
A small music streaming app written the boring way: server-rendered pages and honest SQL.
4365sidenote
Source for the Sidenote writing app.
77181screencast-scraps
Every demo from my video channel — one branch per episode.
014screencast-scraps-v2
111
What a site starter actually buys you
A starter is a finished site you adapt instead of an empty folder you fill. Here is what that trade really costs, what it saves, and the point at which you should walk away from one.
Read moreWhy a writing habit pays off
Publishing regularly is the cheapest way I know to sharpen your thinking. Here is what a small, deliberately boring writing habit did for my engineering.
Read moreUses
Ironwood 16 notebook
My main machine for the last eighteen months. Thirty-two gigabytes of memory means I can keep four containers and a language server awake without hearing the fans.
Slate 12.9 tablet
Overrated for work, excellent for everything else. I read specifications and long-form writing on it and never once opened an editor.
Kestrel 75 keyboard
A compact mechanical board with tactile switches. Small enough to travel with, loud enough that my family knows when a deploy is going badly.
Drift Ergo mouse
The free-spin scroll wheel is the only reason I can still review a two-thousand-line migration without hating my wrist.