by Zach Tellman For the past few years, I've been working on a book about software design. Its thesis is fairly simple: Software development can be reduced to a single, iterative action. Almost everything we do in the course of a day — the pull requests, the meetings, the whiteboard diagrams, the hallway conversations — is an explanation. Our job is to explain, over and over, the meaning of our software: what it is, and what we expect it to become. In this newsletter, I'll be sharing some...