Benefitting from Virtual Development Communities
Are you lonely? Tired of looking for solutions to particular programming issues without having any reliable sources? Sure you've got the latest version of 'Your-Programming-Language-Here for Dummies', but manuals and APIs tend to lack substance and examples. For nerds like us it's like high school prom all over again. Fortunately, there are others like you longing to rid themselves of the indecipherable semantic garble that has bottlenecked open-member solution sources.
Utilizing technical forums and blogs to learn about development questions used to be a painstakingly difficult process that first required hours of intensive searching before even finding relevant posts. Of course, there was always the 50/50 chance of there being no solution, advice, or response at all! Finding a reputable open-discussion source has become easier with time as developers began to realize the necessity for such resources and started integrating more and more functionality into their web-based newsletters and virtual communities. A few examples of such communities are stackOverflow, a free language-independent developer discussion forum, and Experts Exchange, a subscription based discussion forum with extended services and assistance.
These rich communities can be seen as archives of wizardly knowledge, endowing us with otherwise non-existent knowledge and providing tried and tested methodology. These grandfathers of discrete mathematics and algorithmic analysis (with their punch cards and pocket protectors) are met with the modern day programmer in one environment, blending knowledge with youthful ingenuity and energy. It is no wonder that software companies have made such communities a staple to their processes as it provides immediate feedback, user testing, and allows for announcements concerning their products. For the individual user these communities can have limitless potential. Developers are exposed to new technologies, collaborate on ideas with like-minded developers, and collectively contribute to a rich and diverse technology base.
Getting involved in these communities not only provides developers with an additional resource to turn to when confronting programming obstacles, but also extends their capacity to understand other programming styles. While at first this may seem to pose a threat to the unification of programming styles and semantics, it actually has the opposite effect. The need for a concise terminology when dealing with programming and development is critical in being able to discuss and work with others. As people become more involved with these communities they begin to pick up on the lingo frequently used by other users and start integrating it into their own questions and solutions to better describe their problems or answers. In this manner users are not only learning coding solutions but are also adapting more widely used terms and concepts, which, in turn, increases their potential as developers.
For several developers pride and skepticism are grand deterrents to participating in such community-based solution sources. To those who fall under this category I challenge you to really flex your programming muscle by solving the convoluted and complex issues of others (and in return showing off that hubris of yours). One great addition to these emerging discussion forums and blogs is the integration of social-networking components such as instant messaging, friend/relation managers, and (for those prideful people) ranking systems based on your activity and the accuracy of your responses/posts. Personally, my favorite example of such integrated functionality is on the ASP.Net site which provides tutorials, videos, discussion forums, a relation manager, software toolkits, and a reflective ranking system (but then again the .Net framework is my niche).
So whether you are looking for a simple solution to a required introductory programming course, writing your dissertation on Quantum Computing Theory, or just an ASP.Net developer for a small company building web-applications in a flour mill, there is much to learn from these grand archives of information. You never know when you will meet that certain someone that lights up your life…or at least knows one method call that simplifies your program by a couple hundred lines.