There’s an elephant in the room: your best people leave because you’re not paying them enough.
And you’re not paying them enough because you’ve chosen to adopt a pay structure that, by definition, cannot handle outliers (which are exactly what your best people are).
An excellent programmer can routinely do the work of ten mediocre programmers. Have you ever heard of a pay scale that pays Programmer III ten times as much as Programmer I?
An excellent programmer can save you millions of dollars by increasing revenues, reducing costs, changing the way you do business, or any combination of these. How much of those millions does the programmer get?
An excellent programmer can provide a company significantly more value than his boss and his boss’s boss.
How much more does he get paid?
An excellent programmer can earn real equity and merit bonuses in enlightened firms. How many companies don’t even have this on their HR radar?
An excellent programmer can go out and pound the pavement or join a start-up and earn what he/she is really worth. And until most companies provide that same opportunities, they probably will.