Low-performers on your software development team hurt more than you think.
Your high-performers have to question each move the low-performer does, which means your high-performer is wasting time. The high-performer (HP) also needs to explain each of his/her decisions to the low-performer (LP), again, eating HP’s time.
HPs are less incentivised to stay around because they are not learning anything from LP.
Working with LP’s isn’t fun, so HPs are not as happy, which causes them to perform worse.
This is a working document, so I will add to it as I find more examples.
I want to point out that you can have a very junior person that is still an HP. Being an HP or LP doesn’t have anything to do with seniority. A LP is characterized as:
- Quick to say something is “good enough”
- Lack of desire to learn
- Dogmatic about code without ability to give cohesive argument for it
- Does not take responsibility for mistakes
- Reacts negatively to criticism
Lastly, an LP treats software as a “black box” when speaking to non-technical colleagues. Non-technical colleagues have a hard time understanding the software concepts explained to them by an LP.
In contrast, a hallmark of a HP is being able to clearly and succinctly explain software-related ideas to either technical or non-technical colleagues.