Rewriting the Yahoo! BOSS Datahub.

August 31, 2019. Filed under stories 9yahoo 1

In 2008, my approach to blogging was concocting an explosion of blog posts on breaking technologies and hoping that would translate into notoriety, page views, or at least a job beyond teaching English. I attempted this approach to various degrees with PyObjC, Processing.js, Why The Lucky Stiff's Shoes, and a few others.

Describing fault domains.

August 17, 2019. Filed under infrastructure 34architecture 30

Fault domains are one of the most useful concepts I've found in arhcitecting reliable systems, and don't get enough attention. If you want to make your software predictably reliable, including measuring your reliability risk, then it's an extremely useful concept ot spend some time with.

Distributed systems vocabulary.

August 11, 2019. Filed under infrastructure 34architecture 30

One of the challenges of having a discussion about distributed systems is agreeing on vocabulary. I've written up some of the vocabulary I've found most useful for having such discussions.

Reclaim unreasonable software.

July 28, 2019. Filed under architecture 30

Big Ball of Mud was published twenty years ago, and rings just as true today: the most prominent architecture in successful, growth-stage companies is non-architecture. Crisp patterns are slowly overgrown by the chaotic tendrils of quick fixes, and productivity creeps towards zero.

What's the inverse of literate programming.

July 14, 2019. Filed under literal 1rust 1

One of my favorite ideas in programing that hasn't ever quite worked is literate programing. Literate programming explores how the act of writing and reading software might work if we blended code and documentation--the how and the why--much more closely, usually in the same file.

Head in the clouds.

July 7, 2019. Filed under infrastructure 34cloud 3

When I wrote about the public cloud expansion forcing infrastructure engineers to evolve their role, I sort of imagined that the precursor question--should we run our infrastructure on the public cloud?--was already quite settled, but it's a discussion that I find myself having more rather than less frequently each year, so I've taken some time to structure and document my thinking.

Don't follow the sun.

July 3, 2019. Filed under infrastructure 34reliability 3

When I get the chance to speak with engineering leaders, I sometimes get asked to endorse an already underway plan to spin up a “follow the sun” on-call rotation. My advice is probably not what folks anticipate: please don’t.

Notes on Escaping the Build Trap

June 30, 2019. Filed under review 13book 12product 5

Last year while thinking about product management in infrastructure I read Cagan's Inspired, which I thought was a very solid book. I just finished reading Perri's Escaping the Build Trap, which is similarly excellent, and I've written up some notes.

Fostering program engagement.

June 26, 2019. Filed under management 127org-programs 2

Some of my favorite pieces to write are those that end up being interesting to a pretty small audience, but tap into a central nerve for that small audience. So far, 'Programs: tips for owning the unownable, has been in that category.' Most folks don't engage much with leading programs, but folks who are have feelings and thoughts.

Programs: tips for owning the unownable.

June 25, 2019. Filed under management 127org-programs 2

An important tenet of organizational design is minimizing cross-team coordination to achieve your goals. Teams that can move with little cross-team coordination finish projects while others are still ratifying their implementation proposal.