4 ms·
Joel is a manager, and Dan isn't. Management often believes that they understand hiring, and that their mechanisms for examining performance are good. If Joel
by hibikir 10y ago
Joel is a manager, and Dan isn't.
Management often believes that they understand hiring, and that their mechanisms for examining performance are good. If Joel believes that one of his employees is fantastic their requests will be heard, and they will be better compensated. Dan instead is seeing developers that he knows are awesome and can't find work because Dan can't hire them.
I for one think both are right in some fashion. People that management considers high performers stay long and are very well compensated. People who are not valued that way by management might still stay (if they are not valued in the market), but will jump ship after a few months otherwise. Willingness to stay depends on getting what you want out of a job REGARDLESS OF PROGRAMMER QUALITY!
I have worked at places where people with tremendous flaws were considered high performers, making the place shed great developers while keeping bad ones. Other places just look at a specific set of things that might make someone good, and end up with unbalanced talent sets. Imagine you hand tasks to single developers, and value getting them in production as soon as possible. Stability, readability, maintainability will go down the window, and eventually said company will either fail or have to hire a different kind of dev, and force those people to win a culture battle.
So ultimately, I think this is all about how difficult it is to evaluate programmers, and how people with one evaluation function look at a world that either shares their evaluation function, or differs significantly from it.