programming books

Start a Book Circle

- Why should I start a book circle?

A book circle is a great way to facilitate discussions and explore topics as a team. It creates opportunities to explore new ideas and re-evaluate old habits.

- Where do I start?

All you need is one other person who wants to try. An excellent place to start looking is with your current team, or maybe you know some alumni who might be interested.

- My manager won’t set aside the time for it.

If you have a manager who does not see the value in this sort of activity and you need them to approve it, then you should ask for a trial run. Pick a short book or a research paper and evaluate it. If it yields positive results for the team, the manager might be more likely to accept a book circle.

Meetup is also a great way to start a book circle giving more people outside of the company you work for to join.

- What should we read?

If you (or your team) are struggling with something in particular, you should start there. For example, Clean Code and Refactoring are good candidates if code quality is lacking. Test-Driven Development should generate interesting discussions if the team is not practicing TDD. User Stories Applied if planning or story writing is problematic.

Avoid programming books about specific programming languages or frameworks. Syntax or features are usually not that interesting (but don’t disregard programming books like Seven Language in Seven Weeks, an excellent resource for paradigm comparison).

Don’t pick long and difficult programming books. Picking The Art of Computer Programming is probably a poor choice because of its complexity and length.

Remember, books are just someone else’s opinions, sometimes based on data and sometimes on experiences. You don’t have to agree with the author, but try to understand them.

- What do I need to prepare?

Decide on a programming book to read. If you have people already signed up, research what interests them and make an educated guess on what you think will work. Then check with the group if they want to read it. Sometimes a voting poll can help if the group can’t agree.

Pick a day and time of the week and set aside at least 30 minutes or more for discussion. There will be times when not all can attend, and you need to decide what’s most important, progress or that everyone can participate.

Keep the reading pace consistent. Have an accessible resource that clearly states what pages to read for which dates (I use a pinned note in a dedicated Slack channel). Try not to make people read too much, and set the bar on pages you read every week low so people read the pages (it’s more fun that way).

- What should my role be?

You should act as a moderator and help facilitate discussions. Ask questions to people. If some people talk more than others, ask the people that don’t speak that much and give them space.

Try to minimize discussions about if the book is bad or good. You are not here to review the book but to learn from it.

- What if we are people with varying skill levels?

Different backgrounds give different perspectives on a topic, which is good. Things that are obvious to you may not be to others, and you can learn from their insights.

- What if people don’t like it?

If some people don’t like the book circle, ask them why and adjust accordingly. Book circles are more fun if people attend and are engaged in the discussions. The goal is to learn together and encourage each other.

The book circle should be voluntary. People should feel like they can read during work time.

As usual, there is no perfect formula, so you must be agile about it and adapt to your members. So start your book circle, and let me know how it goes!