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 excerpts from my still-incomplete manuscript. I'll also share some tangential thoughts that didn't make the cut. Topics will include:
If any of this sounds interesting, you should check out the introductory post and subscribe.