Choice or necessity? As far as I can tell, if you want to keep programming with anything resembling good odds you can make a major name for yourself, become a multi-client consultant, specialize in embedded programming or get a serious government clearance. I suspect your example is survivorship bias with the 2nd option and perhaps some of the 1st. The ones who didn't chose contracting (and didn't get into either of the last two options) probably just aren't programmers anymore. The official statistics (age vs. profession) suggest as much.