September 27, 2016 A very common technical interview is the "Architecture Interview", and this post digs into what signal they're looking for and how to give that signal.
September 20, 2016 The distance between a bug and a feature is never smaller than in interface design. We often define tool limitations as features, but here I'll argue for designing flexible interfaces and filtering behavior by layering policies on top.
September 18, 2016 Lyft recently released Envoy, a nice load balancing and routing tool, and I wanted to write up some early thoughts about it's design and architecture.
September 11, 2016 Rolling out cost accounting is often viewed as unimportant and unexciting work, but I think it's infact a critical reliability project.
June 10, 2016 Interviewing fills many with a sense of dread, but as an industry I think we are incrementally moving in the right direction. Here are some steps towards a humane interview process.
May 29, 2016 We often talk about individuals getting burned out by their work, but for large projects, entire teams burn out as well. Here are some ideas around healing a burned out team.
May 21, 2016 When I have a chunk of free time, I tend to rewrite my blog engine, and this is no exception.
May 7, 2016 The longer you manage, the more looks you'll get at different situations, and eventually you'll start to develop a personal philosophy of management. This is a bit on mine.
September 27, 2015 Engineering management is a giant field, typically practiced by those with no training and little experience. One of the first and largest challenges for new engineering managers is figuring out why engineering managers exist at all, and how they can add value, and this post talks about the most important values you can add value to your team and company.
June 2, 2014 Having spent the last four years rolling out a handful of service oriented architectures, some lessons are finally coming together, and this is an attempt at documenting them.
March 31, 2014 One of the fundamental pieces of infrastructure for an effective software engineering team is their deployment pipeline. Here we cover a fairly basic but effective pipeline for deploying code.