Writing
Featured
What happens when implementation gets cheap?
Aug 12, 2026
If writing software becomes dramatically cheaper, what becomes more valuable?
Making colorblind-safe the default, not the option
Jul 26, 2026
Why I couldn't just 'pick nice colors' for a heatmap library, and what it actually took to make CVD-safe, perceptually uniform palettes the only choice instead of a checkbox.
All writing
Visibility is an engineering problem too
Aug 17, 2026
Why I became more interested in making good work visible, and how that eventually influenced the tools and team structures I built.
We wanted to make recognition fair. It wasn't that simple.
Aug 16, 2026
What I learned while trying to build a recognition system that didn't just reward the most visible work.
QA shouldn't be the last line of defense
Aug 15, 2026
What I learned when tight sprint timelines turned every release into a fight between development, QA, and product.
When the org chart gets in the way of shipping
Aug 14, 2026
A production-critical project needed to ship in a week. The team that could deliver it didn't belong to one team.
Sometimes the manager has to take the hit
Aug 13, 2026
Performance ratings are rarely popular. I learned that leadership sometimes means owning an uncomfortable decision.
What happens when implementation gets cheap?
Aug 12, 2026
If writing software becomes dramatically cheaper, what becomes more valuable?
AI can produce code. It doesn't own the engineering decision.
Aug 10, 2026
AI-assisted development makes implementation cheaper. That changes where engineering judgment matters.
How I made a growing interview panel more consistent
Aug 9, 2026
When more engineers start interviewing, consistency becomes a different problem from hiring capacity.
Build leaders, not dependencies
Aug 8, 2026
The best sign that you're leading well may be that fewer things need to come through you.
Technical debt isn't automatically bad
Aug 6, 2026
Technical debt gets talked about as something engineering teams should eliminate. Sometimes taking it on is exactly the right decision.
Sometimes the best architecture decision is a hiring decision
Aug 5, 2026
The Angular-to-React decision wasn't really about which framework was better.
Scaling an engineering team isn't about hiring more engineers
Aug 4, 2026
Growing an engineering organization from around 20 to 65+ taught me that headcount is only one part of scaling.
Visibility isn't the same as more meetings
Aug 2, 2026
Managing multiple products taught me that teams need visibility as they grow, but visibility can quickly turn into ceremony.
Remote work didn't break communication. It revealed where it was already broken.
Jul 31, 2026
What managing and hiring remotely during COVID taught me about context, ownership, and communication.
0→1 needs a different operating system
Jul 29, 2026
What worked when we were trying to prove a product didn't always work once there was a product, a team, and customers depending on it.
The feature request was impossible. The outcome wasn't.
Jul 28, 2026
A customer needed a large CSV export immediately. We couldn't build everything in time, so we changed the shape of the solution.
The accessibility claims I almost shipped before they were true
Jul 27, 2026
Building an accessibility-first library taught me that the docs describing your accessibility claims are just as load-bearing as the code, and just as easy to get quietly wrong.
Making colorblind-safe the default, not the option
Jul 26, 2026
Why I couldn't just 'pick nice colors' for a heatmap library, and what it actually took to make CVD-safe, perceptually uniform palettes the only choice instead of a checkbox.
No database, on purpose
Jul 20, 2026
Why Ladderline stores promotion evidence in plain markdown files instead of a database, and the one place that decision still costs something.
Getting Tracewood out of the monorepo without losing its history
Jul 18, 2026
How I pulled one app out of a shared repo, kept its real commit history intact, and the specific way the Vercel redeploy button lied to me about it.
Two permissions sitting in a manifest that nothing in the code used
Jul 10, 2026
A routine store rejection on an unrelated extension turned into a habit of reading permission manifests skeptically — which is how a broad host permission and a scripting permission with no code behind them got found.
Where does an API token live when your client is a public zip file?
Jul 6, 2026
Why anonymized usage counters for a browser extension get proxied through a serverless endpoint instead of calling the analytics backend directly.
No articles match your search.