What Are Communities of Practice?
“Communities of practice are groups of people who share a concern or a passion for something they do and learn how to do it better as they interact regularly.” — Etienne & Beverly Wenger-Trayner
A Community of Practice has three main characteristics:
A CoP is more than just an ordinary group of friends. It's a group with a shared domain of interest committed to improving their craft.
In the pursuit of this shared interest, communities of practice engage in joint activities, discussions, helping each other and sharing information. One of the core components includes interacting and learning together.
It is more than a community of interest. Rather, members of a community of practice are practitioners who can share their best practices through their experiences, stories, tools, and approaches to problem-solving.
How do you build one?
Almost two years ago now, in 2018, my friends and I started a weekly book club. Each week, we meet (online duh!) and discuss a chapter from a book that we pick from a shared reading list that looks a lot like this one. We come prepared with our comments, takeaways, doubts and dive into an hour-long discussion. At times these get philosophical and we (read I) end up ranting about various things but it's all in the spirit of science. We've also begun a few of our meetings with a small Astrophysics lecture to imitate Uncle Bob, those are fun to do.
Finally, we have some club rules:
- Try to avoid language-specific books and focus on paradigms, system design, testing, agile, etc.
- At least one person will have a small grasp of the topic to help lead the conversation.
- Everyone participating must have read the chapter/topic before joining the meeting.
- If a book is not easy to read, we will drop it.
- It should be fun, not a monologue or lecture.
- Non-tech books are also welcome if there’s overall interest.
I'm proud to say that we have broken every single one of those rules. As they say, rules are a good default but nothing more.
While many people have come and gone over the last 2 years, we're 4 people strong and alive. The question to ask is why do people participate in their time, in such communities of practice? Other than the general desire to improve our craft, I feel one of the main reasons is that the group setting makes it easier to create a regular reading habit and provides the satisfaction of having a good discussion. Of course, there are times when you are not into it and drop out for some time but there are also times when social accountability helps you push through.
We all know the value of reading, so I won't get into that. I think there are both, long term and short term values for starting a book club. You hear different opinions from people from diverse backgrounds. You may pick up books that you might never otherwise or topics you might have not even heard of. It creates a safe environment to ask stupid questions. A lot of ideas are generated for side-projects. I've been able to apply many things that I learnt in my day job, from design patterns to event storming. Meeting regularly creates consistency, we've been able to cover a lot of ground in 2 years:
- DDD Distilled: Vaughn Vernon
- Refactoring: Martin Fowler
- TDD by Example: Kent Beck
- Functional Thinking: Neal Ford
- Get Programming with Haskell: Will Kurt
- Pragmatic Thinking And Learning - Refactor Your Wetware: Andy Hunt
- High-Performance Browser Networking: Ilya Grigorik
- Head First Design Patterns: Elisabeth Freeman, Kathy Sierra
- Getting Clojure: Russ Olsen
The least important of them all are the tools/resources we use:
- O'Reilly Learning (previously Safari Books Online)
- ACM (Association for Computing Machinery)
- Google Hangouts
One of the unexpected side-effects of the book club has been that I've formed deep meaningful relationships with these friends that otherwise may or may not have happened (never say never). The club has become a cool place to hang out and discuss Life, the Universe and Everything. Our little band may die out in the future, but the relationships would definitely last forever.
I hope you find this useful. DM me if you want to chat!
References: Autodesk University