Programmers aren't really primadonnas, but they will leave if they don't think they are being treated right or fairly. (That isn't to say they ARE being treated poorly, jst that they think they are.)
For instance, I left my last job after 2 bad raises and a vague promise that salaries would be 'fixed' sometime later in the year. I was told that if I was 'really serious' I should see my boss's boss about it. I chose the other direction. And I make a lot more money now.
To be fair, I loved my job in both companies. It was only the unfair salary policy that drove me away. Now that company is forced to try to hire someone as good as me for less than they are worth, or pay them what they could have paid me but without my 5 years of experience with their systems. It's lose-lose for them.
There's also no talks about the process to which he determines how the product works (essentially product management, UX, etc..) for all the stuff he's outsourcing.