eRates IT is a dynamic team of 30+ software developers, business analysts and testers, in charge of developing the global electronic trading platform for fixed income interest rates products at BNP Paribas CIB.
In-scope instruments are all electronically-traded government, inflation and more structured bonds, swaps, futures and repos in all currencies worldwide, with a specific focus on EUR and USD.
In-scope electronic venues include exchanges (eg Eurex, CME), dealer-to-dealer markets (eg MTS, BrokerTec, MOT, iSwap, TradX, GLMX) and dealer-to-customer markets (eg Bloomberg, Tradeweb, BondVision). Additionally, the platform handles all trading workflows associated with customer “voice” enquiries, interpreted and priced via in-house analytical libraries developed in partner teams.
The eRates IT team is headquartered in London with a substantial extension in New York, as well as local representation in Tokyo/Singapore, Mumbai and Paris. A separate Production team is tasked with day-to-day support of the platform.
The platform itself is an ecosystem of distinct, loosely coupled applications covering a wide range of functionality from pricing, quotation, auto-negotiation and execution to market aggregation, smart order routing and auto-hedging. Various trading workflows are supported, including vendor UIs and “chat bots”.
In Production, the application suite is deployed onto x3 distinct global datacentres (Tokyo, London, New-York) and operates under both high availability and real-time, low latency constraints, reacting to potentially “spiky” market conditions. On dealer-to-dealer markets, the Bank is “under obligation”, meaning officially ranked as a factor of the permanence, tightness and tradability of its bid/offer contribution.
For market connectivity and abstraction, the platform relies on both ION Trading software and internally-developed adaptors.
Backend applications are primarily written in Java (currently versions 8 to 12, depending on the component), with some C++ exceptions where Windows binding is unavoidable, while client applications are written in C#. Messaging middleware between frontend and backend is heterogeneous; latency-sensitive messaging is TCP-based over proprietary messaging layers.
Some Key Current Production Figures
- over 120 traders and 100 salespeople on the platform, worldwide
- over 180 trading and market data gateways (mostly but not exclusively ION)
- over 1,200 in-house components
- over 1,000 contributed instruments, daily – most of which “under obligation”
- over 1,500 client trades, daily
- over 8,000 client trading requests, daily (peaking at 8 every minute, in EUR govies)
- over 80% of EUR client trading requests are auto-replied back to client, most often below 200ms
Regulatory, market and corporate strategy considerations continually raise the profile and business criticality of the eRates programme. Together with key representatives in trading and quant departments worldwide, we have been driving a profound business transformation model centered around market-making automation, flow internalisation and, inevitably, regulation alignment.
Recent business results suggest our strategy has been working. The Bank is now world leader in electronic Repos and EUR swaps, and ranked within top 5 in EUR govies.
Our Aim For The Foreseeable Future Remains To
- support all desks through their business transformation from voice to electronic trading – leveraging the existing pricing and quotation platform;
- assist the emergence of profitable, fully automatic, algo-driven market making operations;
- provide clients and sales teams with relevant tools in support of the Bank’s flow electronic franchise;
- align chosen solutions across Rates and Credit electronic platforms.
Team Ethos and Working Practices
The culture in the team promotes small, incremental releases with frequent addition of business value. Every business day, we release multiple components to Production - often in one region of the world first, but never delaying the same release to other regions by more than a few days. We always release from tagged trunk (no branching), thus keeping tech debt as low as possible.
We strongly encourage use of open-source industry-standard libraries such as Spring, Stateless4J, Vaadin.
We continually focus on automating our test, build, deployment and rollback operations. Our DevOps toolkit includes BitBucket, Gradle, Jenkins, Team City, SonarQube, BladeLogic or Ansible. We document pre- and post-release checks for support teams worldwide, and where needed, may conduct these with them.
All team members are accountable: everyone is expected to take individual ownership of their allocated projects. Commitment is highly valued.
We fully leverage the geographical diversity of the team, with Mumbai, London and NY team members working on shared projects, as standard.
Most projects are “brownfield” as opposed to “greenfield”. We continually introduce new components, but seldom write anything from scratch.
Our management structure is intentionally flat, to keep our operation as fluid as possible. Project teams are shaped and reshaped over time, as required by business priorities.
We are looking for a long-term partner in our journey. The team has a good track-record of retaining contractors for 5+ years, and we have had a few contractors returning over the years.
Responsibilities for the backend Java developer will include:
- delivering any assigned task to Production as per time, non-functional and functional requirements – in particular, ensuring deliveries meet adequate levels of testability, at unit, component and integration levels;
- liaising directly with business users over requirement gathering;
- focusing on the platform’s non-functional behaviour: performance, scalability, security etc – and making sure that tests in this area are repeatable;
- promoting knowledge sharing within team members – taking active involvement in organising and chairing poker-sizing sessions with all concerned parties as and when required;
- ensuring smooth liaison with other teams, both inside and outside eRates IT where appropriate (eg London/NY dev teams, Production support teams, etc);
- documenting new functionalities and training users/support teams support as appropriate;
- leading by example: ensuring that own behaviour as developer/analyst exhibits the team’s values of dedication, commitment and transparency at all times and under all circumstances.
Skills And Experience
Minimum Qualification Requirements:
- University degree in any quantitative discipline (math, computer science, engineering)
- Must have: proven significant (3 year+) and recent SDLC experience on mature, enterprise multi-threaded core Java development projects applied to high frequency, low latency programming environments – typically but not exclusively in the financial industry
- Nice-to-have: knowledge of ION Marketview and its programming environment
- Nice-to-have (non-mandatory): C/C++ and JNI experience
- Nice-to-have (non-mandatory): some knowledge of pricing and/or market-making of bonds, swaps, futures and repos on their most common electronic venues
- Be committed
- Be accountable, ie taking full ownership of allocated tasks
- Be organised and delivery-focused, with attention to detail
- Be transparent: do what you say, say what you do
- Be articulate in verbal and written communication with all types of project stakeholders: colleagues, users, management, etc.
- Be comfortable operating with a strong level of autonomy
- Be pro-active in general, taking own initiatives to prevent risks/issues
- Be a team player
- Be fluent in English
- Be fluent in Mandarin (ideally to be able to engage with stakeholders in China)
- Be a role model, supporting and fostering a culture of good conduct
- Demonstrate proactivity, transparency and accountability for identifying and managing conduct risks
- Consider the implications of your actions on colleagues, partners and clients before making decisions, and escalate issues to your manager when unsure.