Difference between revisions of "Rethinking Coders"
Jump to navigation
Jump to search
Line 26: | Line 26: | ||
* Some want hands on experience | * Some want hands on experience | ||
* Some want to teach others what they know | * Some want to teach others what they know | ||
− | * | + | * Some just want to help out |
=Some problems= | =Some problems= |
Revision as of 14:21, 25 January 2005
Comparison with the Build Program
I often compare the Coders program with the Build program as a start to figuring out what might work better for coding at Free Geek.
In the build program, volunteers:
- can sign up for any of nine shifts per week
- need to work at Free Geek
- trade time building and QCing in exchange for something (often a computer, often skills)
- go through a Prebuild program where they are exposed to skills they'll need later on
- in prebuild, folks sometimes realize they're in over their head and drop out
- once you teach someone how to build a computer, they (basically) need to repeat that task several times
In the coders programs, volunteers:
- can come in once per week, but can work on their own time
- can work from home or elsewhere if they choose (though some things need to be done at Free Geek)
- trade time writing code in exchange for skills
- don't go through any prerequisites program
- sometimes realize they're in over their head and drop out while coding
- once you teach someone how to write a program, they cannot repeat that task several times in any kind of a useful way
The build program is quite successful at involving a lot of volunteers at Free Geek, while the coders successer are much more modest (and that may be putting it charitably).
What motivates volunteer coders?
- Some people want to learn useful skills
- Some want hands on experience
- Some want to teach others what they know
- Some just want to help out
Some problems
- Projects move very slowly -- way more slowly than expected.
- People who are the impetus for starting a project often move on before it's completed.
- Volunteer coders often implement changes without much coordination, leading to incompatible code.
- Entire projects are abandoned (or at least forgotten)
- New coders are often overwhelmed by the learning curve