Open Source Developers Mostly Pros, Not Weenies
SpinyNorman writes: "Survey shows open source developers mostly veteran pros, not slashdot weenies. Slashdot weenie Hemos should have submitted this himself already seeing as he was involved in it as LinuxWorld!
Open source a needed outlet for programming pros." Like any survey, it's bound to miss some avenues of exploration, but this is the best look at a large group of open source developers I've seen yet. The survey itself (a joint project of the Boston Consulting Group and Slashdot-parent OSDN) lives at www.osdn.com/bcg, or you can jump straight to it in either PDF or html.
Just my US$2e-02. OK,
- B
http://www.bradheintz.com/
- updated
most open source zealots are damn good coders, and yes, many of them even have jobs and a house/apartment!
Everything was great until I came across this: Most open source zealots haven't written a line of code in their life. Most open source authors are pragmatic and appreciate the benefits in particular areas, and their approach is anything but zealotry. There is a vast chasm of difference between the attitudes of a Slashdot Warrior advocating the true way of enlightenment, and the people who are behind the usable open source.
How many times do you get to work on something really creative at your day job?
Most work is either database, accounting, or doing web apps with some really broken methodology/tool.
The most fun I have had is working on non-work realated things just for the sake of writing some fun code.
It's the pros who do the actual work. It's the weenies who sit around and bash Microsoft while pontificating and arguing the subtleties of the GPL vs. whatever or Linux vs. BSD on Slashdot all day.
I actually recieved this email (I run a project on sourceforge). I didn't fill it out, but I had thought about it.
They did some good trolling.. they refered to the project by name, said that the project was related to the survey they were doing, etc etc.
As far as the 34% of SF developers versus 2.4% of the LK list... that's easy. Not everyone who reads the Linux Kernel mailing list is a developer.. but nearly everyone who runs a sourceforge project is.
I've been told by many managers that it is good to expect 33% true productivity from employees in a cube farm environment. People make personal calls, answer email, talk by the water cooler, etc.
Now, a good manager recongizes that this is ok. It's good for moral. If the biggest compliant of an FS programmer is that he spends some time at the office hacking away at a bug or scribbling some code on a notepad while the other goobers are talking about what they saw on Survivor, then that's a damn good thing because atleast the FS programmer is becoming a better programmer and will likely become even more productive.
Besides, since most FS programmers have a bit of experience (according to the article), it is likely to assume that they have enough experience to know how much they can get away with doing at work without work suffering.
Think of it this way, if your a manager would you rather see your C++ programmers spending an hour talking about the Super Bowl or spending an hour figuring out a non-work related bug in a C++ program that is FS and could therefore be used by the company in some way in the future?
int func(int a);
func((b += 3, b));
Not quite - you are learning from the code of professional programmers, not the programmers themselves. The big difference doesn't show up in your code but in your documentation, design and process skills. Initial coding is only a very minor part of the battle of creating great software, the rest is in the design and maintenance and looking at code will teach you very little about documentation requirements.
You can certainly pick up some aspects of design from code directly, but don't fool yourself into thinking you are competent at design if you have only learnt from code - it really is an artform. Probably the biggest failing of open source software is in it's documentation (ie: there is extremely little and documentation is almost always behind). I am definitely not one to support producing copious amounts of wasted paper but I am well aware of how much difference a solid design, fully planned before any code is written, can benefit productivity in the long run.
So by all means participate in open source development and learn from the code, you will learn vast amounts about code that way but don't stop there. Go out and get a degree in software engineering (or something else that focusses on design and maintenance since you already know how to code well), read as many books and white papers on software design as you can or better yet, do both (and whatever else you can find).
I know there are always people better than me, and things to learn
That's the spirit! There is some really cool stuff coming out in white papers these days both relating to code and design - keep an eye out for Genetic Software Engineering from the Software Quality Institute they're doing some really cool stuff.
Maybe if we all go out and study up on design and management (yes, yes, but it's important even in opensource) the next survey will show that open source developers are brilliant at code, design and make the best managers.... Or maybe that's pushing it.....