Doesn't this say more about the flaws of the business and/or the management than it indicates this being a good idea? Many of the most successful software companies do everything they can to attract and retain the upper end of software engineers and they don't do this because it's bad for businese. Presumably they do this because it provides more value for the company than having more programmers or trying to save money on salaries/perks.