views:

1692

answers:

7

As a student who's done an internship at a Silicon Valley company(non-financial), I'm curious to know what it's like working for a financial company doing software development. I'd expect the hours to be longer, and the pay to be higher. Specifically, I have the following questions:

  1. What's the work/life balance really like? Are you expected to work 80 hours a week most weeks? For those who have worked in non-financial software engineering jobs, how does being a financial software engineer compare in terms of work/life balance?

  2. How much does it pay? I'm curious as to starting(i.e. just got a BS) pay, as well as "top out" pay. (I'd prefer concrete numbers - ballpark is fine). Also, bonuses would be useful information.

  3. What jobs do financial programmers typically have? Are most just general software engineers, or do people typically have very specialized(i.e. AI or systems) backgrounds? Also, do most programmers have PhDs?

  4. Are programmers typically required to be at work, or are financial companies generally flexible about letting programmers work from home? When at work, do programmers have to dress formally?

  5. What are the technology environments like? Are finance companies using state-of-the-art hardware and software, or are they generally more conservative in upgrading their equipment?

  6. What programming languages are typically used? If VBA(shudder) is used, is it a large part of a finance company's workflow?

  7. If you could turn back the clock, would you still be a financial programmer?

I'm going to keep this post open a little bit longer to get some more responses.

+18  A: 

I'm going to assume by "financial programmer" that you mean in the realm of investment banking, normal banking, financial markets, trading, etc.

What's the work/life balance really like?

It varies hugely. Salaried staff at some banks are expected to work long hours. Those in Asia put in a lot of face time (not necessarily doing anything but just being there).

Others can be very good. If you're a contractor (very common) then you are generally fine.

How much does it pay?

Generally higher salaries and contract rates than in other industries but that is by no means absolute. Salaried staff can also get access to very good bonuses (I've known of places that typically give 100% of base salary as bonuses but you work like a dog for it).

Also it depends on what you do. In a purely technical position, the highest you can probably get is being a quant who will typically get paid a commission on profits like normal traders are. That percentage can be as high as 10%. In 2004 some Wall Street traders were walking away with bonuses in excess of $50m. I've known good quants in a good year getting $20m but that's truly exceptional.

Also, that kind of job takes a certain kind of psyche and skillset and tends to be competitive so it isn't something you can simply decide to do.

What jobs do financial programmers typically have?

Generally writing or maintaining in-house applications (or, in some cases, applications that are sold but that is the exception rather than the norm). Often this will revolve around financial markets, trading systems, settlement systems and so on. This tends to require a pretty heavy domain knowledge in that particular area.

Also, do most programmers have PhDs?

In my experience, no. Most programmers in such environments typically just have a undergrad degree in computer science from a relatively good school. There are of course exceptions but that is the typical profile. The "good school" part will ease entry hugely.

If you could turn back the clock, would you still be a financial programmer?

Disclaimer: I've only dabbled in investment banking. My experience has been more in stockbroking (the "buy" side rather than the "sell" side).

That kind of work is highly transactional, meaning don't expect much loyalty from your employer. You are paid to do a job and paid quite well because the expectation is often that you will be treated like crap but you'll have money and expensive toys thrown at you to make up for it.

cletus
Can you elaborate on non-quant salaries/work balance? While I'd certainly like the money a quant can make, I don't see myself being qualified to take on such a role.
Mike
Joel Goodwin
Joel - can you put some concrete numbers to that? What's an average front/middle/back office programmer make? I realize that it's hard to generalize, but I don't really have a clue about finance salaries.
Mike
I can only speak for the UK (although I did work in Japan for 4 yrs) but as an FTE, programmer salaries in front office tend to top out around £80-100K, not incl. bonus. To go beyond that, you usually need to go into management or, as some front-office techies do, leap into trading. Contracting can vary, but Excel VBA derivative experts can net £400-600 per day (I heard quant devs can go up to £1000). You also get better money if you are a member of the trading desk rather than under the thumb of an IT department. These are off the top of my head and are numbers to work towards not averages.
Joel Goodwin
What about starting pay out of college? (Also, is VBA used often? I'm used to thinking of VB as a toy language. Is it used for serious trading applications?)
Mike
Front office in particular use VBA heavily. Excel VBA is a *highly paid* skill in finance. IT have tried to wage a war to push back on VBA usage but it has not been very successful; traders like using spreadsheets and some have VBA skills themselves. The ability to writing decent code in VBA is important. I work in Excel VBA, C and C#. Not sure about current starting salary, let me ask a grad. Hmm, he says around £30K is average. Jeez, I started on £16K in 1997.
Joel Goodwin
+1 for the "..you'll have money and expensive toys thrown at you to make up for it..".
Amit
VBA might be used by business types but not once as a programmer have I ever even come across it in Front Office systems let alone needed to know it.
cletus
I've worked in a middle office powered primarily by Excel apps (from market data imports to settlement processing). I also worked for a front office hybrid derivatives desk and all of the derivative pricers were built in Excel. Where I currently work has some heavy duty Excel apps to handle reporting and file processing. I got these roles because of Excel VBA - it was an essential prerequisite. Not implying that VBA is crucial to financial programming, my wife works finance too and doesn't touch Excel. Was just highlighting that VBA is a sought after skill as I was asked about it.
Joel Goodwin
Joel - that salary seems kind of low - I know most software engineers in the US(at least in Silicon Valley) make at least $70-80k after graduating(from a good school, of course), at least out of the people I've talked to. What's the bonus like in that case? Also, is that front/middle/back office?
Mike
Grads often get put in training programmes and the initial salary will be independent of final placement. I would not expect an incredible bonus when starting out. Plus - I don't think you can just convert the salary from £ to $ and take that figure as a comparison. Look here: http://www.itjobswatch.co.uk/ and see the typical IT salaries for the UK. The finance average is £50K. You'll probably need someone on Wall St to cite some numbers.
Joel Goodwin
Mike, also bear in mind that the FX rates made these salaries look more favourable just over a year ago.
Joel Goodwin
Keep in mind the ethical considerations of working at places that are essentially making bets with hardworking peoples' money and cashing in huge regardless of skill or merit. Could you sleep at night? I couldn't, there's no amount of money that will buy dignity.
temp2290
Temp2290: That opinion comes from a place of ignorance. Developing better financial models by using software as a tool enables more accurate pricing of market instruments, which benefits the average consumer, since risks can be more accurately determined.
Pierreten
You have to understand that quants and programmers are basically two different species, though they both write code. Programmers are IT, while quants are trading/research/model validation. Different bonus pools, for one. Different educational backgrounds (most quants have a PhD, often in hard science).
quant_dev
+2  A: 

There's a difference in languages actually used and what you learn in shcool. Getting things done fast even in a simple language is not to be underestimated. You are not there for coding the most beautiful code but actually to assist in the business.

marko
+1  A: 

Recently I was reviewing the Software Dev pay analysis and seek australia. Apparently the current top pay is AUD 130K or so and levels off after 12 years of experience. In a sector by sector analysis, financial developers are the highest paid, earning about 25% more than other developers with similar skills and experience working in other fields. I guess banks just have more money to lash around, and more stringent requirements on the uptime, security and quality of their systems.

whatnick
+6  A: 

What's the work/life balance really like? Are you expected to work 80 hours a week most weeks? For those who have worked in non-financial software engineering jobs, how does being a financial software engineer compare in terms of work/life balance?

I've worked extensively in both sectors and find the work-life balance a little friendlier in non-financial jobs. In both you sometimes put in your 40 hours and others you are expected to do 80 or more. I found that non-financial work places generally are much more relaxed during the "slow" times, often letting you work short days or weeks to make up for the "busy" times, while financial positions don't allow this. Also, in my experience, deadlines are much more stringent in financial institutions since they are set by management who don't care about what technical problems you are facing, only that they meet their dates at all costs.

How much does it pay? I'm curious as to starting(i.e. just got a BS) pay, as well as "top out" pay. (I'd prefer concrete numbers - ballpark is fine). Also, bonuses would be useful information.

In my experience financial positions generally pay a little more, but they expect a great deal of domain knowledge to achieve any difference. Most financial shops I've worked in have had a few highly paid domain experts and a bunch of "grunts" who do the tedious implementation. Every market will be different, but in the mid-western United States you can expect 40-50k starting for "grunt" work and toping out around 150k if you are a domain expert. In my experience, financial institutions are more likely to give a bonus, maybe 10-15% of your salary, while non-financial jobs are more likely to reward you with other perks.

What jobs do financial programmers typically have? Are most just general software engineers, or do people typically have very specialized(i.e. AI or systems) backgrounds? Also, do most programmers have PhDs?

It's mostly building and maintaining in-house software. It's often boring, tedious work using proven technology, as financial institutions don't want cutting edge, they want immediate working software. I found that if you move jobs in the financial sector you will find yourself building the exact same application for each position, as financial institutions are generally not trusting of third party applications. They are also very reluctant to allow usage of open source libraries. Many of the places I've worked don't even allow things like the apache.commons libraries for Java development. Most developers I've encountered only have a Bachelors, if that. If they do have a higher degree it usually an MBA or some other business or finance related degree.

Are programmers typically required to be at work, or are financial companies generally flexible about letting programmers work from home? When at work, do programmers have to dress formally?

I found that allowances for working from home is about the same between the financial and non-financial sector, it depends on the job and your manager more than anything else. Most financial jobs I've worked at have a relaxed dress code, but not as relaxed as non-financial positions. Usually, it's jeans, a "shirt with a collar", and no "sports" footwear. It is often typical in financial positions to have certain days when you have to dress business casual, usually when clients are visiting the site. All of the non-financial positions I have been at have are much more relaxed concerning dress, including one where one of the team leads wore pajamas and slippers most of the time.

If you could turn back the clock, would you still be a financial programmer?

Probably not, but only because I would prefer the slightly lower pay for the more relaxed environment and the ability to use the latest technologies. It can be frustrating recreating something that you know the next version of the language contains or that exists in an reputable open source library.

fproc
I disagree about banks not allowing the use of Open Source: the quants I've worked with told me about many OS libraries they used (boost, apache commons, etc.). If you do numerical programming you HAVE to use OS/public domain software, because you DO NOT want to write your own constrained nonlinear optimizer.
quant_dev
+3  A: 

I've been an application developer in finance for quite some time. Working on Wall Street, San Francisco and Silicon Valley. Although there are times where projects require you to work insane hours, its never demanded or expected. However, if you are looking for a 9-5 job finance definitely isnt the place to do that.

My first job in NY working for Kidder Peabody in 1991 paid 50K with a 15K bonus. Since then I have gotten the pay up to 200K with over 100% bonuses. Generally if you make an effort to understand the business you are supporting, and pair up with a manager that values strong developers the upside is there.

The downside is you are always viewed as support to the business (unless you are doing complex risk mgmt for trading desk) and will rarely get your ego stroked like the guys at google. You also have to suit up everyday if you are in the office. My current job lets me work from home, but it took a long time to convince them of this, and I dont think its a common thing.

I've never met a developer in Finance with a PHD. Very rare they even have their masters. Usually anyone that gets the extra education changes their career path.

If you arent interested in the capital markets then you are probably better off in a different industry. I have no regrets about entering this industry. It has its pros and cons, but once you get in the door, its pretty easy get employment in the industry.

Best of luck to you.

Doug
Does the 200K figure include the bonus, or is it 400K with bonus?
Mike
400k+ with the bonus
Doug
What kind of hours does that entail working?
Mike
24*7*52........you only work and do nothing...that's about it...
Rachel
Just come back to this thread after 5 months. I just wanted to raise my hand - a developer with a PhD working in finance =)
Joel Goodwin
A: 

I'm sure that experiences depend heavily by region and company. I have a few years of experience in financial programming for a couple of Midwestern firms and can share some about my experiences.

  1. Banks or bank-like companies have been stricter about work hours. I am usually expected to get prior permission formally to leave during the day or leave early for appointments and make up the time. However, deadlines and overtime have been very reasonable. Projects have been well-planned and managed at these companies. Project failures have been very rare. This has been good for developer morale.

  2. I'm sure pay here in the Midwest is relatively lower than the West Coast (cost of living is also lower in many ways), but financial companies offer very competitive compensation here locally.

  3. I've done a lot of batch transactions (bankers lot batch overnight processing for financial transactions), customer data entry forms (a lot of input validation and sanitation), and a lot of legacy integration. Banks have a lot of mainframe and mini-mainframe COBOL that is being wrapped to provide web front ends. Most of my peers have bachelor's and master's. A select few have no degrees but a wealth of technical knowledge a experience, but they are the exception. Again, this is the Midwest.

  4. Financial companies (especially those that are publicly traded) are very concerned with ensuring Sarbanes-Oxley compliance. It can affect how code is written, how data is gathered from users, how data is stored. SOX even governs the development and change control processes. It also means preparing for and helping with audits (both internal and contracted). The companies I've worked for have not allowed working from home. I think partly they want us available in person for meetings. I also think there is some management fear to opening up VPN for RDP for financial data and software. The dress codes for the financial companies I've worked for have been a notch higher than the other industries I've observed (plastics and advertising). Both were business casual with tie and coats for important presentations (no jeans or casual Fridays).

  5. I worked at a small firm that was pretty lenient. I had to adhere to the language and coding standards, but I was a local administrator account on my PC and development box. I was free to use any IDE I wanted. The large company I worked for was very strict. I had no local admin, no local install rights. All developers were forced to use the same IDE.

  6. I've done a lot of C# and Java for rending the UI front ends. I work with a lot of legacy financial systems written in COBOL, Ideal, DB2, and interface a lot with MQ Series.

  7. I think like any industry, there are trade offs. Banks handle very sensitive information, and can be very territorial about security processes. They seem to be less flexible about time and business attire. However, as a plus side, I've always been treated fairly by them. Deadlines and overtime have always been reasonable.

If you are considering financial programming and are willing to work in a slightly more rigid environment, it might be a great fit. If you have accounting experience, it will help a lot.

Abboq
+1  A: 

How do I get domain knowledge for Financial Industry is a very good SO question which is must read for Financial Domain Software Engineers/Developers

Rachel