Maybe they are excellent programmers, but bad business men. It doesn't mean they deserve to have their blood sucked from them.
I used to write stockmarket software for a global supplier. Nice stuff, through this software ran billions a day, direct feed to the stockmarket-floor.
Now I work as a consultant for a consultancy firm, to get this contract they had a "fixed entermediate consultancy firm", who took 10% profit on my price just to put me into the company. (under their labels and what not)
So I filled in timesheets for my employers, the intermediate party and for the client. It wasn't very clear why I was filling in timesheets for the client as well, but it turned out my work was billed to their clients billing my work per hour with a factor of 2.5 on my price because they could.
This effectively resulted in me working hard, virtually for free, and generating profit for 4 companies (employer, intermediator, client, clients' client) while my pay was insulting for the work I've put out (under 8% of the cash my work generated).
If you want to keep your devs productive and happy, you should spoil them a bit and they'll put out. But I know alot with the same sentiments and effectively migrating to management hoping they'll make their big bucks, often resulting in incompetent management.