Finally, a one-size-fits-all approach to performance reviews doesn’t take into account the unique nature of software development. Using the same system to evaluate developers and members of the marketing team won’t capture the unique skills found among developers. Some software developers thrive fixing bugs. Others love writing greenfield code. Some are fast but less accurate. Others are slower but highly accurate. Trying to quantify these different skills in a standard performance evaluation misses the nuances that make different developers great for different reasons.
The essence of great software development—creativity, problem solving, innovation—is inherently resistant to quantification. Stressing metrics will often encourage gamesmanship, leading developers to prioritize moving (often arbitrary) needles over meaningful contributions to project and company objectives.
Moreover, software development is commonly called a “team sport.” Assessing individual contributions in isolation can breed unhealthy competition, undermine teamwork, and incentivize behavior that, while technically hitting the mark, can be detrimental to good coding and good software. The pressure of performance evaluations can deter developers from innovative pursuits, pushing them towards safer paths.
Any competent manager should be meeting regularly with all of her direct reports, and should make sure that each employee knows clearly where they stand and how they are performing. Continuous and timely feedback is vastly superior to annual reviews. If a manager provides continuous and timely feedback, then the performance review process should be a complete waste of time. Companies should foster a culture in which the standing and progress of every employee are transparent, making performance reviews an unnecessary exercise in redundancy. Managers who have direct reports who are not totally clear about where they stand should themselves be told that they are not performing up to snuff.