Anyone who has ridden on an English train has seen this inexplicable phrase on a sign near an exit door. It means there is a gap between the train and the station s platform. Do not fall in it. There is also a major gap between the best and worst programmers. This gap, if not minded, may make it difficult or impossible to successfully populate a democratic team.
A gap this large is historically quite possible. For example, the best fighter pilots have great shoot-down rates. Others fly every day and shoot down nothing. One German on the Eastern Front during World War II brought down over 350 Soviet airplanes. How was he so productive? He had a process: he flew closer and closer to the enemy s rear until one burst from his guns would make the other airplane explode. In fact, several times, debris from these close explosions brought down his own airplane. Still, comparing this pilot to the nonproductive ones reveals a prodigious gap.
The gap between the best and worst programmer is smaller. There are habits that can close this gap. A devotion to documentation is one. With adequate explanations , a project can be passed on. Those at the top of the heap as programmers rarely have that habit.
Balance is crucial here. If the project is short lived and a one-time job, then using star programmers is generally all right. However, if the source code will be maintained and used for years , programmers of lesser ability, even though slower as developers, are more likely to ensure that the project can move forward.