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.