Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



You'll also be exposed to: near-stupendous degrees of waste, inefficiency, and general head-in-the-sand-i-tude.

Like: signing up for a $140k/year "consulting" gig, but having a secretary pick your sole "workstation", a 12-inch, low-memory Lenovo model normally given to sales people.

Or: going through an grueling process ostensibly designed to assure that you have truly l33t skills in analytic and quantitative thinking skills... only to be herded into a dungeon-like cubicle farm with crass overhead lightin, poor ventilation, non-stop chatter and blaring overhead TVs, making it impossible to think straight for more than 5 seconds... where you end up plugging away for 10-, 12-, 14-hour days.

Or: being hired ostensibly for your senior-level experience in platform X, only to have every decision "vetted" by utterly inexperienced H1-Bs, whose personal coding style reminds you, without irony, of something you last flinched at seeing on The Daily WTF (http://thedailywtf.com/).

Not to mention: not infrequent episodes of not just hot-headness, but outright bullying and borderline psychological violence.

And generally: a stifling atmosphere which makes it basically impossible to have an honest conversation with anyone in upper management about the day-to-day realities of the environment they ostensibly expect you to be delivering this supposedly highly valuable, mission-critical software under.

Granted, this was at "mid-tier" companies, and I (thought) I knew what I was getting into. Still, the reality was far ruder -- and far more weird and just plain absurd, at times-- than any of my worst expectations.


I think this is a little too cynical. I've seen elements of what you describe in previous jobs, but never all at the same time, and never to the same extent.

Then again, the culture and the work varies in different cities and in different roles. In London we tend to get excellent developers joining the industry (traditionally there hasn't been much else for good developers locally) so you can typically expect to have skilled colleagues. And the closer you get to the front office, the more money there is for IT projects, and the more remit you have for writing good software.


It's funny you should mention London - our London counterparts always did speak differently of their hours, managers, and opportunity for growth. So I agree with you!

I worked exclusively on front-office systems nearly for the entirety of my time as a developer for an investment bank. I didn't even get into how there are very few opportunities for growth and other, more HR-related/culture aspects of the job.

I'm glad you have good things to say about your work! I just wish I could describe the time that I and my colleagues spent at those banks in a better light. It was utterly life-altering when I left. I felt like I was living for the first time since college.


I think most finance jobs are somewhat better than what he described-- it sounds like he's taken some crappy jobs-- but I don't doubt what he is saying. Code quality issues in finance are well-known and seem to be systemic. Hours are widely variable; there are 9-to-6 IT jobs and there are others that involve more stereotypical (read: awful) finance hours.

I think finance is a great place to work (yes, even as a full-time programmer) if you have a strategic reason for being there (VCs like financial experience, there are some interesting machine learning problems) but I would say that, in general, you're best off if you know you have the social and political skills to get the best work and, if you don't, finance is not likely to treat you well.


This is the exact opposite of my experience working at a very technology-focused hedge fund [1] for the past 5 years.

[1] http://www.twosigma.com


Hedge funds tend to be a lot more blue chip and technology-driven than IBs. IBs are usually filled with a lot of legacy crud -- some of it well-written, a lot of it.. not so much -- and a completely different culture as the earlier poster cynically talked about at length. I don't agree with everything he says and it sounds like he's in NYC and not London where things are generally of a higher calibre as Finance generally pays above and beyond what you can get in other industries.


Right on - London vs. US is very different. I envied my UK friends who left work at 4pm on Fridays to have a drink with their colleagues, when I'd regularly be working till 8 or 9pm.


I currently work in finance in London and have experienced very different! I was nervous, expecting to be working with MIT gods who would make me feel like an embarrassment of a human being. The reality is I am working with borderline retards from Utah who do no work whatsoever and when I explain in detail, they don't listen one bit. I'm the one left working 50-60hours to cover their lack of work.


Can you elaborate on what you like and don't like?


Holy hell, this brings back awful memories of back when I was a software engineer working for a large consulting firm.

The biggest problem with working in non-software companies is that, software engineer salaries are treated as overhead, not investments. This means that they aren't going to spend tons of money to hire the best and brightest talent, they are going to hire the cheapest labour that can get the job "done".


I've been out of it for quite a while. It was somewhat unsettling to reflect back upon my experiences. Usually time softens the edges of a harsh experience, and you recall the "good times" far more frequently than the bad. Usually.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: