by Billy Le

How you can build a strong coding community in your city — and how I did it

z53P1zo89EiR1Tag4t1mn7KKM4UojWlrsBYv
A bunch of campers who were really focused until I snapped their picture.

Communities are important. They are the bedrock that glues together shared beliefs, a common passion, and a sense of belonging. This helps everyone work together towards their personal or communal goals.

I’ve been the organizer of freeCodeCamp Sacramento for over a year now, and I’ve learned a great deal about how to run a community. I’ve met people from other study groups, and we often exchange tips for how to run a community. The topic often comes up because I think people genuinely want to organize their own communities.

In this article, I’ll share some tips for running a community. I’ll elaborate on some of the values, techniques, leadership, and organization skills I’ve learned along the way. I’ve organized these into 10 tips that I think you’ll find actionable and memorable.

u8j1vh0C7301p8WP6JlL3d8asbHRJc5bvHF2
A group photo of campers during our first annual community BBQ

Tip #1: Enforce time dedicated to productivity and social coding

I encourage people to bring headphones or earphones to the events. This is because I want people to get some work done in the first hour of the event. Because the community is together, it’s really easy to get distracted by the conversations happening around them.

To help people progress in their coding goals, I try to enforce a policy where people are encouraged to work on their code for one hour during the event.

This is not limited to freeCodeCamp material. People can work on Java, help someone with their code, watch video tutorials, or whatever.

Encouraging people to be productive helps them build their existing skill set so that they can become better developers. I want everyone to have a chance to work toward their goals.

The second part about these events is that they allow time for social coding or networking. Many developers will tell you that knowing how to program will land you a job, but soft skills are equally important.

For the quiet types, I often try to engage them in conversations. Sometimes in the middle of a conversation with another person, I will find an opportunity to ask the the quiet person, “What is your opinion on this [insert subject]?” I know the person is paying attention, but doesn’t necessarily want to speak up. I may be putting people on the spot, but I want to let them know that their opinions are valued in my community.

zXn-h-ZWIZmwnT9dcavvmi422xRwYDo8CSmX
We hold talks at least once a month on introductory topics. The topic for this meeting was Professional Web Design Tips.

Tip #2: Try to remember the names of your members

If there is one important lesson to learn from this, it is to try to remember the name of the individuals who attend your study group. This will make them feel valued because you’ve taken the time to learn their name and commit it to memory.

Making people feel important by remembering their name is a key concept from Dale Carnegie’s book “How to Win Friends and Influence People.” This is how I conduct myself in front of others.

If you’re not good at remembering names, try to employ techniques like repeating people’s name back to them slowly or repeating their name in your head. Or find facial features that defines them and associate them with their name. If you need more suggestions, here is a great article that provides tips on how to remember people’s name.

VmAdKYREjbz3Shruf0eNdK3G5z4Hcc0DnHws
This family came together for one of my freeCodeCamp events.

Tip #3: Greet everyone with a warm smile

First impressions are important and create a lasting affect. To set the tone for my community, I usually stand near the front door when people enter and greet them as they come in.

This is my golden opportunity to get to know the individuals, learn why they are attending the event and the goals they want to achieve, and what they are working on.

By being receptive to newcomers, I let them know that we are a friendly community and that we are here for their needs.

By learning a few facts about them, I can do one of the following things: direct them to another camper who can pair up with them to do some pair programming, introduce them to someone who can help them complete a specific challenge with which they are having trouble, or even just show them to an available seat in the venue.

ELApjOWEkWvkWoM--z9CFE62oEBqTrmo5aXr
This is our normal coffee shop. We take up about half of the seats in the venue.

Tip #4: Try to keep everyone together

A community is not a community if people feel like they don’t belong. Another important aspect of a community is togetherness. When arranging an event, look for a venue with big tables or sections that can seat everyone together.

By having everyone near each other, everyone feels like they belong to a community. Campers can work alongside each other, engage in conversations about technology, and help each other pass challenges or tackle them together.

I like coffee shops over venues that have classroom-like settings. Coffee shops are informal and make people feel more comfortable about joining conversations. People are seated close to one another, so they may peek at someone else’s screen and ask, “Hey, what are you working on?”

The environment is organic and gives members an opportunity to develop friendships.

bVyEiAoWEf8zXX79vZgSy4LqTQqMtHytBOE0
Campers are helpful. You can see their level of concentration while they work.

Tip #5: Schedule events at least two weeks in advance

I’ve seen too often organizers wait until the last minute to announce an event. And they usually get only a few attendees.

You want to aim for maximum participation, and you won’t get that if you give people less than a week’s notice.

If you can’t schedule events two weeks in advance, then try to schedule an event as far in advance as possible.

lGwJMgQhHdPrkyB53agMN-CSDAmmabBmuvhG
This is my normal freeCodeCamp sign that I put up to let people know where to find me.

Tip #6: Use a sign to let people know who you are and where you are

When I first started organizing events, I didn’t use any visual displays to let newcomers know who and where we were in the venue. People would walk through the door, look around like a lost child, and have to play the guessing game by asking strangers, “Is this [insert event name]?”

You don’t want to put people in that situation because you would violate tip #2 on my list. And you would make people feel unwelcome if they can’t find you the first time.

When you put up a sign, you’re openly advertising as well. There have been times where I had people from outside the group come and ask me what the group is about. Strangers will be curious and it might be an opportunity to get new members. You never know who you’ll meet.

vqL2veYxzYbWNYF4zdieqK5bku-kz8WXDRKm
Everyone is happily hacking away and enjoying each other’s company.

Tip #7: Be consistent with organizing events

Try to organize at least one event each month. This will show your members that they are participating in an active community.

Scheduling the right number of events is something you have to think about.

Do you want to do one every Tuesday? The first Friday of the month? Every Saturday morning? These are things you have to consider.

I want to be flexible, so I schedule events that are convenient for me.

Early in my organizing days, one time I scheduled a event every week for two months straight, and I felt burnt out. That was the exact opposite of how I wanted to feel, so I dialed it back.

Now I schedule three events a month, but they all differ from one another. Two are “coffee and coding” events, and one is either a “talk, workshop, or hack night”.

One of the two “coffee and coding” events is on a Friday night for people who can make it out on a week night. But for those who have families and have only the weekends free, I schedule an event on Saturday mornings.

I’m trying to target two different audiences by employing this strategy.

And for my “talks, workshops, or hack nights”, I often schedule it on Saturdays. They last anywhere from three hours to seven hours, depending on the topic.

EZN-ZdrUk2GufoWZchKQmFyvJW9aSh8lsAFT
freeCodeCamp Sacramento sometimes take field trips to San Francisco together to attend awesome meetups like SFHTML5.

Tip #8: Be creative and be a niche in your area

There are meetups in my area that cover intermediate to advanced topics. I felt lost the few times I visited them when I was the new guy learning how to code. Nothing made sense at the time.

So when I finally started thinking like a community leader, I asked myself, “What is this market lacking?”

And that’s how I started to envision what freeCodeCamp Sacramento could be like — a friendly and fun community for all ages who want to learn how to code. As well, it helps those who don’t know how to code to become self-sufficient so that they can learn on their own.

Be the niche that no one else is doing.

Most of my talking events are tailored to introductory topics like “Intro to Sass,” “Web Accessibility,” “Graduating from Codepen.io,” and in other areas that I think new developers could use help.

You want to think outside of the box. This year I ran my first Annual freeCodeCamp Sacramento BBQ. We got away from coding and ate some amazing homemade BBQ instead.

New events breathe life into your community and keeps things fun and refreshing. Think of new ways to approach your audience and make them excited about upcoming events.

V9wTWxzar-ZaiCLkclk1zrfHLOsIBqh8KDxA
Plenty of Campers stay till the very end of an event to hang out and talk.

Tip #9: Always be early and stay late, if possible

This is something I learned in the military, but it may not be feasible for everyone. I make it a habit to arrive as early as possible to prepare for events.

I usually call the venue in advance to let them know that I’m coming and the number of people attending. Sometimes the venue reserves an area for us, but often times they will not, such as it goes with coffee shops.

Arrive an hour early, scout the place, and start sectioning off an area for your members by using signs or settling into the area with your belongings.

When people start to show up, direct them to where you want them to sit and then take your position by the front door to greet people.

Be early and be consistent about being early to give the impression that you take these events seriously. People will perceive you as the go-to person if anyone has questions.

If you’re not there, you might create confusion among the new people in your group. I’ve been to a meetup where the organizer was consistently late and people spoke poorly about the organizer.

You don’t want to give anyone an excuse to criticize you for something that is preventable, because it can affect everyone in your community.

As for staying late, often I try to stay as long as I can. Even though I schedule the events to be about two hours long, there have been many times when attendees will stay longer than that.

As the event organizer, if I have time, I may hang out for a few extra hours if I can, but other members can leave at the scheduled time because that is expected of them.

99Ze4HNT-k37Yd3-e0Wk5TVPJzQ1KNeqWbSC
Here is a group of campers who were participating in an AngelHack Hackathon.

Tip #10: Engage your audience online

It is especially important to engage your online members. freeCodeCamp does a great job of driving new members to your online community.

I try to greet new members in our Facebook group with a personal message within a week of them joining. Making them feel welcomed when they join is a great way to open communication with them. This way they can provide a quick introduction about themselves. You can also answer their questions and invite them out to your events.

I also post every local event that is happening in our area for the week. This might include other meetups like Ruby coding, Bitcoin and blockchain, entrepreneurship, WordPress, and many more relatable technology topics. I usually break it down by day and provide a link to the meetup page of each group.

At the end of the day, I am advocating for technology. I try not to restrict my support to just my group. I am biased about my community, but I want to serve beyond my community in different ways.

Also, I frequently post articles, tutorials, and other good resources for the community to consume. Sharing is caring.

Lastly, I ask people what they want to see from the community. I run a poll to gather suggestions from our members about the topics they want to hear. I even ask members what they accomplished during that week.

SWlmHNw3uEnyO-ETJl-TDlAl8EQqr0FIXeMg
There are some nights after an event where we would all go out for a drink.

These are just some of the strategies I use to engage my online community so that it doesn’t feel stale. Remember to be creative.

I have many more ways I want to engage and grow my community. I have a bigger vision for my community, and I would love to see it materialize in the future. But for now, this is as much as I can do because we are run by volunteers. Some days I spend about 25% of my day thinking about what I can do to improve my community. Sometimes it feels like a part-time job.

So if you’re willing to build your community and see it grow, be prepared to put in your best effort!

Enjoy some more pictures of our community!

Au2XJq0EVsI8B0WLMPLNgTL4CW68isOTqhh8
The 25-pound slow-cooked pulled pork we ate. ??
E6aA1Gec2tl15Vfjq6DI50yTNjVdz2k6zKUU
On top of the roof of Google San Francisco with the beautiful Oakland Bay Bridge in the background.
SvqJCFojsyDwvcTSEg1-EGMCHu1VgfIbjJ8A
Enjoying a refreshing cup of Philz coffee on another field trip to SFHTML5.
c9pz2xOgES9rOnBr1CJnx3U0AkgdPn-s1aD8
Sending off one of our members to graduate school with some parting gifts!

If you like this article, please share with your peers.

I would love to hear from community organizers and how they improve their community.

If you want to find out more about me and my involvement in the community, you can follow me on twitter. :)

djQdsbR-a84bCnKyRkGvLMyFgpyhsDTlMfoI
Some of the freeCodeCamp Sacramento members who won the Govtech challenge at an AngelHack Hackathon.

That’s all folks!