Lately, I've been dissatisfied with some of our Kansas City technical user groups. If the topic for the evening is interesting, I will usually go. However, when I do attend, I often leave disappointed.
Why? The main reason is that these user groups consist of one or two people speaking at a group of 20 or so other people. This doesn't provide a great environment for the group. There aren't any stimulating conversations, it's hard to get to know others in the group—it just feels empty.
So, how can this problem be resolved?
Trying something different
Not only did we want a group where we could play with and learn node, we wanted a group that was exciting to be a part of, and one that didn't leave you disappointed. While starting this group, we thought through a lot of things that we disliked about other groups that we were attending.
We also thought about the main reasons people want to go to a user group. People want to learn. They want to connect with others with similar interests. They want to be able to apply what they learn. And they want to be able to go beyond their day-to-day job and do something fun.
So, I would like to propose some "foundational concepts" that we decided will guide our group. Hopefully, they will apply to other groups as well.
##Foundational Concepts ###Collaborative project-based meetups We want to collaborate with others, not just listen to one person. We want to learn by doing. We want to create something. And like many, we could use some cred on GitHub. We hope that this environment fosters a engaged community that encourages helping others and learning from each other.
###Interesting location with collaborative seating A classroom is not going to work for this group. We want a location that encourages creativity and collaboration. And it doesn't hurt if there is beer served there as well. Our first meetup was at Snow and Company which worked well because we could rearrange the seating and huddle in one or two groups.
###Facilitate contact sharing and meeting new people We want new people to feel welcome and to be able to easy connect with others in the group. We want to encourage knowing others in the group well. We're hoping the collaboration dynamic will help with this. Also, we'll be switching up pairing and teams every time to ensure good cross-pollination.
###Encourage failing This is one I learned at CodeMash. We want to have an environment where it is okay to fail. When we fail, we learn, and that is okay. If we are afraid to go out of our comfort zone, then we will never reach our full potential. We have to be okay with failing to make this collaboration thing work.
###Prerequisites made known ahead of time Since we're going to be actually coding, we want everyone to know how to get setup ahead of time. We hope that everyone can get the boilerplate done ahead of time, so we can focus on the interesting stuff. We try to make these known through our google group and twitter.
###No supplied food We want to attract people genuinely interested in node and contributing to the group. Free food or not, these people will come, but we don't want to advertise free food and attract the wrong people. This affects the timing of our meetup, so we start a 7:00pm to allow people the time to get food before attending.
##Takeaway I hope that our approach will work for more than just our group. If you already have a group like this, then great! If you wish you did, then start one! If you organize a group, maybe these concepts don't all apply, but hopefully you can apply them in a way that fits the dynamics and intricacies in your group.
I realize that every group is different, and this approach may even fail terribly months from now. But for now, it's working pretty great. If you have ideas or critiques, please do leave a comment!