Building Community

Many well-intentioned people want the world to be a better place, but don’t actually want anything important to change. A lot of grassroots efforts to teach programming fall into this category: they want to teach children and adults how to program so that they can get good jobs, rather than empower them to change the system that has shut them (and people like them) out of those jobs in the past.

If you are going to build a community, the first and most important thing you have to decide is what you want: to help people succeed in the world we have, or to give them a way to make a better one. Either way, you have to accept that one person can only do so much. Just as we learn best together, we teach best when we are teaching with other people, and the best way to achieve that is to build a community.

And as Anu Partanen pointed out, sometimes you need to fix several things in order to fix one. Finland’s teachers aren’t successful in isolation: they are able to achieve outstanding results because their country’s citizens truly value equality of opportunity. People (and countries) that try to adopt their teaching methods without ensuring that children (and parents) are well nourished, safe, and treated fairly by the courts will have a more difficult time. This doesn’t mean you have to fix all of society’s ills in order to teach programming, but it does mean that you have to understand and be involved in what happens to your learners outside of your class if you want that class to work.

A framework in which to think about educational communities is situated learning, which focuses on how legitimate peripheral participation leads to people becoming members of a community of practice Weng2015. 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 community nevertheless recognizes as valid contributions: making your first scarf, stuffing envelopes during an election campaign, or proof-reading 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 simplified tasks and tools, then doing similar tasks with more complex tools, and finally tackling the exercises of 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. Healthy communities of practice understand and support these progressions, and recognize that each step is meant to give people a ramp rather than a cliff. Some of the ways they do this include:

Problem solving:
“I’m stuck—Can we work on this design and brainstorm some ideas?”
Requests for information:
“Where can I find the code to connect to the server?”
Seeking experience:
“Has anyone dealt with a customer in this situation?”
Reusing assets:
“I have a proposal for an event website that I wrote for a client last year you can use as a starting point.”
Coordination and synergy:
“Can we combine our purchases of web hosting to get a discount?”
Building an argument:
“How do people in other companies do this? Armed with this information it will be easier to convince my CEO to make some changes.”
Growing confidence:
“Before I do it, I’ll run it through my community first to see what they think.”
Discussing developments:
“What do you think of the new work tracking system? Does it really help?”
Documenting projects:
“We have faced this problem five times now. Let us write it down once and for all.”
“Can we come and see your after-school program? We need to establish one in our city.”
Mapping knowledge and identifying gaps:
“Who knows what, and what are we missing? What other groups should we connect with?”

Whatever the domain, situated learning emphasizes that learning is a social activity. In order to be effective and sustainable, teaching therefore needs to be rooted in a community; if one doesn’t exist, you need to build one. There are at least four types:

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

Most real communities are mixes of these, such as people in Toronto who like teaching tech; what matters is that you pick something and stick with it.

Learn, Then Do

The first step in building a community is to decide if you really need to, 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 non-profits 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 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 owe it to yourself and everyone who’s going to work with you to find out what’s been done before. People have been writing about grassroots organizing for decades; Alin1989 is probably the best-known work on the subject, while Brow2007,Midw2010 are practical manuals rooted in decades of practice. If you want to read more deeply, Adam1975 is a history of the Highlander Folk School, whose approach has been emulated by many successful groups, while Spal2014 is a guide to teaching adults written by someone with deep personal roots in organizing, and offers free professional development training.

Three Steps

Everyone who gets involved with your organization, including you, goes through three phases: recruitment, retention, and retirement (from the organization). You don’t need to worry about this cycle when you’re just getting started, but it is worth thinking about as soon as you have more than a couple of non-founders 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 its value to volunteers clear to people who might want to get involved. 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 with two sentences explaining how people can help, and that help is welcome. People who come to you this way will know what you do, and will have recent experience of being on the receiving end of what you offer that they can draw on, which helps your organization avoid collective expert blind spot.

Start Small

As Ben Franklin observed, a person who has performed a favor for someone is more likely to do another favor for that person than they would be if they 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 (s:process-maintainability), 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.

Recruiting doesn’t end when someone first shows up: if you don’t follow through, people will come out once or twice, then decide that what you’re doing isn’t for them and disappear. One thing you can do to get newcomers over this initial hump is to have them take part in group activities before they do anything on their own, both so that they get a sense of how your organization does things, and so that they build social ties that will keep them involved.

Another thing you can do is give newcomers a mentor, and make sure the mentors actually do some proactive mentoring. The most important things a mentor can do are make introductions and explain the unwritten rules, so make it clear to mentors that these are their primary responsibilities, and they are to report back to you every few weeks to tell you what they’ve done.

The second part of the volunteer lifecycle is retention, which is a large enough topic to deserve a long discussion in s:community-retention. The third and final part is retirement. Sooner or later, everyone moves on (including you). When this happens:

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’s 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 playing field for the annual softball game.
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.


Saul Alinsky once said, “If your people aren’t having a ball doing it, there is something very wrong.” Alin1989 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 stay.

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 (s:process-personas), 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), what constraints there are on their time, and so on. They might start by saying, “I don’t know—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 help. Someone who doesn’t like standing in front of an audience may be able to maintain your organization’s website or handle its accounts; someone who doesn’t know how to do anything else may be able to proof-read lessons, and so on. The more kinds of tasks you do yourself, the fewer opportunities there are for others to get involved.
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.
Make space.
Micromanaging or trying to control everything centrally means people won’t feel they have the autonomy to act, which will probably cause them to drift away. In particular, if you’re too engaged or too quick on the reply button, people have less opportunity to grow as members and to create horizontal collaborations. As a result, the community will continue to be focused around one or two individuals, rather than a highly-connected network in which others feel comfortable participating.

Another way to make participation rewarding is to provide training. Organizations require committees, meetings, budgets, grant proposals, and dispute resolution; most people are never taught how to do any of this, any more than they are taught how to teach, but training people to do these things helps your organization run more smoothly, and 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.

Other groups may be useful in other ways as well, and you may be useful to them—if not immediately, then tomorrow or next year. You should therefore set aside an hour or two every month to find allies and maintain your relationships with them. One way to do this is to ask them for advice: how do they think you ought to raise awareness of what you’re doing? Where have they found space to run classes? What needs do they think aren’t being met, and would you be able to meet them (either on your own, or in partnership with them)? Any group that has been around for a few years will have useful advice; they will also be flattered to be asked, and will know who you are the next time you call.

Government Matters

It’s fashionable in tech circles to disparage government institutions as slow-moving dinosaurs, but in my experience they are no worse than companies of similar size. Your local school board, library, and your city councillor’s office may be able to offer space, funding, publicity, connections with other groups that you may not have met yet, help with red tape, and a host of other useful things.

Soup, 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 grand vision statement. (Most people who prefer the latter are only interested in arguing…) To be effective you should therefore focus on things that are immediately useful, e.g., on what people can create that will be used by other community members right away. Once your organization shows that it can actually achieve small things, people will be more confident that it’s worth investing in bigger ones. That’s the time to worry about manifestos, since that’s the point at which it’s important to define values that will guide your growth and operations.

One important special case of making things rewarding is to pay people. Volunteers can do a lot, but eventually tasks like system administration and accounting need full-time paid staff. When this time comes, you should either pay people nothing or pay them a proper wage, but not do anything in between. If you pay them nothing, their actual reward for their work is the satisfaction of doing good. If you pay them a token amount, you take that away without giving them the satisfaction of earning a living.

Impostor Syndrome

Impostor syndrome thrives in communities with arbitrary, unnecessary standards, where harsh criticism is the norm, and where secrecy surrounds the actual process of getting work done, so the Ada Initiative has guidelines for communities to go with those given in s:motivation-demotivation for individuals:

Encourage people.
This is as simple as it is effective.
Discourage hostility and bickering.
Public, hostile, personal arguments are a natural breeding ground for impostor syndrome.
Eliminate hidden barriers to participation.
Be explicit about welcoming new students and colleagues, and thoroughly document how someone can participate in projects and events in your research group and at your institution.
As a leader, show your own uncertainties
and demonstrate your own learning process. When people see leaders whom they respect struggling or admitting they didn’t already know everything when they started, having realistic opinions of their own work becomes easier.
Reward and encourage people for mentoring newcomers.
Officially enshrine mentoring as an important criterion in your career advancement process.
Don’t make it personal when someone’s work isn’t up to snuff.
When enforcing necessary quality standards, don’t make the issue about the person. They aren’t wrong or stupid or a waste of space; they’ve simply done one piece of work that didn’t meet your expectations.


As Free1972 pointed out, every organization has a power structure: the only question is whether it’s formal and accountable, or informal and unaccountable. Make yours one of the first kind: write and publish the rules governing everything from who’s allowed to use the name and logo to who gets to decide whether people are allowed to charge money to teach with whatever materials your group has worked up.

Organizations can govern themselves in many different ways, and a full discussion of the options is outside the scope of this book. For-profit corporations and incorporated non-profits are the two most popular models; the mechanics vary from jurisdiction to jurisdiction, so you should seek advice locally before doing anything. (This is one of the times when having ties with local government or other like-minded organizations pays off.)

The model I prefer is that of a commons, which is “something managed jointly by a community according to rules they themselves have evolved and adopted”. As Boll2014 emphasizes, all three parts of that definition are essential: a commons isn’t just a shared pasture, but also includes the community that shares it and the rules they use to do so.

Most resources, throughout most of human history, have been commons: it is only in the last few hundred years that impersonal markets have pushed them to the margins. In order to do so, free-market advocates have had to convince us we’re something we’re not (dispassionate calculators of individual advantage) and erase or devalue local knowledge and custom with tragic consequences for us individually and collectively.

Since society has difficulty recognizing commons organizations, and since most of the people you will want to recruit don’t have experience with them, you will probably wind up having some sort of board, a director, and other staff. Broadly speaking, your organization can have 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.

Don’t worry about drafting a constitution when you first get started: it will only result in endless wrangling about what we’re going to do rather than formalization of what you’re already doing. When the time does come to formalize your rules, though, make your organization a democracy: sooner or later (usually sooner), every appointed board turns into a mutual agreement society and loses sight of what the community it’s meant to serve actually needs. Giving the community power is messy, but is the only way invented so far to ensure that an organization continues to meet people’s actual needs.

Final Thoughts

As Pign2016 discusses, burnout is a chronic risk in any community activity. If you don’t take care of yourself, you won’t be able to take care of your community.

Every organization eventually needs fresh ideas and fresh leadership. When that time comes, train your successors and then move on. They will undoubtedly do things you wouldn’t have, but the same is true of every generation. 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.


Several of these exercises are taken from Brow2007, which is an exceptionally useful book on building community organizations.

What Kind of Community? (individual/15)

Re-read the discussion in the introduction of types of communities and decide which type or types your group is, or aspires to be.

People You May Meet (small groups/30)

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.

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.
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.
believes that knowledge is power, and enjoys knowing things that other people don’t. He can make things work, but when asked how he did it, he’ll grin and say, “Oh, I’m sure you can figure it out.”
is quiet. She never speaks up in meetings, even when she knows that what other people are saying is wrong. She might contribute to the mailing list, but she’s very sensitive to criticism, and will always back down rather than defending her point of view.
has discovered that most people would rather shoulder his share of the work than complain about him, and he takes advantage of it at every turn. The frustrating thing is that he’s so damn plausible when someone finally does confront him. “There have been mistakes on all sides,” he says, or, “Well, I think you’re nit-picking.”
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…
is rude. “It’s just the way I talk,” he says, “If you can’t hack it, maybe you should find another team.” His favorite phrase is, “That’s stupid,” and he uses obscenity in every second sentence.

Values (small groups/45)

Answer the following questions on your own, and then compare your answers to those given by other members of your group.

  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 the specific behaviors that demonstrate those values?

  5. What are some key behaviors that would demonstrate the values you would like for your group?

  6. What are the behaviors that would demonstrate the opposite of those values?

  7. What are some key behaviors that would demonstrate the opposite of the values you want to have?

Meeting Procedures (small groups/30)

Answer the following questions on your own, and then compare your answers to those given by other members of your group.

  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/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 use some other method?

  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?

Size (small groups/20)

Answer the following questions on your own, and then compare your answers to those given by other members of your group.

  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?

Staffing (small groups/30)

Answer the following questions on your own, and then compare your answers to those given by other members of your group.

  1. Do you have paid staff in your organization?

  2. Or is it all-volunteer?

  3. Should you have paid staff?

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

  5. What do you call the staff (e.g., organizer, director, coordinator, etc.)?

  6. What do the staff members do?

  7. Are these the primary roles and functions that you want the staff to be filling?

  8. Who supervises your staff?

  9. Is this the supervision process and responsibility chain that you want for your group?

  10. What is your staff paid?

  11. Is this the right salary to get the needed work done and to fit within your resource constraints?

  12. What benefits does your group provide to its staff (health, dental, pension, short and long-term disability, vacation, comp time, etc.)?

  13. Are these the benefits that you want to give?

Money (small groups/30)

Answer the following questions on your own, and then compare your answers to those given by other members of your group.

  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?

Becoming a Member (small groups/45)

Answer the following questions on your own, and then compare your answers to those given by other members of your group.

  1. How does someone join?

  2. Does this process work for your organization?

  3. What are the membership criteria?

  4. Are these the membership criteria you want?

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

  6. Are these the rules for behavior you want?

  7. Are there membership dues?

Borrowing Ideas (whole class/15)

Many of our ideas about how to build a community have been shaped by our experience of working in open source software development. Foge2005 (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”, read it through, and give a two-minute presentation to the group of one idea from it that you found useful or that you strongly disagreed with.

Who Are You? (small groups/20)

The National Oceanic and Atmospheric Administration (NOAA) has published a short, amusing, and above all useful 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?