The software industry is vast, and has a daunting number of books...so we started an Engineering Book Club to share our learnings across the business!
If you work in the software industry, you know that technology moves fast. Keeping up with the latest trends, methodologies, and best practices can be hard. One way to stay on top of your game is by joining – or creating! – a software engineering book club. Yes, you heard that right. A book club for engineers.
Now, I know what you’re thinking. Engineering books are notoriously difficult to read. They are often dry, technical, and filled with jargon. But that’s precisely why a book club can be helpful. By sharing the load, you can make the reading more manageable. Plus, discussing the book with others going through the same struggle can make it more enjoyable.
Here at Envato, we started our engineering book club in 2022. We decided to try it, and it’s been a tremendous success. Our members meet every fortnight and have covered various topics, from object-oriented programming to high-level software philosophies. We found that the book club provided a unique opportunity to learn from each other and sparked some fun and feisty discussions.
But why stop at books? You can include articles, blog posts, podcasts, and YouTube videos. The goal is to stimulate conversation and learning. The point is not to get through the entire book in one go but to discuss each chapter and what you learned. It doesn’t even matter if you finished the chapter. Just come along and learn.
One of the great things about book clubs is that they provide a safe environment to share opinions. Engineers can be notoriously opinionated. We have one called Jon. I bet you have a Jon too. But in a book club, everyone can express their views and be heard. The great thing about Jon is he’s also an excellent listener! It’s a great way to practice active listening, a critical skill for any engineer.
I like Engineering Book Club because we bring the thought-provoking books into our context through our discussions of the topic. It’s much more rewarding and productive than reading on your own!
Niko Pax, Senior Engineer
Plus, talking about what you’ve learned helps everyone learn. Everyone has different experiences, and they can bring their unique perspectives to the table. For example, some people may have implemented the concepts discussed in the book and can share their successes and failures. Others may have questions or doubts that others can help them with.
So far, a discussion-worthy favorite has been Sandi Metz’s ‘Practical Object-Oriented Design’. This book is great for engineers of any level. It’s also broken down into well-formed discrete chapters that don’t necessarily need to be read in order. We have covered dependency injection, duck typing, and inheritance vs. composition. The discussion has been educational and fun.
Another discussion starter has been Gary Bernhardt’s ‘Boundaries’ talk. This book club meeting stimulated great conversation around functional cores and imperative shells. It was new to many of us, but it made us think about improving our daily programming habits. We recommend it.
Gary Bernhardt’s Boundaries talk is the bookclub resource I’ve enjoyed most to date: it’s a fascinating journey into how to design robust, extensible systems that are easy to test. Even though, as a junior, many of these principles aren’t directly relevant to my daily work, having exposure to these fundamental ideas is incredibly valuable to my development as an engineer. This talk helped me understand what “good” looks like, and some tried and tested ways to achieve that. That said, I think a lot of the benefits I gained from this video are directly attributable to the bookclub setting. Having many experienced engineers providing their input to unpack the talk’s topics and practices in a collaborative way undeniably elevated my learning experience.
Moya Mauthoor, Junior Engineer
Starting a book club is relatively easy. You can contact your colleagues and see if anyone is interested in joining. You can also create a Slack channel or a mailing list to organize the meetings. The most important thing is to make it accessible and inclusive.
Here are some tips to get you started:
Simple, right? Every software company should have a software engineering book club as a fun and light-hearted way to stay on top of your game, share opinions, and learn from others. Plus, it’s a great way to build camaraderie and foster a culture of continuous learning.