Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an interview coming up for a company operating in the financial markets. Other than generic skills like OOD, refactoring, testing and so on, what are the core areas that a financial software developer specifically needs?

I can think of some obvious ones like rounding modes, differences between floating point data types etc. What other areas should I be brushing up on?

share|improve this question

closed as off-topic by gnat, Bart van Ingen Schenau, GlenH7, MichaelT, Dynamic Nov 29 '13 at 4:50

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, GlenH7, Community, Dynamic
If this question can be reworded to fit the rules in the help center, please edit the question.

Everyone will expect you to be an Excel expert. – JeffO Apr 8 '11 at 12:46
@Jeff O: and understand the whole business – user2567 Apr 8 '11 at 13:00
"Financial" is too broad to give good advice here. Retail banking? Front-office trading applications? Risk-management overnight batch crunching apps? – sdg Apr 8 '11 at 13:46
Accepting the dogma that storing your money pots is the best way to help yourself and the human race at large. – Matt Ellen Apr 8 '11 at 21:41


Both of the database and the communications between the client and the server.

This covers encryption of the data as it flows around the system and verification & validation of the users.

share|improve this answer

Professional Attitude Understand how the business generates money and how you (will) contribute to that. On the scale of "1 - sticking plaster over the problems" to "10 - (re-)write it from scratch", be aware that you need to be comfortable operating at the low end. Understand that Project X needs to be delivered to paying customer Y by date Z. If you've got to work evenings/weekends, hire contractors or cut features to ensure delivery that yields payment, you'll have to do it (or at least convince them you would).

Handling Financial Information As others have noted, "Security" (authorization / authentication) around what users can or can't see/gain access to, Compliance with legislation (no naked short selling, etc), Accuracy with calculations (understanding limits of numerical representation) and being able to explain your workings to anyone who asks.

Working with Scale Financial institutions usually run a 24x7 operation on a global basis. There will be load-balancing, redundancy, caching, logging/monitoring, SLAs and likely an army of sysadmins and DBAs keeping things running. If you're happy to deploy fresh code worldwide in one step with no back-out plan, best to keep your resume up to date as that is a recipe for disaster.

Motivated Some of the systems you'll work on will be rather dull compared to e.g. iOS apps. You need to be motivated to succeed with relatively small projects and deliver them successfully before you'll be allowed onto bigger things. The monetary rewards will surely motivate you at bonus time, but you need to keep this momentum throughout the year.

share|improve this answer

That depends on what you're going to be doing in finance. If you're going to be doing quant stuff, a good grounding in math and some knowledge of econometrics will be very helpful. If you're doing the routine stuff, knowing how to write correct software for fairly simple requirements, and how to do calculations exactly as the accounting conventions say, will be useful.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.