• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Looking for advice - towards *Contract* Algo Trading Software Developer

Joined
11/29/15
Messages
1
Points
11
Hi all,

I'm looking to get a job:
* in London (or Paris, Switzerland, basically anywhere in Europe): since I'm a
citizen of an European Union country, I think this simplifies the general picture
quite a bit.
* as Contractor (nor permmie) - mainly because of the rates; daily rates
starting from 500 pounds/euros sounds (and are) quite a bit more than a yearly
salary of 50-80 K euro/pounds which is the most common one for a senior
financial software developer with a solid domain knowledge
* in the field of Algo Trading Systems - I'm interested in any of the major
subsystems:
** Order Management Systems
** Order Execution Systems
** Exchange Connectivity
** Feed Handlers
** Messaging
** Algo Trading Strategies Prototyping and Backtesting

What I offer:
* almost a decade in CAD, Console and Embedded Games Development (C, C++,
Real-Time Graphics and Physics)
* a stint in a webdev company
* in the last couple of years I've developed an interest in investing and got a job
in one of the very few financial services software vendors in my country (an
EU country, a typical nearshore choice for a lot of the western companies.)
In the last 2.5 years I've worked on various aspects (except GUI) of an
enterprise Risk Management and Portfolio Analytics software solution
used by major asset managers and a couple of quantitative hedge funds.
My most recent technology experience is with Java SE, cluster computing,
derivatives pricing engines, general software performance and database
optimizations.

I'm asking for advice regarding the following points:
* Choice of programming language: my research from the job posts shows that
C++ is the king in the space (especially from the forum discussions here at
quantnet and at willmott). Would you advice to re-learn/refresh my knowledge of
C++ and relevant libraries (mainly Boost) in order to 'utilize' my significant
past experience (9+ years although 4 years ago)?
Java is also a significant player, at least judging from the job posts *and*
from a couple of high-profile low latency related open source projects
(Disruptor, Aeron, OpenHFT Chronicle, most recently SubMicroTrading)
* How to get relevant experience in the 'low latency' space?
* Would you recommend studying specific open source projects? I'm asking
because there is no general accepted book(s) about low latency despite loads
of books about microoptimizations, assembly, multithreading and studying
(supposedly) real-world low latency components (i.e. Disrupton, Chronicle)
or FIX parser engines (a couple of 'good' one at github, or the
aformentioned SubMicroTrading) seems like a reasonable alternative. It's notable that the FOSS projects tend
to use Java and there are no notable C++ ones apart from a couple of toy
example implementations of (Complex) Order Books.
* Books - I've researched the available books on the topic and came up with
the following TODO reading list. What do you think about the following
titles:
* "Algorithmic Trading and DMA" by Johnson
* "Architects of Electronic Trading" by Hammer
* "Electronic and Algorithmic Trading Technology" by Kim
* "How the Trading Floor Really Works" by Duhon
* "Inside the Black Box", 2nd ed by Narang
* "Managing Derivatives Contracts" by Shaik
* "Trading and Exchanges" by Harris


Thank you in advance
 
Last edited:
Hi all,

I'm looking to get a job:
* in London (or Paris, Switzerland, basically anywhere in Europe): since I'm a
citizen of an European Union country, I think this simplifies the general picture
quite a bit.
* as Contractor (nor permmie) - mainly because of the rates; daily rates
starting from 500 pounds/euros sounds (and are) quite a bit more than a yearly
salary of 50-80 K euro/pounds which is the most common one for a senior
financial software developer with a solid domain knowledge
* in the field of Algo Trading Systems - I'm interested in any of the major
subsystems:
** Order Management Systems
** Order Execution Systems
** Exchange Connectivity
** Feed Handlers
** Messaging
** Algo Trading Strategies Prototyping and Backtesting

What I offer:
* almost a decade in CAD, Console and Embedded Games Development (C, C++,
Real-Time Graphics and Physics)
* a stint in a webdev company
* in the last couple of years I've developed an interest in investing and got a job
in one of the very few financial services software vendors in my country (an
EU country, a typical nearshore choice for a lot of the western companies.)
In the last 2.5 years I've worked on various aspects (except GUI) of an
enterprise Risk Management and Portfolio Analytics software solution
used by major asset managers and a couple of quantitative hedge funds.
My most recent technology experience is with Java SE, cluster computing,
derivatives pricing engines, general software performance and database
optimizations.

I'm asking for advice regarding the following points:
* Choice of programming language: my research from the job posts shows that
C++ is the king in the space (especially from the forum discussions here at
quantnet and at willmott). Would you advice to re-learn/refresh my knowledge of
C++ and relevant libraries (mainly Boost) in order to 'utilize' my significant
past experience (9+ years although 4 years ago)?
Java is also a significant player, at least judging from the job posts *and*
from a couple of high-profile low latency related open source projects
(Disruptor, Aeron, OpenHFT Chronicle, most recently SubMicroTrading)

So far C++ has been a champion on this front. As we move closer and closer to lower levels of coding, vhdl/verilog for fpga systems also makes a lot of sense. but c++ is a must to be in this space.



* How to get relevant experience in the 'low latency' space?

So far C++ has been a champion on this front. As we move closer and closer to lower levels of coding, vhdl/verilog for fpga systems also makes a lot of sense. but c++ is a must to be in this space.


* Would you recommend studying specific open source projects? I'm asking
because there is no general accepted book(s) about low latency despite loads
of books about microoptimizations, assembly, multithreading and studying
(supposedly) real-world low latency components (i.e. Disrupton, Chronicle)
or FIX parser engines (a couple of 'good' one at github, or the
aformentioned SubMicroTrading) seems like a reasonable alternative. It's notable that the FOSS projects tend
to use Java and there are no notable C++ ones apart from a couple of toy
example implementations of (Complex) Order Books.

You are right about no accepted books in this regard. However we do recommend a few documents you might find useful. PM me so I can share those documents with you.

* Books - I've researched the available books on the topic and came up with
the following TODO reading list. What do you think about the following
titles:
* "Algorithmic Trading and DMA" by Johnson
* "Architects of Electronic Trading" by Hammer
* "Electronic and Algorithmic Trading Technology" by Kim
* "How the Trading Floor Really Works" by Duhon
* "Inside the Black Box", 2nd ed by Narang
* "Managing Derivatives Contracts" by Shaik
* "Trading and Exchanges" by Harris


Thank you in advance
 
Back
Top