
This book presents a set of patterns that organize all the informal experience successful Smalltalk programmers have learned the hard way. Understand these patterns, and you can write much more effective code. Understand the concept of Smalltalk patterns and why they work. Then learn patterns for working with methods, messages, state, collections, classes and formatting. Walk through a development example utilizing patterns.Smalltalk programmers, project managers, teachers and students -- both new and experienced.
I don't think these are exclusive. Almost a year ago, I wrote a blog post about this [0]. I spent the time since then both learning better software design and learning to vibe code. I've worked through Domain-Driven Design Distilled, Domain-Driven Design, Implementing Domain-Driven Design, Design Patterns, The Art of Agile Software Development, 2nd Edition, Clean Architecture, Smalltalk Best Practice Patterns, and Tidy First?. I'm a far better software engineer than I was in 2024. I've also vibe coded [1] a whole lot of software [2], some good and some bad [3].
You can choose to grow in both areas.
[0]: https://kerrick.blog/articles/2025/kerricks-wager/
[1]: As defined in Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond by Gene Kim and Steve Yegge, wherein you still take responsibility for the code you deliver.
For automated testing, I'm in the middle of reading Developer Testing by Alexander Tarlinder, with xUnit Test Patterns by Gerard Meszaros coming close behind. I'm also working through Test-Driven Development: By Example with my wife as we have time.
For SQL, I read Grokking Relational Database Design by Qiang Hao last winter, and I started SQL Queries for Mere Mortals by John Viescas this week. Sadly, my flub with "left inner join" was not a joke.
For OOP, I've been on a whirlwind tour: OOA&D With Applications by Booch et al., Object Thinking by David West, POODR and 99 Bottles of OOP by Sandi Metz, Domain-Driven Design by Eric Evans, IDDD and DDDD by Vaughn Vernon, Design Patterns in Ruby by Russ Olsen, Clean Architecture by Robert C. Martin, and Smalltalk Best Practice Patterns by Kent Beck. Still on the docket are Design Patterns by the Gang of Four, PoEAA by Martin Fowler, Smalltalk, Objects, and Design by Chamond Liu, and Object Design by Rebecca Wirfs-Brock.
> confessing that you don't know something and gleefully stopping there is not much better [...] we shouldn't let shamelessness about what we don't know limit us either
I promise you, this was not gleeful and this was not shameless. Shame and fear affected me for months on these issues. And I'm not stopping there... From the end of the article: "I’m going to continue to work on skill building, but now I feel free to write about it. If [...] you’d like to help me fill [my knowledge gaps], [...]"
> if you want to write a blog about a topic, then part of the requirements here is that you do hold yourself to a high standard
A high standard of writing, maybe. But plenty of great stories come from those who are striving for a high standard, not just those already in the upper echelon. It's what makes this place different from academic journals.
Further reading: Refactoring (Fowler), Smalltalk Best Practice Patterns (Beck).