Dev Book Club
Why the dev team at Viget loves reading technical books together.
Book clubs at Viget are kind of a thing. And this isn't always just-for-fun. Occasionally, developers on our team gather for a "Dev Book Club." It's exactly what it sounds like: we read a technical book together. A few of us recently read the excellent book, Designing Elixir Systems, by Bruce Tate and James Gray. I'll leave the wisdom gained from that book for another post because today, I'm focusing on the what and why and how of Dev Book Clubs. They've been a great tool for us over the years, so we want to share a bit about them.
Let's start with the obvious reason to do a dev book club. If you're looking to learn something or go through a particular book, then this is a way to do that with your team.
I pay more attention to technical reads with a little accountability, and I believe that's true for most of us. Setting a schedule and knowing you're going to discuss your readings with teammates provides an extra incentive to follow through on professional development goals, especially when project work gets busy.
Most of us get more out of a book if we talk about it together. More than once while reading "Designing Elixir Systems," I would come to a meeting with a hazy understanding of the concepts but leave with a solid grasp.
- Shared Technical Vocabulary
One huge benefit of this particular book club was the way it gave us a shared technical vocabulary, which is especially useful for code reviews and collaboration. How often have you looked at a block of code and thought, "This could be cleaned up," but struggled to find a good way to say that without actually rewriting it? Reading a book together means we all have the same names for the ideas, and we noticed the difference in our code reviews. Vague comments became specific requests that we all understood. For example:
"This is a little hard to follow."
"Can you write this function at a single level of abstraction?"
"Is there a way to do this with pipes?"
"This would be a good place to use a token."
I like learning from and with the people I work with, and dev book club gives us another way to work together. Like many other companies, we've been fully or mostly remote since the pandemic hit, and dev book club is a great way to connect with people we aren't seeing as often as we used to. (Want to join us? We're hiring!)
Dev book clubs are low stakes, and can be spun up or down depending on team availability. They can involve as few or as many people as want to read the book. We've found it works best when one person runs everything for a particular book. That usually involves: picking the book, scheduling the meetings, and having an agenda for each meeting (usually a chapter or two). And it's okay if a book club starts off with six people interested and ends up with four by the last few chapters.
This can be arranged however makes sense for the team at the time. If a few people are in between big projects and want to learn something new in a hurry, you can hit it hard and cram it all into a week or two! But most of the time, we find once a week or every two weeks with a chapter or two per meeting sets a good pace.
Overall, these book clubs have been a low-key but high-value part of our team for the last several years. They have influenced our tech choices, code reviews, and helped us level up our skills, all without putting too much of a burden on our schedules or getting lost in the shuffle. So let me know, what's your team reading?