I've always wondered why development jobs in banking pay so well compared to other sectors.

Are they too good to be true, with long hours and horrible legacy systems?

Or are they genuinely good jobs?

Experiences please.

Edit: OK, ok; I am aware of the recent er.. crash (thanks tvanfosson). But still, the banking sector does pay above the average, downturn or not!

12 accepted

As background to answering this question, I've worked in IT for banks for nearly 30 years. My experience spans the whole range, including design, development, QA, project manager, IT manager, and so on. This is London-specific, but most of it also applies to Wall Street.


Banks in the City (London's equivalent of Wall Street) do tend to pay well for developers, mainly because they can and because they want to attract good developers. In general, the closer you are to the front-office (trading/sales) revenue stream, the better the pay. For developers, this ranges from 30K ($44K) to 200K ($300K), excluding bonus. The bonus is usually around 10-30%, but can range as high as 50% or even more for good/senior people.

Like any industry, some of the work is very interesting, some is horrible. The technology stack tends to be at least one generation behind current. Domain experience is highly prized, and can be lucrative. In most banks, there are multiple opportunities to add value and make a difference. The industry tends to favour and reward go-getters. And once you start really climbing the greasy pole, the money can be very good - 200K ($300K) basic + anything up to the same in bonus. NB This is for senior IT managers, not developers.


The hours can be long, depending on the bank. You might be able to work 40 hours at some banks, but you probably won't go anywhere. 45-50 hours is the average, and 50-60 hours as you earn more money or if you're ambitious.

You often need to learn about specific products and business flows in order to add value. This can be boring for some people. You may end up supporting one or more legacy systems, but you soon learn to spot and avoid this trap.

Working conditions are far from ideal. Noisy, constant interruptions, and so on. Many of your managers will not have good people skills.


If you're a developer who loves his craft and hates the idea of stepping out of his comfort zone, banking IT probably isn't for you.

If you're happy to be top 20% in 3 or 4 skills (rather than top 5% in one skill), and if you really want the money, then try banking.


From A Field Guide to Developers:

"The big investment banks in New York are considered fairly tough places for programmers. The working conditions are dreadful, with long hours, noisy environments, and tyrannical bosses; programmers are very distinct third-class citizens while the testosterone-crazed apes who actually sell and trade financial instruments are corporate royalty, with $30,000,000 bonuses and all the cheeseburgers they can eat (often delivered by a programmer who happened to be nearby). That?s the stereotype, anyway, so to keep the best developers, investment banks have two strategies: paying a ton of money, and allowing programmers basically free reign to keep rewriting everything over and over again in whatever hot new programming language they feel like learning. Wanna rewrite that whole trading app in Lisp? Whatever. Just get me a goddamned cheeseburger."


My experience is that in the financial industry, everything is a "crisis" and had to be handled "right away". (Before that I had worked in the IT department of a hospital, but even they knew that some things could wait).


I have several friends who work in banking jobs and from what I hear


  1. Good pay
  2. Standard hours
  3. Decent technology stack (Technology adoption usually lags by one generation)


  1. You're not in a software company, so you get treated like any other support staff.
  2. Nobody thinks of anything you do as cool.
  3. Intellectual environment for discussing software or computer science is rare.

"Are they too good to be true, with long hours and horrible legacy systems?"

At first I was working 40 hours a week, but ended up working 50-60 because I took on more responsibility and tasks than expected. C'mon I'm working for that sweet bonus at the end of the year. Was it worth it? For me, yes. I just got out of college and an opportunity to learn all these at a bank was very good for me as a n00b developer. I also don't have a family and the obligations that come with it so time wasn't an issue for me.

I was initially dropped into a legacy application (RPG/Java mashup) team after graduating from college and worked on RAD items and bug fixes. The "if it ain't broke don't fix it" mentality applies to all projects I've encountered. "Broken" only means the business has to identify the bug/issue and is willing to pay for it. Refactoring (to the business) is a change to the system that has unknown effects, gar.

"Or are they genuinely good jobs?"

That all depends on your manager, to be honest. Someone who is willing to listen to your problems and actually do something about it. That's anywhere, not just the bank.

"Experiences please."

My first couple months really sucked for me. RAD/bug fixing is boring and mind numbing. You don't get to learn anything about the business besides the specific bug you're fixing. The business didn't have time to explain the big picture, just, "use the interest rate in this column, not that one."

After getting a project where I had more exposure with the business and responsibilities, I had fun. Leading a project, despite it being canceled, was an awesome experience. Of course, headaches came along the way, but you can't help that when you're working with a BBOM.


I interviewed with a bank once. ONCE. The programmers (they didn't have Software Engineers; they hired Programmers) had to wear ties.

That alone requires at least 20% over industry standard, for me.


I think you're probably a little late on this. I have feeling there's a lot of people in the banking industry looking for other jobs right now.

Here's just one news story.


I have done a little bit of contract work with banks. The answer comes down to economics. Banking software needs to be extremely reliable in order to maintain customer trust and prevent the bank from losing money. As such, banks are willing to pay top dollar for good developers.


I've been working for a customer that's a finserv, and I can say that their guys tend to be top-notch. They also tend to be very staid. They're rarely going to be doing The Next Big Thing, but they're stable: if you perform to expectations (or exceed them, of course), you're set.


I work for a bank now, and I think a lot of it depends on the bank. I interviewed with some other banks before accepting the position I am in now and I don't think I would have enjoyed working for any of the others. I actually left a software company for this position and I am much happier in my current situation. The technology is better, the environment is better, I prefer the people here too. The only thing I lost when leaving the software company was free food, which didn't make up for the fact that the technology was lacking and the leadership was not open minded about new technology/tools at all.


I actually work for a software company that only does financial software for minor institutions. When I was hired on I was required to wear a full suit everyday because customers come into our office to tour, we recently went to business casual. We use an in house framework to write all of our applications. Because of that it gets repetitive and boring fast.