Firstly a huge number of developers are employed in a wide variety of roles in financial firms. Pretty much any development job possible from language engineering to ajax can be found in banking.
At smaller firms you'll have a smaller number of roles, typically they'll be back-office stuff (settlement, position reconciliation etc.), front-office stuff (stuff that directly makes money, algo trading, risk management, etc.) and a few bit and pieces in between (exchange connectivity, etc).
In general the money you get in banking is more than you'll get doing the same role outside of banking. The most money is in front-office and the least in back-office, although the difference in base salary isn't generally huge, the bonus can be depending on the firm.
Not everyone is suited to front-office though, for a front-office role you'll need the social skills to deal with the traders, quants, etc and the work can be more stresful. When you have a bad deadline in back-office it's typically "we need to get this work done by the end of the week for compliance reasons otherwise the regulator might give us a slap", for front office it can well be "we need to fix this right now as we're pissing money down the drain". Life in the back-office is generally more laid back with shorter hours (depends on firm though). Front-office is where the fun is generally though and tends to have lots of smart people.
In either case you're also generally expected to do a certain amount of out-of-hours support (if you're code is being used out-of-hours), but how much varies a lot. You should ask about this in the interview. Also you probably want to avoid any role that involves a large amount of legacy code (this is probably true in any sector).
Salarywise for an experienced senior dev in a front office role at a small hedge fund/prop shop I'd expect a total package (base+bonus) in the region of $200-$300k. Remember that small hedge funds do have a high failure rate, but that should be taken into account by the higher salary.
If you're solidly competent C++ or Java programmer you shouldn't have a problem getting a job in the financial sector, especially if you're good at things like multi-threading, etc.
There's a couple of books I'd recommend "So You Want To Be a Wall Street Programmer?" by Andrey Butov (a good overview but pretty light, you should be able to read it in a couple of hours) and "capital markets for quantitative professionals" by Alex Kuznetsov (a much heftier book but the first half is an introduction to financial markets and the second half is an introduction to the various bits of technology that you'd find in a bank).