We had the inaugural event for the San Francisco chapter of NodeSchool this past Saturday. While NodeSchool events have been held in SF before, this event marked the first formal establishment of an SF-based chapter. As with any event where one teaches others, I ended up learning a lot as well. I was especially impressed with the self-organization of the event and its associated website, the initiative of both seasoned and beginning contributors, and the overall opportunities for involvement with the whole event.
I became aware of the San Francisco chapter's creation when I was tagged in on the initial issue in the central NodeSchool repository. Once we had a date and venue for our first event, we got a dedicated GitHub repository set up. From there, based on my experience with other projects, it seemed pretty easy to start creating issues and making tasks.
It's a little difficult to develop a site by committee, so I went ahead and forked an existing NodeSchool site, adapted its text, and pushed it live. It wasn't perfect by any means, but having something rudimentary meant that I could create tasks and divvy up the effort. Everything from design to site copy to creating social media accounts became things that people could pitch in on when they had the time. In this case, perfection was the enemy of community involvement.
When someone is looking for experience in tech or open source, figuring out exactly how to pitch in can be really daunting. It's important for people already in the community to identify ways beginners can get started. Here are just some the tasks I discovered were available:
Opportunities for Involvement
- filing and organizing GitHub issues
- designing the chapter's home website
- developing the website
- writing and editing website copy
- organizing ticket signups
- running social media and outreach
- finding and reserving a venue
- supervising on the day of the event (coordinating with building management, making announcements, letting people know where the bathrooms are, enforcing the CoC, cleaning up afterwards, etc.)
- giving feedback
- improving documentation
- improving workshopper exercises
Some of these tasks involve knowledge of Git, GitHub, and general (mostly front-end) development knowledge. Others are fairly non-technical. Some of them seem pretty mundane or logistical, but most were mediated through GitHub, and so have some utility in open source practice. All of these tasks were super important to the success of the event, and I can't recommend getting involved enough.
If you are starting a NodeSchool chapter or running a current one, I'm positive you know some people (who might know some people) who would love to get experience contributing to open source. Prerequisite knowledge might involve some cursory understanding of how the GitHub pages work, and introductory information on GitHub could be included on chapter homepages.
During the events themselves, we could gather feedback on pain points with workshoppers, installation, and other technical problems. The day after our event, an attendee emailed me with a link to the pull request she made for the
streams-adventure workshopper, re-wording one of the modules that we both spent an undue amount of time trying to understand. When attendees themselves feel empowered to help improve the learning experience, everyone wins.
All in all, I think it's really important to highlight ways in which our community can get involved. The more we are clear about the needs of our organizations in a way that beginners can grok without intimidation, the more people we will see get involved. And that's the best part of all.