I gave a talk at the 2009 Kalamazoo X conference that was entitled “Community – Get Involved!”. This was an interesting event where it wasn’t focused on technology, but rather soft skills and personal development. One of the organizers of the event, Mike Eaton, had contacted me a few weeks prior to the event and asked me to do this talk on what community is. What he didn’t know was that I had been keeping a blog post (this one in fact) sitting in my drafts folder for quite some time. I kept coming back to it and adding ideas and thoughts, but it wasn’t until I had to put together the talk that everything clicked. What follows is the written version of my talk, with some additional insights and thoughts. It’s quite long winded…I’m shocked I got all this into a 20 minute presentation. :)
What is Community?
It turns out that the definition of community is a hard concept to nail down. There are several sciences devoted to the study of communities of various types. I found this on Wikipedia:
“In sociology, the concept of community has caused infinite debate, and sociologists are yet to reach agreement on a definition of the term. There were ninety-four discrete definitions of the term by the mid-1950s.” – Community - Wikipedia
Ninety-four discrete definitions, and that’s just in sociology. As I looked around what I discovered was that in the context of the type of community I was trying to describe, the software development community, the definition was highly subjective. This realization meant that in order to talk about community to others, I have to define the concept as I see it.
What is Community to me?
When I think of the software development community that I’m a part of I see a lot of different people.
I see my teachers.
There are so many great mentors and speakers in our community. When I started attending user group meetings and going to events (especially open spaces) I found a multitude of people willing to teach.
I see my students.
I love to teach. I’ve been a teacher since I worked as a counselor at a boy scout camp when I was a teenager. There is something about teaching others and helping them improve themselves that satisfies me. I’ve also discovered long ago that while I might be the one standing up in the front of the room talking, I’m still one of the students in the room. I learn a great deal by teaching others.
I see my best critics.
Through the community I’ve found some of the most honest criticism of my work or ideas. This open feedback was given so that I could improve myself. As long as I was open to the feedback, I could find members of the community to give it.
I see my sounding board.
In the community I have found several people that I can use to bounce ideas off. While the critics in the community provide feedback on work or talks I’ve already given, the members that act as my sounding board give me feedback on things I’ve yet to unleash on the world. In fact, I had one of them read this post before I clicked publish.
I see my motivators.
Mike Eaton once posted a meme on who inspires you and called me out on it. I failed to do my own post (until now…sorry Mike!). I see all of the people in the community as my motivators. When I stood in front of almost 200 people at the 2009 Central Ohio Day of .NET I saw my motivation. Same when I gave this community talk at Kalamazoo. The people who give up their own time, outside of work to come learn from others in the community…those are the people who inspire me.
I see my support group.
It is interesting to me to see how the community can stay cohesive even when we are all away from each other. This used to occur via mail and post, but now we have email and Twitter. Many times I’ve seen tweets from people in the community come across indicating that their mother or child has been taken to the hospital, or are sick. Instantly members of the community react with responses of support, and even sometimes action. A collection was made to help pay for a replacement laptop when a speaker had his car broken into after an event. Another collection was made to help pay for meals for a community member who’s wife became seriously ill and had to be away from home for treatment. Thoughts, prayers and simply acknowledgement of support abound in the community. I see it everywhere.
I see my friends.
As I was listing out what I saw in the community and what it meant to me I realized that it pointed to a single word or concept: friendship.
I’m actually not an overly social person. I’m usually one of the people that in a crowd like to sit in the back and watch others. It’s funny that during one of my presentations Jeff Blankenburg tweeted, “@mikewo has a vastly different presentation personality vs. conversational personality. great talk. #kalx”. He’s completely correct. The number of people I stay in touch with from my high school and college days can be counted on two hands. These are my closest friends. In the community I see my friends, for all the reasons I stated above. People willing to teach me, give me feedback and provide support if necessary.
I see that everyone can play all roles.
During the presentation I was showing pictures from community events as I walked through the points above. At the end of this part of the presentation I wanted to ask people not to get caught up in who’s pictures were on each slide. I didn’t spend tremendous amounts of time picking out people that matched a particular role. I agonized over it more in that I found that the same people could go on any slide and match any of the roles. I realized that’s really the case in the community.
I’ve run into a lot of people who won’t go to an event or speak up in an open space or discussion because they feel that they have nothing to contribute. I call ***Shenanigans ***on that. We are the sum of our experiences, therefore not everyone has the same perspective or viewpoint on a given subject. Even if people agree they may do so for slightly different reasons. These differences are important and may completely enhance the discussion. EVERYONE has something to offer if they CHOOSE to do so.
Why Should I Get Involved?
After rambling about my own thoughts on what community is I hope you can see some of the benefits of being a member. I hope you can see how rewarding the community can be, but if you still aren’t convinced I’d like to throw a couple more benefits that some people might find more important than those I listed above.
Impress your boss.
Being involved in the community will help you keep an eye/ear on what’s going on in the industry. I can’t count how many times some issue has come up at work that I could answer or recall a technology that might help because I had seen a presentation on it or saw a tweet about it from a member of the community. It’s impressive to your clients and superiors when you are rattling off research ideas on how to solve an issue off the top of your head.
If you choose to become heavily involved in the community, such as speaking or serving as an officer/director for a user group then you have the opportunity to show leadership. If you do this well it will carry over into your work and a good employer will take notice.
The cheapest form of training you’ll find.
Training in our industry can be expensive to the individual. I took my first class recently and got a tremendous amount out of it. It was well worth the expense, but it is unlikely that you can get your employer to send you to classes every month (if you can please contact me…I’d love to hear how you pulled that off!).
Many of the community events are free and most others are completely reasonable in cost to attend. Most user groups are free to attend, or have a low cost yearly membership fee. Use these events and user groups as a way to bolster your education. Sometimes they introduce you to a technology that you are excited by, which could lead you to taking the right class for you.
Find a mate that shares your interests.
In my talk I was using this as comedic relief, but I have to admit it’s highly unlikely that you’ll find that person of your dreams. In Mythbusters fashion I’d have to say it’s Plausible. I can say though that you will find people that share your interests. For example, at one of the community events recently I found someone who was interested in learning how to play Go, which is something I’d been thinking of trying to pick up. Remember, just because you’ve been drawn to it because you share an interest in technology and software development doesn’t mean you won’t find a wealth of other things you have in common with other members of the community.
Find a mentor.
If you don’t have a mentor you are doing yourself a huge disservice. Having a mentor (or multiple!) is probably the best advice I can give someone. Becoming involved in the community will allow you to meet many people that could service as excellent mentors. I suggest finding as many as you can.
Build networks that can help you.
Being a member of the community means exposure to a huge network of people. You’ll be surprised how quickly you meet tons of people if you are willing to open up and say hi. You’ll also be surprised by just how powerful that network is. In the current economic climate several people I know have lost their jobs or have decided to move on from troubled companies. The majority of them found jobs quickly because of their contacts in the community. One person in particular posted on Twitter that he had lost his job and within 4 hours he had offers… all based on the fact that people in the community knew who he was and was familiar with this work and skills.
Great! So How do I Get Involved?
Now that I’ve shared what community means to me, as well as some other reasons that might interest you in becoming involved, I hope that you are thinking “How do I get involved?” Luckily that is dead simple.
Events and Conferences.
Look for events like the Kalamazoo X conference or Code Camps in your area. In the region I live in we have multitudes of these one day events that offer an opportunity to learn and network. They are thrown by all sorts of groups and focus on a wide range of technologies or methodologies. Find ones that match your interest. There are events for .NET, Ruby, PHP, Python, Java… you name it. Search for them and attend. (HINT: It helps if you talk to people when you get there).
In Tennessee and Ohio we have three large events that are completely driven by volunteers. CodeStock and devLINK in Tennessee, and CodeMash in Ohio. These multi-day conferences are filled to the brim with opportunities in the community. Besides the sessions and presentations you’ll find open spaces and hallway conversations that you just can’t get from reading a blog or watching a screen cast. I have to admit that I get more out of these volunteer, local events than I do out of the mega conferences put on by vendors.
Give camps are opportunities for you to use your powers (read software skills) for good rather than evil (read help charities vs. rigging someone’s desktop to have a background that looks like all their icons on the screen, but hiding all the icons). These events are usually a weekend where software engineers get together to produce code and applications for charities that desperately need it. For example, one give camp produced software that could help the SPCA in Michigan collect data on lost animals and share that data with vets and other shelters across the state. This type of software could lead to a much greater chance of these animals making it back home to their families.
Mike Eaton describes give camps as the single, most powerful experience he has had at a community event. Given that statement, I don’t think I could even come close to describing what this type of event is, you’ll have to just attend one to find out. If you want to get involved, look around for a give camp in your area.
If you aren’t familiar with open spaces then you should read the description of them over at Wikipedia. I really “got” the concept of open spaces at the devLINK conference in 2008 and I have to say…wow! The dynamic conversations with other passionate people in the community was just awesome and inspiring. Like give camps, open spaces are just something you have to try out a few times to see how much of an impact it can actually make on you.
Often times at technical conferences you can find open spaces going on down a hallway or hidden around the corner. Go search this place out and check out the board for topics you are interested in. If you don’t see something that catches your eye I challenge you to post your own topic to talk about. Remember that by being a facilitator of an open space you’re only job is to show up and say, “let’s start.” You are not a presenter, nor do you have to speak. Sit back and learn, though I hope you put your own two cents in. It will only enhance the experience.
While attending a conference that has open spaces you’ll be making a choice between an open space session or set of presentations given by passionate speakers. You will likely get benefit from both, but I encourage you to look at open spaces as an additional session on the docket. If you would choose a presentation based on the open space topic over all the other sessions, then you’ve got your answer of where you should spend your time.
In the software development community we are NOT hurting for a lack of user groups. They are everywhere. Look around you locally. If you can’t find one local that focuses on something you are interested in then look for the myriad of online groups as well. Each group is run differently and usually focuses on a specific technology or methodology, but all of them are a great source of knowledge and networking opportunities.
I’ve been involved with the Cincinnati .NET User Group for many years now (Thanks James for getting me involved!). If you want to get involved in a user group quickly, then simply volunteer to do something. You don’t have to be an officer or director. Just offer to clean up after the meeting, or take the left over pizza home with you. Offer to move the chairs back or ensure the venue is clean before you leave. Offer to help with the website or volunteer to help work registration. Sometimes it’s the simple things that mean the most to the volunteers who are organizing and running these groups.
Nerd Dinners & Bitslingers.
Another way you can get involved in the community is to go to social events with other members. Often times some user groups have a group of people who head out after a meeting to have a few appetizers or drinks. This is the best time to network. Find out what other people are working on and share your own experiences (you never know when you’ll find out that Bob is working on WCF and you have to start a project using that next week!).
A few guys from Microsoft put together nerddinner.com. This site simply provides a way for someone to call a get together for nerds, usually a dinner. Go find one in your area and register. Just like the drinks after the user group meetings the nerd dinners are an awesome time to network. If you don’t find one in your area then call one yourself! You’re only responsible for posting it on the website and showing up. After that it’s up to everyone to bring their experiences and discussions to the table. (HINT: even if no one shows you can still have a quiet dinner).
In Cincinnati we have started an informal get together called Bitslingers. This grew out of an open space discussion where it was stated that we don’t share our own code enough. I wanted to have a venue where people could get together and work on code together. People can come to work on an open source project, or simply try some bit of technology out. Most of all I wanted people to have a time they could come code and learn from each other. If you don’t live near Cincinnati then call your own Bitslingers event. Just like the nerd dinner, simply pick out a time and place that works for you and start advertising it to the community. This concept of a coding get together isn’t new and I certainly didn’t “invent” it, so I know there are already lots of these going on.
As I stated earlier, it’s interesting in how our community can stay connected even when we aren’t attending user groups or events. The social networking explosion on the internet has made this possible. Sites like twitter, facebook, linked in, plaxo, etc. have made it all possible. As you attend the user group meetings and events, find out what social networks the members or attendees belong to and think about joining them. I’m amazed at how the conversations I have at the events continue well after the event is over. Join and be part of the conversation.
The best way to become involved in the community in my opinion is to teach. Now, don’t get me wrong, I’m not saying that everyone should get up and speak or write books. I’m saying everyone should teach. You can teach by simply being part of a conversation and putting in your thoughts about the topic. You can teach by pairing with someone at a Bitslingers event. You can teach by going to an open space. You can teach simply by sharing your experiences, both successes and failures. As I said early on, EVERYONE has something to contribute. Doing so only enriches the entire community.
If you do want to take a more active teaching role then seek out the event coordinators and user group leaders. Tell them you want to give a presentation or talk. In my user group we have grok talks, where it can be a 10-20 minutes talk on just about anything technology related. You don’t have to make slides or demo code if you don’t want to. It’s an awesome way to get started speaking.
If you’ve read through all of my thoughts on community then I hope you have a good idea of why I find community to be a positive influence on my career and personal life. If you aren’t involved with a community I hope what I’ve said makes you think about doing so. If you are involved I hope you see a lot of the same benefits that I do.
Now that you’ve heard all of this I have one question for you…
What does community mean to you?
I ended my presentation on community with this question to the audience. Unlike then, where I asked that each person simply think about it on their own, I encourage you to post your own thoughts about community, both good and bad. Just provide a comment below or, better yet, post your own blog entry. I’m not going to call out individual people to so this, rather I’m going to take a trick from Keith Elder and simply say, If you are reading this, then consider yourself called out to post your thoughts (If you don’t have your own blog or space to do so I’d be happy to post it for you, just contact me). By sharing our experiences we learn from each other, thus enriching the community. And truly… isn’t that the point?