Invited article in IEEE Software – Technical Debt: Challenges and Perspectives

Earlier this year, I was asked to contribute to an article in IEEE Software, entitled “Technical Debt: Challenges and Perspectives.” I can’t post the entire article here, but I can post the accepted text of my part of the article here. Misusing the Metaphor John Allspaw All technical disciplines (not just software development) require different...
Continue reading...

Multiple Perspectives On Technical Problems and Solutions

Over the years, a number of people have asked about the details surrounding Etsy’s architecture review process. In this post, I’d like to focus on the architecture review working group’s role in facilitating dialogue about technology decision-making. Part of this is really just about working groups in general (pros, cons, formats, etc.) and another part...
Continue reading...

Abstract As A Verb

The New Stack has an interview with me on various topics here. I think the following part of the interview gets at what I think is an under-investigated bit of language and meaning: TNS: At the same time, I imagine that you’ve abstracted a lot of the supporting infrastructure away from the engineer. They don’t have...
Continue reading...

Architectural Folk Models

I’m going to post the contents of a gist I wrote (2 years ago?!), because Theo is right, some gists are better as posts. The context for this was a debate on Twitter (which, as always, is about as elegant and pleasing to read as a turtle trying to breakdance).  Summing up contextual influence on systems architecture...
Continue reading...

Reflections on the 6th Resilience Engineering Symposium

I just spent the last week in Lisbon, Portugal at the Resilience Engineering Symposium. Zoran Perkov and I were invited to speak on the topic of software operations and resilience in the financial trading and Internet services worlds, to an audience of practitioners and researchers from all around the globe, in a myriad of industries....
Continue reading...

Some Principles of Human-Centered Computing

From Perspectives On Cognitive Task Analysis: Historical Origins and Modern Communities of Practice (emphasis mine) The Aretha Franklin Principle Do not devalue the human to justify the machine. Do not criticize the machine to rationalize the human. Advocate the human–machine system to amplify both. The Sacagawea Principle Human-centered computational tools need to support active organization of...
Continue reading...

Stress, Strain, and Reminders

This is a photo of the backside of the T-shirt for the operations engineering team  at Etsy: This diagram might not come as a surprise to those who know that I come from a mechanical engineering background. But I also wanted to have this on the T-shirt as a reminder (maybe just to myself, but...
Continue reading...