Culture is a hard thing to define. It has many layers, many facets, many manifestations and two people looking at the same practices might come to different conclusions about what it implies. Rather than wade into the choppy "what is culture" waters, we thought we could let you come to your own conclusions about the engineering culture here at Spreedly with a quick peek into something we've instituted recently - an engineering book club.
Here's how it works at Spreedly: One of the engineers recommends a book, most often, but not limited to, a legit software development topic. Some recent examples include Distributed Systems for Fun and Profit and Release It!. Each week, after reading the same few chapters, we meet for an hour after lunch to discuss what we found interesting, what applies to Spreedly, anything we didn't quite get etc.
This type of internal meetup has several benefits. First, it's a no-pressure learning opportunity. You can interact with your peers and share ideas outside the normal operating environment which strengthens existing relationships and creates new ones. It also establishes the precedence that investing in yourself through continuing education is supported and even expected within the company. Couple the existence of a book club with the fact that reading for the club is encouraged during business hours and you quickly realize that the people are the priority here (much easier to say than to do). Finally, diving into various engineering topics together allows us to take a moment to reflect on the direction of our production systems, outside the daily grind that can so often obscure this type of blue-sky thought.
As a direct result of what we've read here at Spreedly we've all taken a much more involved role in increasing the resiliency of our systems and in providing operational visibility into its various components. We now also have a shared vocabulary when discussing the growth, operation and architecture of our systems which serve as building blocks for being able to more efficiently discuss complex topics. "Network partition", ‚"circuit breaker", ‚"bulkhead" and many others are now a common part of our engineering discussions.
Hopefully this sounds like something you might want to do at your company, if you're not already. Here are some tips to get started:
There's quite a bit more to Spreedly engineering than our book club, but we thought a quick peek into this one aspect would give you an appreciation for what we're trying to accomplish here as we grow the team and build out our systems.