I have kind of mixed feelings about this. I worked at Citi, and the average person there is actually pretty smart. They're just tied down by all the bureaucracy, which ends up killing their creativity and motivation.
This can turn into an advantage once you leave, though. Once you join a decent company you get very motivated to do your best, because you never want to go back.
some of the best devs I know loved the challenge that banking software presented. However, the majority of them could only handle a few years of it before needing fresh air
The smartest people will often end up performing terribly at bad companies. Being unable to act is not a huge deal for an average person, but it can be devastating and demotivating for someone who's used to getting shit done.
And honestly? I don't believe Citi management knows enough to know who their bottom 5% are.
You nailed it outright. I award an Indignation for your this post. I will also award one to Thinkful for this brilliant marketing move. So it's a Joint Indignation I award today: http://www.youtube.com/watch?v=EtCiP8B2xpc#t=7s
If 100 is the typical productivity of a smart person when she's making the technical calls, picking the tools, and writing a new system, most corporate environments expect software engineers to function at 5-10-- maybe 20-30 when they get to senior dev roles. The problem is that if you're used to 100+, that feels like being at 0. It's demoralizing when your productivity is a rounding error for environmental reasons that aren't your fault.
Welch effect: people first to be laid off are junior members of macroscopically underperforming teams, who had the least to do with its underperformance because they were not influential on those teams.
(I named it for Jack Welch, father of rank-and-yank.)
Consequently, companies tend to lay off from the middle, not bottom.
This can turn into an advantage once you leave, though. Once you join a decent company you get very motivated to do your best, because you never want to go back.