| This from the article makes me sigh: > And because geniuses understand complex things, they design complex systems that no one understands. Their loneliness makes them unique masters of their subjects, thereby nurturing their self-esteem. Knowledge remains in their heads and their presence becomes necessary for every decision. This is of course true, a genius can do this. But given so can just about anybody else given enough time. We have a name for it when a non-genius does it: people built up technical debt that no one else is across. About the only difference between the genius and everybody else is the genius can create this gap faster than most. Which should be a hint what the cure is, and it isn't getting rid of the genius. (I'm sure Elon Musk would be rolling his eyes at the thought, or possibly rubbing his hands in glee if you are a competitor or his.) The cure is to set up the code review systems and documentation so everyone is across what he is doing. In effect you demand he spend the time dragging everyone up to his level. If he is a true genius, he will have broken things down into clear, distinct, modular lumps, that everyone else can digest now he's walked the path for them. The article is right in saying that solution isn't taught in technical classes. It's a social and cultural issue. That probably why it blamed the genius, and not the culture. |
If someone's too far ahead of everyone else in terms of skill (through their own work or talents), they should be given opportunities to find or create a team with similar skills. Just because you happened to join a team with different skill levels does not mean you're now obligated to teach everyone else. It's great when people decide to teach others when there's a large skill gap, but that should be a personal choice.