Bottom line: everything about financial software is what Joel Spolsky warned you about. If you want to work on software, go to a software firm. If you want to just pay the bills and are not passionate about software, finance software is..well, read below.

I've worked in finance as a software engineer at several large investment banks for many years. The software consists of a mash-up of legacy stuff incorporated into generally very "safe" architecture choices. Unless you work in some highly specialized (and very rare) type of group, you won't be making any decisions as to what language to use, database, environment or any other project specific choices. They do not value the product. Expect no documentation of anything and consider it a gift if you ever see an internal wiki. While documentation may be the exception in some circles, any developer worth his salt knows the true value of writing stuff down, or at least commenting code, so you can come back to it at a later date. This isn't the type of software environment where they're going to appreciate the years you spent in school, learning how to measure time-complexity of various algorithms. For the most part, those algorithms are already written and those data structures have been decided upon for you. I literally have conceived maybe a handful of algorithms over the years.

You will spend your time maintaining hacked together code that was assembled by literally 30 other people who came and left before you. There will be little to no testing before software is deployed into production. You will likely not have an adequate test environment. If you are lucky enough to have a test environment, chances are that it won't resemble production in any meaningful way. This test environment may be called "your development environment." You will work with many people who do not understand, nor respect, the art of writing good software. You answer to "the business," ie: traders. Traders for the most part, will not appreciate what you do. Its too nebulous for them, and most people not in tech at the IB, for that matter. I'll never forget when we rolled out our new auto-trading system and the IBank laid off several dozen traders that day.

Depending on how your group is organized, you may be on call 24/7. Some groups have coverage structures, with people covering production software in shifts. Expect to be interrupted on holidays. Expect to work on at least one of the following holidays every year: Xmas, New Years, Thanksgiving, Easter, any other national holiday. Projects will be scheduled poorly. Timelines will exceed aggressive-scheduling and wander into "insane" territory. This may be the norm, depending where you work. The quality of the software you write will suffer for it. Your lifestyle, health, social-life, family-life, interests, hobbies and life will all suffer for it as well.

Politics will rule everything. Politics will stifle your productivity, unless you have a great manager who keeps you away from all of it. Unfortunately, I've never met a great software manager in finance. I'm sure they exist, but I've never had one. There will be many meetings. The meetings will run on and on and many topics will be discussed that concern none of you, which could have easily been hashed out in minutes over email. But you will spend hours in meetings because thats the corporate attitude, and finance is as corporate as it gets. The excessive meetings will impact your productivity and result in regular 12-14 hour days, year-round. You'll have far less resources than you require to do the job even adequately, because the people making the decisions about funding view tech as a cost-center. You'll frequently realize, when you read hacker news, that there's a great many exciting things happening in software outside of the world of finance software. You will see none of these exciting things.

I know this seems like a long, negative entry, but I assure you - my experience was not unusual. I strongly caution anyone passionate about software against going into finance software. I've worked as a software engineer and (unusually) in the front-office on the trading side.