Obviously there are plenty of great programmers with no finance experience, and going through recruiters does not work for recruiting programmers.
If you are hiring an HR person, you get too many applications, and you need someone in the middle to weed out obviously unqualified people. But for programmers, there are not nearly enough candidates that reviewing each resume would be too onerous, and recruiters can't ask the right questions to separate excellent candidates from mediocre candidates. If I saw a resume that said "experience writing Haskell and QuickCheck tests", I would call the person that instant. When a recruiter sees that, though, the resume goes in the garbage because "it doesn't say TDD", or "we need 10 years of experience with Java", or something. While it's true that we aren't hiring for a Haskell position (though we do use Haskell), it's also true that someone who's good at Haskell will pick up Scala pretty quickly. (They might not want to switch languages, which I completely understand, but it's nice to give them the option.)
Anyway, industry still doesn't "get" programming, but we are getting closer. Some day. Some day.
(We also do some weird things, like find great candidates and then say, "oh yeah, we can only give you a four month contracting position with no benefits, and also, we can't pay for your relocation". I'm sad that we can't hire people, but happy that good programmers won't take such an obviously shitty deal.)
In the mean time, you are stuck at a job where your skills are wasted and where you don't get much money.
Very inefficient market.