views:

1084

answers:

4

To follow up my previous question, I’ve delve a bit more into the “financial derivative trading” world in trying to understand what is means for programmers and how it is like working as a programmer in that environment. I’ve seen positions like “Front Office” programmer positions and “Back Office” programmer positions, I wonder what they mean. One job description even mentioned that the position is to “implement complex modelling algorithm that came up by the trader you work with”. Would someone working in such an environment describing what they all mean and give some insider stories of what it is like working there? Thank.

+2  A: 

The last part of your question is pretty self explanatory, and sheds light on the former part.

Front office probably means that you work directly with traders who are not programmers, to implement their ideas of algorithms and interfaces to assist them in their trading. So if one says "I want an alert when my stock passes this velocity, but only if this other stock is falling", you implement that.

Back office is the other part of the job, implementing systems that support the company, without working directly with the traders to accomplish their job.

Quoting from wikipedia:

In investment firms, the back office includes the administrative functions that support the trading of securities, including record keeping, trade confirmation, trade settlement, and regulatory compliance.

http://en.wikipedia.org/wiki/Back%5Foffice

Paul McMillan
Thanks for the wikipedia article but it doesn't explain the need for an programmer position? All I can think of is more like desktop/support kind of roles or code maintance. Does this mean front office would be more "challenging" than back?
Jeffrey C
Back office is most definitely still programming! None of the listed things are done by hand if at all possible. They're just not systems that are directly used by the traders.
Paul McMillan
I sort of see that trading positions are more "interesting and challenging" than what I am doing now "enterprise app". Enterprise apps are more about project management, trading programming are more about modelling, algorithm and match I guess.
Jeffrey C
I've worked on the global re-engineering of a back office system and I can tell you that it had nothing to do with desktop/support. It was a huge project, very interesting functionally and technically, very challenging, using on the edge technologies, in an international context, etc. Actually, it was an **awesome** experience, my greatest until now. So to me, interest and challenge depend more on what you'll be doing, not "where".
Pascal Thivent
+8  A: 
Pascal Thivent
+1  A: 

In my experience these terms are not just used in trading companies. More generally:

Back office programmers:

Develop "enterprise applications" and other software that is used by the company internally to perform day to day company business (eg. ERP systems: Accounting, HR, Inventory etc).

Front office programmers:

Develop applications and software actually used by the customers of the company or other external organisations.

Ash
A: 

Front office: implement trading strategies, i.e. develop software that takes market information (prices) and outputs orders. Heavy on maths, specifically statistics, low on actual tricky software development.

Back office: develop and maintain software that keeps track of positions, reconciles internal data with external input (reports from brokers, banks and other counterparties) interfaces with price data providers (i.e. reuters, bloomberg) and makes sure the data is available in a timely manner for the fron office guys. Heavy on IT and more interesting software development issues (huge volumes of data, making reliable connections over shaky interfaces, etc.)

But the exact borders between front and back (and middle even) vary from company to company, so you should always ask.

jilles de wit