Coding Communities - What Works?
drDugan asks: "There is a resurgence in interest lately in information-based systems and websites for data sharing, structured data, and enabling communities to work together better. I'm working a contract for a new business that is trying to build a community to support people who write software. What communities are you a part of now that help you write and develop software? I mean this question in a general way, including both online communities and offline interactions (your office, LUGs, etc.) -- where do you find connection with other people to get information, answers, and inspiration?"
Nowhere else can I find people with the experience, breadth and width of skills, and general good-naturedness of character than right here at Slashdot. This site features the presence of the creme de la creme of the programming world, and has experts in any particular field always ready with answers to difficult questions.
Not only is this site good for getting good answers to technical questions, legal questions are also pondered thoughtfully and expounded on by knowledgeable experts. You can find exceptional quality of legal advice here at all hours of the day.
And best of all, this site is absolutely free (as in beer), so you don't have to pay a dime for answers to your technical questions, nor a penny for legal advice. I dare you to make the same claim about sites like http://www.experts-exchange.com/ or http://answers.google.com/
Sourceforge is a pretty good model. It works for a lot of open source software out there. There are a few similar communities out there. I'd start by looking at their features and figure out which ones meet your needs.
As for Q & A, I generally find usenet newsgroups are about the best source for programming questions. Depending on the particular newsgroup and topic, I can usually get answers inside of an hour and when it involves my business, time is usually pretty important.
My only offline resources are my co-workers who fortunately, are all quite talented.
I would suspect that most of what you'll want, code-wise, is probably largely available in parts and can be pieced together.
I'm in Grad school right now (Computational Engineering)... and I don't think I would survive if not for my awesome fellow grad students.
We all help eachother out... and the types of ideas generated about the way to do something are _way_ above any google search. Sure, google is good for a quick syntax check (or a man/info page... or doxygen)... but those places don't give you understanding about how to properly address a situation.
If I could suggest anything about a community site it would be this: Make sure that you make it easy for people to communicate. Do whatever you can to get the website out of the way, and make it as easy as possible for people to transfer ideas.
Friedmud
"Sprinting" I find works really well. We just got back from PyCon, a 3 day conference with 4 days of sprinting afterwards. Sprinting is where people get together, either in person or via the IRC, to work on a particular task or set of tasks. Evelyn and I along with a group of a some other folks worked to get the new www.python.org site up. It had been in process for the better part of a year, but we were able to do a big push to get it ready to put up that 4 days and a few days afterwards, coordinated via IRC.
Linux Users Groups can tend to put people with good ideas together, and our local LUG tends to push people talking about their projects at the meetings. I've gotten a lot of good feedback from talking about my projects to the group. A good way to get peer review for a 1 person project.
The LUG meeting is once a month. The rest of the weeks of the month we have a Hacking Society meeting at the coffee shop. The idea is to set up a space where we can folks can work on various projects, everything from resolving bugs on Debian and Python projects, catching up on e-mail, working on software or talking about ideas and projects, installing different distros or getting software or hardware working.
We had our first Hacking Society meeting 5 years ago and had 3 other people at it. Since then, we've had over 100 different people at our local meeting, and regularly get a dozen people every week. Other chapters of Hacking Society have set up in 5 other locations around the world, but only one or two of them are really active. For those ones, it's really been working well. I'd be happy to help others set up local Hacking Societies, see http://www.hackingsociety.org/ for more information.
Just connecting with the community of people doing things is very powerful motivation and provides ideas to help get more work into it.
Things like wikis and SVN/CVS servers and bug tracking helps put software together. As long as it can foster the communities of people to get ideas shared and motivation going around. Things like IRC and mailing list can really help out with the ideas and peer review and motivation.
Sean
It's completely dependent on what language I'm coding in.
When I was coding in PHP... php.net was an absolute godsend of being both a reference to all the functions and objects and a repository of user's experiences and tips for the items... almost all of my php issues were solved via that site.
When I've been doing Javascript code (which isn't a huge amount I'll admit), then I've found W3School's reference pages to be invaluable.
Now that I'm doing my coding in the open source language Laszlo I've found their included documentation that comes with the developer install (web based and with live examples to tinker with), and the community coding forums to be an enormous help, and have made learning and getting a lot out of this language really not that hard.
I really think that trying to localise coding support isn't going to work... the coders should just make use of the best forums and resources for the language they're using. Each time I have to use a new language I have a new folder in my bookmarks for reference pages and forums for that language that I find on the web... you find almost everything you need that way really.
And know how to use Google damn well!
<ducking>
Hey, Windows users, there is no such thing as "forward" slash, there is only slash and backslash.
I've been a member there for a while for mapping in UT and learning to texture, map, and more. They offer more then just support forums. The makers of the site do tutorials (mostly video) and offer them for download. Some are paid, some are free.
Also back when I was doing my co-op for programming (they used VB) the Visual basic Programmers Journal by DevX released a 101 programming tips. Little routines that did specific things, like auto complete for drop down boxes and the like. I found that to be invaluable. So to summarize.
- Community forums
- Tutorials - both from members and you guys.
- Tips and tricks - Maybe done like a code database
It's a start and you can build from there.DarkMantle I been bored, so I started a blog.
I myself am an Oracle DBA. I have been dependent upon Oracle's metalink system for quite sometime. Here is what I think makes it work:
1) Forum - Ability for users to post questions where responses can be made by both Oracle or other members of metalink. Forums, in there case, are broken down into categories and/or application Groups..eg. Database Server Administration, Backup and Recovery, Performance, etc..
2) Bulletins or Notes - Ability for privileged oracle reps to post information in regards to ways to do things that many had questions about or had confusion about.
3) Bugs - Ability for Oracle to post Bug messages to describe a bug, the test case, ways to reproduce, and solutions.
4) Mass Search - Ability to search any of the above documents types in one universal search engine.
5) Bookmarks - Ability to bookmark any of the above document types (Bulletin/Notes, Bugs, Forum Message).
6) Save Searches - Ability for users to save prior searches
7) Patch database - ability to search for software patches
The above is how Oracle and its users can leverage knowledge in a very efficient way. I suppose many IT companies could utilize a system such as this.
For my Java needs, I go to the Java Technology Forums http://forum.java.sun.com/index.jspa For any MS or SQL needs, I go to Tek-Tips http://www.tek-tips.com/ Both are free, and if you ask questions intelligibly, you'll get answers very quickly.
No kidding, some other people's source in comparision sometimes feels like a child's homework essay next to a master's printed novel.
In Soviet Washington the swamp drains you.
The Developer Shed Network[1] is a whole slew of sites and forums run by the same people (Jon Caputo and others). They have a lot of nice tutorials/articles, as well as various forums such as ASP Free[2], which is dedicated to Microsoft-ish technologies; and Dev Shed[3], which is geared more towards free and open-source technologies such as Apache, Linux/*BSD, XML, C/C++, MySQL/PostgreSQL/Firebird, PHP/Python/Perl/et al.
Trust me on this last one. I'm a moderator on many of the forums there and the people are always very helpful, polite, and (in most cases) respond to threads rather quickly.
[1] http://www.developershed.com/
[2] http://forums.aspfree.com/
[3] http://forums.devshed.com/
The irony is most coding community sites are poorly organized, poorly designed, and lack features.
I think it's because few coders put any sort of stock in appearances. It's a shame, because appearance really helps make a site (or product) feel "solid". Too many coding sites feel like they're barely held together with duct tape.
Poor presentation doesn't instill a lot of confidence that the content is worth anything.