The supply and demand sorta even out only if the managers are rational about how important the programmers are to the company.
I've seen more then one project go down in flames because the company wouldn't give key techincal people raises. This causes the smart people to jump ship, and then the managers are amazed that the $10 dollar an our VB programmers they hired can't build a high performance web server.
Jay