I've long felt that the best devs should be building tools for other devs. The lower in the product pipeline the better, because that's where they can affect the most people, but it seems impossible to measure when you're talking about hard numbers.
E.g. in a large enough organization, if a good dev can make all your other devs even 1% more efficient, the value they just created will blow that $1 million figure out of the water. That dev producing "$1 million dollars in value" for your product owes much of that value to the devs that are creating tools for them to use, among other things.
Yes, you have a point, but getting on a failing company and failing does not reflect as bad as succeeding on such a company would look good. The only negative contribution Yahoo gave to Marissa Meyer CV was that badly managed data leak that is making every news.
The problem really is at the level of a programmer politics is at play, given a whole lot of more number of people fight for fewer resources.
If developer A can increase the value of your product by 1 million dollars, but developer B can only increase the value of your product by 100k.. why isn't developer A worth 900k (or at least 500k) more than developer B?
The big challenge is measurability. Stock price going up is easy. Profits going up is easy. An app being 1 million dollars better? No idea what that even means.