4 ms·
Both the banality and the salary differ to a fairly large extent depending on where in the financial world you are, or what area of a bank you're in. I'll star
by elemeno 14y ago
Both the banality and the salary differ to a fairly large extent depending on where in the financial world you are, or what area of a bank you're in.
I'll start by acknowledging that I've got biases since I've spent my career in finance, so the following is my opinion based on what I've seen so far.
Firstly, the big money software roles tend to be in Hedge Funds and Prop Firms, the culture of which (especially if they're smaller) is very start-up like. Long hours, often stressful, often full of rapid pivots as traders change their mind, markets change or management alters course. A lot of smart people some of whom come with big egos but they generally know their stuff.
Alternatively, in a bank the money tends to be good if you're working for a trading desk in a Front Office role, or working with Quant groups. In those roles you're generally seen as a business function (i.e. you help them make money) rather than a technology function (i.e. you cost them money). You get the same long hours and stress as above especially if anything goes wrong or the markets are going crazy - keeping the desk trading and the pricing right come above all else.
Risk can also come with good money - when you're software is used to analyse the performance of several billion dollars worth of trades, they're willing to pay to make sure it's done right.
All the above is likely going to be a mix of C++ and .Net depending on which side of runs-fast or develops-fast a project comes down on. Often numerical libraries will be in C++ and the rest of the project in .Net since interop between the two is pretty easy. In hedge funds especially there might be some language-de-jour as well, I've run into Scala, Python, K and OCaml at various funds. If you're with a banking quant group, there might well be F# there as well.
A lot of the problems in those roles are going to revolve around Maths (pricing, analytics), high availability (you don't really want your trading platform to crash), big data (teasing information out of databases with millions of ticks per day) and working with real time data (if your pricing is a second out of sync with the markets, expect to lose money) - all of which I consider to be interesting problems to work on, and far more interesting than the work at a lot of start ups I've heard about, although the atmosphere is probably fairly similar.
Now if you're working in the back office... that's where I might expect to find Java and Banality!