Notes on software design

I'd like more conversation about system design to be about interfaces and data structures. Here are my favorite resources about this.
Jimmy Koppel's essay on the three levels of software.
Adam Gordon Bell interviewing Jimmy Koppel
A Philosophy of Software Design, John Osterhout. This is best paired with Jimmy Koppel's review.
Architecture Patterns in Python, Percival and Gregory.​
Working Effectively with Legacy Code, Feathers. (My single favorite software engineering book; it's full of wonderful information about interfaces.)

Subscribe to Nate Meyvis

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.