Not only that - management should actively provide incentives for the more skilled devs to coach the less skilled ones, otherwise it just becomes extra work.
Then the higher skilled members should devote a significant amount of time getting others to level up. It is a team. Management should have structure in place to incentivice it. If they don't have a structure in place then the high skilled members should devote time to make a proposal and pitch it. Find a way to win as a team.
haha everyone says "just train your employees more!". I do like the the "get them to level up" mentality.
BUT... it won't work. We're all on a spectrum of ability. Maybe more so, we're all on a spectrum of ability spectrums. Training, education, these aren't the answer to "my devs aren't as good as that one". You take the ability you have, your team has, and you manage and apply it the best way you can. Most often, that doesn't mean having your top developer spend her time training everyone else.
It means you give that top developer the protection and time she needs to get her shit done. If she happens to be the type that gets energy from training and helping others, THEN you have her train others.
In computer engineering terms, you have to balance your control path as well as your data path.
It means you give that top developer the protection and time she needs to get her shit done.
But not to the exclusion of all else.
Again: a team is a team. I, as a manager, need the team to functional optimally. If one developer is a 10x hotshot, but she makes the lives of everyone else substantially worse, I don't give a crap how much code she can write, she can find another team.
The top developer doesn't get to be a silo, a dictator, or a troublemaker. As a high-skilled individual, they are expected to produce code, collaborate with team members effectively, provide mentoring and training, and generally lead by example.
Again, if they can't handle that, they can find a company where their style is a better fit.
The employer should endeavour to close those gaps via training or even just advocating things like more pairing. It shouldn't be acceptable for a developer to silo themselves off from the rest of their team (except maybe a non-artificially-short-deadline or start-up type environment).
zzalpha|8 years ago
Meanwhile, management should provide opportunities for training and so forth to develop their talent.
infinite8s|8 years ago
WWKong|8 years ago
noobiemcfoob|8 years ago
BUT... it won't work. We're all on a spectrum of ability. Maybe more so, we're all on a spectrum of ability spectrums. Training, education, these aren't the answer to "my devs aren't as good as that one". You take the ability you have, your team has, and you manage and apply it the best way you can. Most often, that doesn't mean having your top developer spend her time training everyone else.
It means you give that top developer the protection and time she needs to get her shit done. If she happens to be the type that gets energy from training and helping others, THEN you have her train others.
In computer engineering terms, you have to balance your control path as well as your data path.
zzalpha|8 years ago
But not to the exclusion of all else.
Again: a team is a team. I, as a manager, need the team to functional optimally. If one developer is a 10x hotshot, but she makes the lives of everyone else substantially worse, I don't give a crap how much code she can write, she can find another team.
The top developer doesn't get to be a silo, a dictator, or a troublemaker. As a high-skilled individual, they are expected to produce code, collaborate with team members effectively, provide mentoring and training, and generally lead by example.
Again, if they can't handle that, they can find a company where their style is a better fit.
9point6|8 years ago