15 engineers hop on an hour-long video call on a Friday afternoon. Is there a team meeting? A pressing bug to fix before the weekend, perhaps? As it turns out, the engineers are all there to talk about… an article.
Yes, they’re meeting to discuss an article about distributed systems, and as it turns out, it’s one of the most valuable ways for eng team members to have a say in architectural decisions. Every month for the last year, engineers at CircleCI have met to discuss a new article, essay, or video on a hot topic in engineering as part of an engineering reading club (though the club began as a “book” club, like anything else in tech, it had to evolve to better meet the needs and constraints of its ‘users.’ Devoting time to reading a full-length book was a high barrier to entry for busy engineers, so the team reimagined it as a more general reading club to encourage participation).
The club isn’t just a practice in community building, though - it’s designed to bring interesting topics to the fore, and to empower engineers to make decisions about the tools and systems that they work with every single day.
As is common practice in the industry, decisions about the technology stack and the direction for the product typically come from the top ranks of leadership. The CTO makes a call about a new system or tool, and the engineering managers work to implement the change across their teams. When these types of big decisions get made, it’s difficult to gather honest feedback from every member of the team. At CircleCI, we’ve discovered that one of the most effective ways to open the floor up for discussion is, somewhat surprisingly, through the reading club.
The club encourages thought leadership from the bottom up. Because team members choose the topic every month, conversation and debate flow freely, and ideas make their way up the chain of command, rather than down. This hour-long commitment is more than worth it for the team. It lets them challenge our established ideas and practices, discover new technology, and inspire change and growth across the org. As club moderator and Senior Release Engineer, Michael Marquez, points out, the discussions always give team members a nuanced view on engineering tools and philosophies - it’s not simply ‘this is the right way to do this,’ it’s much more sophisticated:
“What I’ve learned from this experience is that there’s no magic solution to solving every problem, only tradeoffs. There is no perfect architecture and no perfect testing. As the industry grows and evolves, so do we.”
Practicing a mindset of continuous improvement
The club gives members the freedom to challenge the status quo, in an effort to continuously improve the team and the company. In fact, the main purpose of the club is to choose topics that inspire change in the org - whether that means exploring a new tool, challenging the structure of a team, or brainstorming a new feature. When controversial topics come up, like testing in production, for instance, engineers with varying levels of experience and from across different eng teams get to weigh in. The club has even codified the idea of continuous learning in their mission statement:
“The goal of the [reading] club is to explore topics related to engineering and engineering best practices via books, videos, or discussion topics in an effort to grow professionally as individuals and as a company. The ultimate goal is to incorporate any valuable lessons from the meetings back to our teams and the company.”
And the team actively puts that mission to practice. For instance, after one meeting on consumer-based contract testing, engineers from the club formed a small tiger team to see if they could put together a prototype for what that environment would look like. Sometimes, these lively reading club discussions spawn grassroots initiatives like this. More often, though, ideas for better tools, systems, or practices make their way to VP of Platform Michael Stahnke and CTO Rob Zuber, who incorporate the feedback into architectural decisions.
Take a look back at what we’ve read over the last few months:
June - Extending microservices to the frontend
July - Verifying Microservices Integrations with Contract Testing
August - Keeping Master Green at Scale
September - Notes on Distributed Systems for Young Bloods
October - Yes I Test in Production (And So Do You)
The engineering reading club (fka book club) is more than an excuse for team members to get together every month to discuss interesting topics. It’s a creative space for idea generation and debate, and puts to practice the core values of our organization and of our product. If you’re looking to start your own engineering book club, here’s what we recommend:
Let members of the engineering team run the meetings, not upper management.
Set your scope within reason. Choose a meeting cadence that works for your team, and pick articles, videos, or books that participants will have time to read or watch.
Choose a topic that the team finds interesting for each meeting to keep the discussion lively; you don’t have to stick to what the CTO is reading.
If you start your own reading club, tell us how it goes by tweeting us @CircleCI.