Developing the Developer Community
Community involvement is an often overlooked -- but increasingly important -- part of what it means to be a developer.
- By Ondrej Balas
Community means different things to different people, but in today's world it can make a big difference in the burgeoning growth of your career. This month I want to share my experiences and those of my friends and colleagues as they relate to community.
For me, it all started when I was browsing Meetup, looking for some social groups in which my wife and I could get involved. Reading through the list of local meetups, I saw one that caught my attention: a Java group that meets once a month. Now, I'm not really a Java developer, as I prefer .NET, but seeing that got me thinking: if there's a Java group, surely there must be a .NET group too, right? I employed my trusty Google-fu and got to work. It didn't take long to discover there wasn't just one, but three .NET groups within driving distance that met monthly.
This brings me to what I think is the first glimpse into the community for most people: user groups. .NET user groups typically meet once a month on a weekday night and have someone give a presentation on a topic somehow related to .NET development. Most groups are free to attend, and many even provide a free dinner and have giveaways. These meetings are a great way to expand your knowledge by seeing presentations on topics and technologies you might not work with on a daily basis. They're also a great way to network with other developers. The groups can vary greatly in size, with some groups having only a handful of people at each meeting, to others that see attendance numbers in excess of 100 on a monthly basis.
While the knowledge that's shared at .NET user groups is wonderful, the networking opportunities shouldn't be overlooked, regardless of your role within your organization. At my local group, we have a segment at the end at which we have employers stand up and give a pitch about their company and the positions they're looking to fill, and also for job seekers to give us their "30-second resume." Even as an independent consultant, I've gotten a couple jobs from people that I've talked to and mentioned what I do. Most groups also have a social hour at a local pub afterward where great conversation is often plentiful. The relationships you can build by taking advantage of these networking opportunities can really pay dividends in the long term.
Finding a .NET user group is actually somewhat easy to do, as there's a wonderful organization, INETA, which provides support to .NET user groups worldwide. The INETA Web site has information about the organization, as well as a way to search for .NET user groups in your local area. And in the event that a group doesn't already exist in your area, if you were so inclined, you could reach out to INETA and ask for help in starting one.
Code Camps and Hackathons
Code camps and hackathons are other types of community events that often take place on a weekend and attract developers from the immediate area surrounding the event. Code camps generally end up being like small, one-day conferences. Most of the time there will be presentations going on throughout the day in various rooms, broken out into hour-long blocks. The number of simultaneous presentations (also known as tracks) depends on the code camp, but from my experience, most code camps have between four and eight tracks. Attendees usually choose the one session that sounds the most interesting or relevant during each block. By doing this, you can be exposed to a wide range of presentations in a short amount of time, almost like going to five or six user group meetings in a single day.
Hackathons are similar to code camps in that they're usually all-day events taking place on a Saturday or Sunday. They differ in that there are no presentations. Instead, you're encouraged to bring a laptop and work on a project, either alone or in a pair. They'll also have a theme or some goal, and there will be other developers who can help out if you get stuck or have a question. One such event is the Global Windows Azure Bootcamp, taking place at locations worldwide on March 29. If you're interested in learning more about Windows Azure development, I urge you to visit the Web site and consider taking part. Another topic I've seen covered recently is Windows Mobile development, with events designed to help you write an app and get it published to the app store, all in one day.
Both events are usually community-driven and have sponsors that cover costs, so attendance is commonly either free or has a nominal fee. Finding them is a bit trickier than finding a user group, because there's no central directory; but you might have luck checking out Meetup or by just searching the Web. These types of events are often promoted at user groups, so you can find out about them by attending a group, or by contacting user group leaders in your area.
Conferences take the concept of a code camp and scale it up, sometimes to a massive scale. Conferences can range from local or regional, from community-driven to massive productions with thousands of attendees coming from all over the world. Conferences often take place over a two- to five-day period, and will provide you with exposure to a much wider range of presenters and topics than you can find elsewhere. The costs of attending can be significant, however, especially if travel's involved. If this interests you, consider looking into your employer's offerings for continuing education, as many employers have budgets for this sort of thing. (The folks that own Visual Studio Magazine host a number of .NET-focused conferences every year, under the Visual Studio Live!
Most conferences I've attended have also had a major social component to them, too, of which many conference-goers fail to take advantage. I can't think of one conference I've been to that didn't have at least one mixer or other social event. These events are a great way to meet new people in a casual setting. But even after the mixers and sponsor parties wind down, when most attendees are headed back to their rooms, a few stragglers always remain and keep the conversations flowing. Those conversations, long after most everyone has gone to bed, are some of the most thought-inspiring conversations I've ever participated in, and I highly recommend seeking them out.
Be Part of Something Bigger
Becoming part of the developer community can accelerate your career through a mix of knowledge and networking. In today's world of constantly evolving technology, there's more and more to being a developer than simply writing code. Knowledge and ideas are being shared, and being part of that sharing will make you stand out among your peers. And if you ever happen to be in Southfield, Mich., on the third Wednesday of the month, I welcome you to stop and say hi to our group, the Great Lakes Area .NET User Group
About the Author
Ondrej Balas owns UseTech Design, a Michigan development company focused on .NET and Microsoft technologies. Ondrej is a Microsoft MVP in Visual Studio and Development Technologies and an active contributor to the Michigan software development community. He works across many industries -- finance, healthcare, manufacturing, and logistics -- and has expertise with large data sets, algorithm design, distributed architecture, and software development practices.