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.

explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →
explaining.software
Read on Scour →

Keyboard shortcuts

Navigation

Next / previous post
j/k
Open post
oorEnter
Preview post
v

Post actions

Love post
a
Like post
l
Dislike
d
Undo reaction
u
Save / unsave
s

Recommendations

Add interest / feed
Enter
Not interested
x

Go to

Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Discover
gb
Search
/

General

Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help