13  Building a Community of Practice

You don’t have to fix all of society’s ills in order to teach programming, but you do have to be involved in what happens outside your class if you want people to learn. This applies to teachers as well as learners: many free-range teachers start as volunteers or part-timers and have to juggle many other commitments. What happens outside the classroom is as important to their success as it is to their learners’, so the best way to help both is to foster a teaching community.

NoteFinland and Why Not

Finland’s schools are among the most successful in the world, but as Anu Partanen pointed out, they haven’t succeeded in isolation. Other countries’ attempts to adopt Finnish teaching methods are doomed to fail unless those countries also ensure that children (and their parents) are safe, well nourished, and treated fairly by the courts Wilkinson and Pickett (2011). This isn’t surprising given what we know about the importance of motivation for learning (Chapter 10): everyone does worse if they believe the system is unpredictable, unfair, or indifferent.

A framework for thinking about teaching communities is situated learning, which focuses on how legitimate peripheral participation leads to people becoming members of a community of practice (Wenger-Trayner and Wenger-Trayner 2015). Unpacking those terms, a community of practice is a group of people bound together by interest in some activity, such as knitting or particle physics. Legitimate peripheral participation means doing simple, low-risk tasks that the community recognizes as valid contributions: making your first scarf, stuffing envelopes during an election campaign, or proofreading documentation for open source software.

Situated learning focuses on the transition from being a newcomer to being accepted as a peer by those who are already community members. This typically means starting with simple tasks and tools, then doing similar tasks with more complex tools, and finally tackling the same work as advanced practitioners. For example, children learning music may start by playing nursery rhymes on a recorder or ukulele, then play other simple songs on a trumpet or saxophone in a band, and finally start exploring their own musical tastes. Common ways to support this progression include:

Problem solving
“I’m stuck—can we work on designing this lesson together?”
Requests for information
“What’s the password for the mailing list manager?”
Seeking experience
“Has anyone had a learner with a reading disability?”
Sharing assets
“I put together a website for a class last year that you can use as a starting point.”
Coordination
“Can we combine our t-shirt orders to get a discount?”
Building an argument
“It will be easier to convince my boss to make changes if I know how other bootcamps do this.”
Documenting projects
“We’ve had this problem five times now. Let us write it down once and for all.”
Mapping knowledge
“What other groups are doing things like this in nearby neighborhoods or cities?”
Visits
“Can we come and see your after-school program? We need to establish one in our city.”

Broadly speaking, a community of practice can be a:

Community of action
people focused on a shared goal, such as getting someone elected.
Community of concern
members are brought together by a shared issue, such as dealing with a long-term illness.
Community of interest
focused on a shared love of something like backgammon or knitting.
Community of place
people who happen to live or work side by side.

Most communities are mixes of these, such as people in Toronto who like teaching tech. A community’s focus can also change over time: for example, a support group for people dealing with depression (community of concern) can decide to raise funds to keep a help line going (community of action). Running the help line can then become the group’s focus (community of interest).

NoteSoup, Then Hymns

Manifestos are fun to write, but most people join a volunteer community to help and be helped rather than to argue over the wording of a vision statement1. You should therefore focus on what people can create that will be used by other community members right away. Once your organization shows that it can achieve small things, people will be more confident that it’s worth helping you with bigger projects. That’s the time to worry about defining the values that will guide your members.

13.1 Learn, Then Do

The first step in building a community is to decide if you should, or whether you would be more effective joining an existing organization. Thousands of groups are already teaching people tech skills, from the 4-H Club and literacy programs to get-into-coding nonprofits like Black Girls Code and Bridge. Joining an existing group will give you a head start on teaching, an immediate set of colleagues, and a chance to learn more about how to run things; hopefully, learning those skills while making an immediate contribution will be more important than being able to say that you’re the founder or leader of something new.

Whether you join an existing group or set up one of your own, you will be more effective if you do a bit of background reading on community organizing. Lakey (2018) is probably the best-known work on grassroots organizing, while Lakey (2018) are practical manuals rooted in decades of practice. If you want to read more deeply, (Adams and Horton 1975) is a history of the Highlander Folk School, whose approach has been emulated by many successful groups, while (Spalding 2014) is a guide to teaching adults written by someone with deep personal roots in organizing and NonprofitReady.org offers free professional development training.

13.2 Four Steps

Everyone who gets involved with your organization (including you) goes through four phases: recruitment, onboarding, retention, and retirement. You don’t need to worry about this cycle when you’re getting started, but it is worth thinking about as soon as more than a handful of non-founders are involved.

The first step is recruiting volunteers. Your marketing should help you with this by making your organization findable and by making its mission and value clear to people who might want to get involved (Chapter 14). Share stories that exemplify the kind of help you want as well as stories about the people you’re helping, and make it clear that there are many ways to get involved. (We discuss this in more detail in the next section.)

Your best source of new recruits is your own classes: “see one, do one, teach one” has worked well for volunteer organizations for as long as there have been volunteer organizations. Make sure that every class or other encounter ends by telling people how they could help and that their help would be welcome. People who come to you this way will know what you do and have recent experience of being on the receiving end of what you offer, which helps your organization avoid collective expert blind spot (Chapter 3).

NoteStart Small

Ben Franklin observed that a person who has performed a favor for someone is more likely to do them another favor than someone who had received a favor from that person. Asking people to do something small for you is therefore a good step toward getting them to do something larger. One natural way to do this when teaching is to ask people to submit fixes for your lesson materials for typos or unclear wording, or to suggest new exercises or examples. If your materials are written in a maintainable way (Section 6.3), this gives them a chance to practice some useful skills and gives you an opportunity to start a conversation that might lead to a new recruit.

The middle of the volunteer lifecycle is onboarding and retention, which we will cover in Section 13.3 and Section 13.4. The final step is retirement: everyone moves on eventually, and healthy organizations plan for this. A few simple things can make both the person leaving and everyone who is staying feel positive about the change:

Ask people to be explicit about their departure
so that everyone knows they’ve actually left.
Make sure they don’t feel embarrassed or ashamed about leaving
or about anything else.
Give them an opportunity to pass on their knowledge.
For example, you can ask them to mentor someone for a few weeks as their last contribution, or to be interviewed by someone who is staying with the organization to collect any stories that are worth re-telling.
Make sure they hand over the keys.
It’s awkward to discover six months after someone has left that they’re the only person who knows how to book a field for the annual picnic.
Follow up 2–3 months after they leave
to see if they have any further thoughts about what worked and what didn’t while they were with you, or any advice to offer that they either didn’t think to give or were uncomfortable giving on their way out the door.
Thank them,
both when they leave and the next time your group gets together.
NoteA Missing Manual

Thousands of books have been written on how to start a company. Only a handful describe how to end one or leave one gracefully, even though there is an ending for every beginning. If you ever write one, please let me know.

13.3 Onboarding

After deciding to become part of a group, people need to get up to speed, and (Sholler et al. 2019) summarizes what we know about doing this. The first rule is to have and enforce a Code of Conduct (Section 9.1), and to find an independent party who is willing to receive and review reports of inappropriate behavior. Someone outside the organization will have the objectivity that organization members may lack, and can protect reporters who might hesitate to raise issues concerning project leaders out of fear of retribution or damage to their reputation. Project leaders should also publicize the enforcement decisions so that the community recognizes that the code is meaningful.

The next most important thing is to be welcoming. As Fogel said (Fogel 2005), “If a project doesn’t make a good first impression, newcomers may wait a long time before giving it a second chance.” Other authors have empirically confirmed the importance of kind and polite social environments in open projects Steinmacher et al. (2018):

Post a welcome message
on the project’s social media pages, Slack channels, forums, or email lists. Projects might consider maintaining a dedicated “Welcome” channel or list, where a project lead or community manager writes a short post asking newcomers to introduce themselves.
Help people find ways to make an initial contribution,
such as labeling particular lessons or workshops that need work as “suitable for newcomers” and asking established members not to fix them in order to ensure there are suitable places for new arrivals to start work.
Direct the newcomer to project members like them
to demonstrate that they belong.
Point the newcomer to essential project resources
such as the contribution guidelines.
Designate one or two members to serve as a point of contact
for each newcomer. Doing this can make the newcomer less reluctant to ask questions.

A third rule that helps everyone (not just newcomers) is to make knowledge findable and keep it up to date. Newcomers are like explorers who must orient themselves within an unfamiliar landscape (Dagenais et al. 2010). Information that is spread out usually makes newcomers feel lost and disoriented. Given the different possibilities of places to maintain information (e.g. wikis, files in version control, shared documents, old tweets or Slack messages, and email archives) it is important to keep information about a specific topic consolidated in a single place so that newcomers do not need to navigate multiple data sources to find what they need. Organizing the information makes newcomers more confident and oriented (Steinmacher et al. 2016).

Finally, acknowledge newcomers’ first contributions and figure out where and how they might help in the longer term. Once they have carried their first contribution over the line, you and they are likely to have a better sense of what they have to offer and how the project can help them. Help newcomers find the next problem they might want to work on or point them at the next thing they might enjoy reading. In particular, encouraging them to help the next wave of newcomers is both a good way to recognize what they have learned and an effective way to pass it on.

13.4 Retention

If your people aren’t having a ball doing it, there is something very wrong.
— Saul Alinsky

Community members shouldn’t expect to enjoy every moment of their work with your organization, but if they don’t enjoy any of it, they won’t stick around. Enjoyment doesn’t necessarily mean having an annual party: people may enjoy cooking, coaching, or just working quietly beside others. There are several things every organization should do to ensure that people are getting something they value out of their work:

Ask people what they want rather than guessing.
Just as you are not your learners (Section 6.1), you are probably different from other members of your organization. Ask people what they want to do, what they’re comfortable doing (which may not be the same thing), and what constraints there are on their time. They might say, “Anything,” but even a short conversation will probably uncover the fact that they like interacting with people but would rather not be managing the group’s finances or vice versa.
Provide many ways to contribute.
The more ways there are for people to help, the more people will be able to. Someone who doesn’t like standing in front of an audience may be able to maintain your organization’s website, handle its accounts, or proofread lessons.
Recognize contributions.
Everyone likes to be appreciated, so communities should acknowledge their members’ contributions both publicly and privately by mentioning them in presentations, putting them on the website, and so on. Every hour that someone has given your project may be an hour taken away from their personal life or their official employment; recognize that fact and make it clear that while more hours would be welcome, you do not expect them to make unsustainable sacrifices.
Make space.
You think you’re being helpful, but intervening in every decision robs people of their autonomy, which in return reduces their motivation (Chapter 10). In particular, if you’re always the first one to reply to email or chat messages, people have less opportunity to grow as members and to create horizontal collaborations. As a result, the community will continue to be centered around one or two individuals rather than becoming a highly connected network in which others feel comfortable participating.

Another way to reward participation is to offer training. Organizations need budgets, grant proposals, and dispute resolution. Most people are never taught how to do this any more than they are taught how to teach, so the opportunity to gain transferable skills is a powerful reason for people to get and stay involved. If you are going to do this, don’t try to provide the training yourself unless it’s what you specialize in. Many civic and community groups have programs of this kind, and you can probably make a deal with one of them.

Finally, while volunteers can do a lot, tasks like system administration and accounting eventually need paid staff. When you reach this point, either pay people nothing or pay them a proper wage. If you pay them nothing, their real reward is the satisfaction of doing good; if you pay them a token amount, on the other hand, you take that away without giving them the satisfaction of earning a living.

13.5 Governance

Every organization has a power structure: the only question is whether it’s formal and accountable or informal and therefore unaccountable (Freeman 1972). The latter actually works pretty well for groups of up to half a dozen people in which everyone knows everyone else. Beyond that, you need rules to spell out who has the authority to make which decisions and how to achieve consensus (Section E.1).

The governance model I prefer is a commons, which is something managed jointly by a community according to rules they themselves have evolved and adopted (Ostrom 2015). As (Bollier 2014) emphasizes, all three parts of that definition are essential: a commons isn’t just a shared pasture or a set of software libraries, but also includes the community that shares it and the rules they use to do so.

For-profit corporations and incorporated nonprofits are more popular models; the mechanics vary from jurisdiction to jurisdiction, so you should seek advice before choosing2. Both kinds of organization vest ultimate authority in their board. Broadly speaking, this is either a service board whose members also take on other roles in the organization or a governance board whose primary responsibility is to hire, monitor, and if need be fire the director. Board members can be elected by the community or appointed; in either case, it’s important to prioritize competence over passion (the latter being more important for the rank and file) and to try to recruit for particular skills such as accounting, marketing, and so on.

NoteChoose Democracy

When the time comes, make your organization a democracy: sooner or later (usually sooner), every appointed board turns into a mutual agreement society. Giving your members power is messy, but is the only way invented so far to ensure that organizations continue to meet people’s actual needs.

13.6 Look After Yourself

Burnout is a chronic risk in any community activity (Pigni 2016), so learn to say no more often than you say yes. If you don’t take care of yourself, you won’t be able to take care of your community.

NoteRunning Out of ‘No’

Research in the 1990s seemed to show that our ability to exert willpower is finite: if we have to resist eating the last donut in the box when we’re hungry, we are less likely to fold laundry and vice versa. This phenomenon is called ego depletion, and while recent studies have failed to replicate those early results (Hagger et al. 2016), saying “yes” when we’re too tired to say “no” is a trap many organizers fall into.

One way to make your “no” stick is to write a to-don’t list of things that would be worth doing but which you aren’t going to do. At the time of writing, mine includes four books, two software projects, redesign of my personal website, and learning to play the penny whistle.

Finally, remind yourself every now and then that every organization eventually needs fresh ideas and leadership. When that time comes, train your successors and move on as gracefully as you can. They will undoubtedly do things you wouldn’t have, but few things in life are as satisfying as watching something you helped build take on a life of its own. Celebrate that—you won’t have any trouble finding something else to keep you busy.

13.7 Exercises

Several of these exercises are taken from (Brown 2007).

13.7.1 What Kind of Community? (individual/15 min)

Re-read the description of the four types of communities and decide which one(s) your group is or aspires to be.

13.7.2 People You May Meet (small groups/30 min)

As an organizer, part of your job is sometimes to help people find a way to contribute despite themselves. In small groups, pick three of the people below and discuss how you would help them become a better contributor to your organization.

Anna
knows more about every subject than everyone else put together—at least, she thinks she does. No matter what you say, she’ll correct you; no matter what you know, she knows better.
Catherine
has so little confidence in her own ability that she won’t make any decision, no matter how small, until she has checked with someone else.
Frank
enjoys knowing things that other people don’t. He can work miracles, but when asked how he did it, he’ll grin and say, “Oh, I’m sure you can figure it out.”
Hediyeh
is quiet. She never speaks up in meetings, even when she knows other people are wrong. She might contribute to the mailing list, but she’s very sensitive to criticism and always backs down instead of defending her point.
Ken
takes advantage of the fact that most people would rather shoulder his share of the work than complain about him. The frustrating thing is that he’s so plausible when someone finally does confront him. “There have been mistakes on all sides,” he says, or, “Well, I think you’re nit-picking.”
Melissa
means well, but somehow something always comes up, and her tasks are never finished until the last possible moment. Of course, that means that everyone who is depending on her can’t do their work until after the last possible moment…
Raj
is rude. “It’s just the way I talk,” he says. “If you can’t hack it, go find another team.” His favorite phrase is, “That’s stupid,” and he uses an obscenity in every second sentence.

13.7.3 Values (small groups/45 min)

Answer these questions on your own, then compare your answers with others’.

  1. What are the values your organization expresses?

  2. Are these the values you want the organization to express?

  3. If not, what values would you like it to express?

  4. What are specific behaviors that demonstrate those values?

  5. What behaviors would demonstrate the opposite of those values?

13.7.4 Meeting Procedures (small groups/30 min)

Answer these questions on your own, then compare your answers with others’.

  1. How are your meetings run?

  2. Is this how you want your meetings to be run?

  3. Are the rules for running meetings explicit or just assumed?

  4. Are these the rules you want?

  5. Who is eligible to vote or make decisions?

  6. Is this who you want to be vested with decision-making authority?

  7. Do you use majority rule, make decisions by consensus, or something else?

  8. Is this the way you want to make decisions?

  9. How do people in a meeting know when a decision has been made?

  10. How do people who weren’t at a meeting know what decisions were made?

  11. Is this working for your group?

13.7.5 Size (small groups/20 min)

Answer these questions on your own, then compare your answers with others’.

  1. How big is your group?

  2. Is this the size you want for your organization?

  3. If not, what size would you like it to be?

  4. Do you have any limits on the size of membership?

  5. Would you benefit from setting such a limit?

13.7.6 Becoming a Member (small groups/45 min)

Answer these questions on your own, then compare your answers with others’.

  1. How does someone join your group?

  2. How well does this process work?

  3. Are there membership dues?

  4. Are people required to agree to any rules of behavior upon joining?

  5. Are these the rules for behavior you want?

  6. How does a newcomer find out what needs to be done?

  7. How well does this process work?

13.7.7 Staffing (small groups/30 min)

Answer these questions on your own, then compare your answers with others’.

  1. Do you have paid staff in your organization or is everyone a volunteer?

  2. Should you have paid staff?

  3. Do you want/need more or less staff?

  4. What do the staff members do?

  5. Are these the primary roles and functions that you need staff to fill?

  6. Who supervises your staff?

  7. Is this the supervision process that you want for your group?

  8. What is your staff paid?

  9. Is this the right salary to get the needed work done?

13.7.8 Money (small groups/30 min)

Answer these questions on your own, then compare your answers with others’.

  1. Who pays for what?

  2. Is this who you want to be paying?

  3. Where do you get your money?

  4. Is this how you want to get your money?

  5. If not, do you have any plans to get it another way?

  6. If so, what are they?

  7. Who is following up to make sure that happens?

  8. How much money do you have?

  9. How much do you need?

  10. What do you spend most of your money on?

  11. Is this how you want to spend your money?

13.7.9 Borrowing Ideas (whole class/15 min)

Many of my ideas about how to build a community have been shaped by my experience in open source software development. (Fogel 2005) (which is available online) is a good guide to what has and hasn’t worked for those communities, and the Open Source Guides site has a wealth of useful information as well. Choose one section of the latter, such as “Finding Users for Your Project” or “Leadership and Governance,” and give a two-minute presentation to the group of one idea from it that you found useful or that you strongly disagreed with.

13.7.10 Who Are You? (small groups/20 min)

The National Oceanic and Atmospheric Administration (NOAA) has a short, useful, and amusing guide to dealing with disruptive behaviors. It categorizes those behaviors under labels like “talkative,” “indecisive,” and “shy,” and outlines strategies for handling each. In groups of 3–6, read the guide and decide which of these descriptions best fits you. Do you think the strategies described for handling people like you are effective? Are other strategies equally or more effective?

13.7.11 Creating Lessons Together (small groups/30 min)

One of the keys to the success of the Carpentries is their emphasis on building and maintaining lessons collaboratively Devenyi et al. (2018). Working in groups of 3–4:

  1. Pick a short lesson you have all used.

  2. Do a careful review to create a unified list of suggestions for improvements.

  3. Offer those suggestions to the lesson’s author.

13.7.12 Are You Crispy? (individual/10 min)

Johnathan Nightingale wrote:

When I worked at Mozilla, we used the term “crispy” to refer to the state right before burnout. People who are crispy aren’t fun to be around. They are curt. They are itching for a fight they can win. They cry without much warning. …we would recognize crispiness in our colleagues and take care of each other [but] it is an ugly thing that we saw it so much that we had a whole cultural process around it.

Answer “yes” or “no” to each of the following questions. How close are you to burning out?

  • Have you become cynical or critical at work?
  • Do you have to drag yourself to work or do you have trouble getting started?
  • Have you become irritable or impatient with co-workers?
  • Do you find it hard to concentrate?
  • Do you fail to get satisfaction from your achievements?
  • Are you using food, drugs or alcohol to feel better or to simply not feel?

  1. People who prefer the latter are often only interested in arguing…↩︎

  2. This is one of the times when having ties with local government or other like-minded organizations pays off.↩︎