C++ Developer – Algorithmic Trading recruitment

Role / Principal Accountabilities:

Automated algorithms execute the majority of orders for the Program and Cash Trading desks. They also service electronic flow sent directly from Clients into the trading engines. Algorithmic Trading demands a high degree of system reliability, which means much of the team’s attention, is focused on engineering fault-tolerant, scalable, high-throughput solutions.

The technology team own and support the firms Autotrading framework and work closely with Quant teams to bring new strategies to market and to constantly evolve the portfolio of algorithmic offerings of the firm. Quant’s own strategy code that runs within the autotrader framework that this team provides.

The role requires an excellent technologist with good skills in C++. Some knowledge and understanding of platform and network aspects and knowledge of real time design aspects is preferable. The job involves getting to grips with and working on a large (1.5million lines) codebase in a very fast paced environment with a mix of ‘core development’ and fast paced tactical changes. The framework supports 20 agency strategies and is also used in proprietary autotrading. The framework is written in C++ and GUIs are written in Java and C#.

This is a fantastic opportunity to acquire some invaluable experience, by joining a leading team in one of the most innovative areas within financial technology at this time. Experience within the financial sector is not required but would be an advantage.

Skills Experience Required:

• Proficient in Object Oriented multithreaded C++ on Unix/Linux, STL, templates, BOOST, effective use of profilers, leak detectors - clean coder.

• Good understanding of IT architecture including working with production grade, distributed multi-tier systems, databases and messaging architectures.

• Familiar with development methodology/release management and with capacity management; performance and latency aspects.

• Networks, TCP/IP sockets and enterprise messaging solutions.

• Use of version control systems (CVS, SVN) and bug tracking systems (Jira).

• Experience with multithreaded Java (SE) design and development and C#, widgets and other GUI technologies, scripting – Perl/Python/Jython/Ruby is a plus.

Personal Characteristics

• Strong work discipline - resilient and eager to be challenged

• Completer finisher, adaptable, business focused

• Self starter with proven ability to research and absorb fine detail in use cases.

• Organised, results focused, practical

• Excellent communication skills. The role with require interaction with a number of technology teams, the business in London and in different timezones.

• Ability and readiness to drive change

• Ability to work under pressure to meet targets