Our Engineering Book Club
Every Wednesday afternoon you will find the engineers at Panorama huddled by the couches or gathered around the desks by the projector. Why? It’s Book Club time!
The Book Club started back in June 2014 when we realized that all of us had favorite programming/technical books which we loved talking about and wanted everyone else to read. So we decided that we’d all read a book together and then share our thoughts, learnings, questions. And then, every Wednesday, we discuss for half an hour what the chapter taught us, what we agree or disagree with and how can we incorporate the learnings in our daily work.
We try to select books across different topics that are still directly or indirectly related to software engineering. Some of the books we’ve read so far are:
- The Pragmatic Programmer by Andy Hunt and Dave Thomas
- Practical Object-Oriented Design in Ruby by Sandi Metz
- The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford
So as not to limit ourselves to just books, we’ve also added research papers to our readings. Every team member was asked to come up with their favorite research papers or papers they felt everyone should read.
Some of the papers that made it to the top of the list were:
- Lamport, Leslie. “Time, clocks, and the ordering of events in a distributed system.”
- Rivest, Ronald L., Adi Shamir, and Len Adleman. “A method for obtaining digital signatures and public-key cryptosystems.” Communications of the ACM 21.2 (1978): 120-126
- Moseley, Ben, and Peter Marks. “Out of the tar pit.” Software Practice Advancement (SPA). 2006.
How has the reading club helped us?
Reading books together has given us a new shared vocabulary. Before reading The Pragmatic Programmer, we used to talk about “neglected code”, “unimplemented methods” or areas of code that could really do with a bit of attention. After finishing the book, we started referring to them as “broken windows”. Since then, it’s become much easier to identify, prioritize and, hence, fix these problems in our code.
Engineering workflow and processes
After reading The Phoenix Project, we started our own “Kanban” board for engineering. The board has proved to be a great tool in understanding our “WIP” (a term from the book meaning work-in-progress). Reading the book has also allowed us to differentiate between “Planned” and “Unplanned” work as part of our development process.
Sharing the reading lists
Most of us always have a list of papers, books, blog posts, and articles that we have bookmarked because we loved them or because we want to read them some time in the future. The reading club has created a new opportunity to share with our colleagues these lists, learn about each other’s interests and create an environment to to stay curious and keep learning.
And, more than anything, the reading club has proved to be a great opportunity for us to spend quality time debating anything and everything that might tickle our brains.
Acknowledgements: Many thanks to Jake, Zoe, Geoffrey and everyone else who reviewed drafts of this post.
Sound fun? We’re hiring!