Explaining Software Design

Subscribe
Archives

Explaining Software Design

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 excerpts from my still-incomplete manuscript. I'll also share some tangential thoughts that didn't make the cut. Topics will include:

  • practical definitions for simplicity and complexity
  • names and metaphors
  • the history of software design
  • language models as software developers, and vice-versa

If any of this sounds interesting, you should check out the introductory post and subscribe.

Powered by Buttondown, the easiest way to start and grow your newsletter.