Trading Systems Developer

  • Competitive
  • London, England, United Kingdom
  • Permanent, Full time
  • BGC Partners
  • 15 Apr 19

Position Summary: A driven software development professional is required in the BGC Trading Systems development team. The role involves support and enhancement of business functionality of BGC’s proprietary trade execution systems working as a part of distributed team of developers in the UK and US. The

Position Summary:

A driven software development professional is required in the BGC Trading Systems development team. The role involves support and enhancement of business functionality of BGC’s proprietary trade execution systems working as a part of distributed team of developers in the UK and US. The role includes exposure to full SDLC in a fast moving environment.

 

BGC Trading systems are both Java and C++. The role offers exposure to these varied technology stacks using both languages.  The systems in question comprise of client front-end applications and multiple server components.

For the Java systems these are supporting Web, Java Swing and FIX access both for external traders and internal brokers. While its codebase supports multiple asset classes. The application is written in core Java and executes in a Spring container.

For the C++ Trading systems these are written using a serires of components that orchestrate proprietory and FIX messages between the UI and the backend trading platform using sockets as well as our enterprise API.

 

The candidate will start by bringing this system up-to-date with upgrades to the underlying core-java version and integrating it with BGC’s core data services and data repositories.

 

The candidate will further learn the system by performing escalated business support, problem triage and analysis, identifying fixes and enhancements and implementing them in code, as well as working on the business-driven feature enhancements to the system.

 

The firm seeks an enthusiastic, driven developer who can rely upon their own initiative and willingness to learn to succeed..
 
Key Responsibilities:
  • Renovation of current technology used and integration to core services at BGC
  • Develop of new trading system functionality to meet BGC's business and regulatory requirements
  • Provide escalated development support for the trade execution systems and be a part of an on-call rota and provide out of hours support if necessary
Skills/Experience:
Essential
  • Minimum of 5 years Java experience in building complex Java applications
  • Minimum of 5 years C++ experience building real-time applications, multi-threading
  • A good knowledge of the Linux operating system (system calls, multi-threading, IPC, sockets).
  • Expertise in core Java, with knowledge of multithreading and concurrency
  • Experience of an industry strength messaging architecture such as Solace/29 West
  • A good understanding of efficient in-memory data management and associated data structures and techniques
  • Experience developing client/server applications
  • Experience with troubleshooting and performance optimization tools
  • Experience with web technology stacks
  • Good understanding of design patterns, data structures and algorithms
  • Working experience in relational database technology; Oracle Preferred
Desirable
  • Good working knowledge of financial markets
  • Spring Boot, Java messaging, Swing
  • Experience of Agile methodologies/practices
  • Experience of Dev-Ops tooling (Git/TeamCity/Ansible/Docker/Kubernetes)
  • FIX (The Financial Information eXchange) protocol
 
Qualifications/Education:
Education to degree level is preferred.
 
Personal Attributes:
  • Self-starter, taking initiative at every opportunity, curious and willing to learn
  • Holding practical view of technology as a tool to achieving the goal rather than the goal itself
  • Good written and oral communication is essential