About the Role
About the Role
As a Low Latency Rust Software Engineer at Citi, you will be responsible for leading the development of low-latency systems and application frameworks, primarily using Rust and Java. This senior-level position involves hands-on coding, integration of functions, and mentoring junior developers while working on algorithmic trading systems that impact global finance.
What We Do / The Team
This is a senior level position responsible for establishing and implementing new or revised application systems and programs in coordination with the Technology Team. The overall objective of this role is to lead applications systems analysis and programming activities.
The role is to provide senior, low-latency systems and application framework engineering (skilled in Java, C++, Rust, KDB, market data, algorithmic trading technology) within the London Based High Performance Architectures (HPA) team. The team requires a specialist on algorithmic trading systems utilities including but not limited to market data replay and back test/simulation utilities.
The HPA organization is a high skilled enablement group of Subject Matter experts - who produce application frameworks and engage with application engineers to enable application Modernisation to over 100 teams across Citi with a concentration on low latency eTrading platforms in Markets Technology.
Responsibilities
- 90% hands-on in the Rust or Java codebase. We build microservices based event sourcing systems on a low latency in-house framework. Response times in the 10 microsecond to 100 microsecond range.
- Lead integration of functions to meet goals, deploy new products, and enhance processes.
- Analyse complex business processes, system processes, and industry standards to define and develop solutions to high level problems.
- Provide world class expertise in area of Java low latency development.
- Utilize advanced knowledge of supported main system flows and comprehensive knowledge of multiple areas to achieve technology goals.
- Consult with end users to identify system function specifications and incorporate into overall system design.
- Influence and negotiate with senior leaders and communicate with external parties.
- Happy to work with and educate and support/mentor Junior developers and less experienced senior Java developers.
Key Skills And Experience Required
- Demonstrated Subject Matter Expert (SME) in area(s) of Applications Development.
- In-depth experience with Algorithmic Trading application development, preferably in low latency environment.
- Detailed comprehension and experience with Market Data handling and associated technologies (such as time-series databases e.g. KDB).
- Demonstrated leadership, project management, and development skills.
- Passion for coding excellent, commercial grade, mission critical Java frameworks based on event sourcing microservices.
- Complete knowledge of modern Java, the JVM, the Linux Operating system, system calls and Kernel.
- Knowledge of TCP and other IP based network protocol technologies including hardware accelerated kernel bypass e.g. Solarflare OpenOnload.
- Performance assessment and targeted tuning.
- Design and architectural elegance.
- Experience in implementing projects.
- Great communicator with high EQ.
- Ability to occasionally produce clear diagrammatic documentation and model key aspects in UML sequence diagrams.
- Relationship and consensus building skills.
Nice to Have
- Background in C++.
What We’ll Provide You
By joining Citi, you will...
Requirements
Low Latency Development
In-depth experience with algorithmic trading application development in a low latency environment.
Rust Programming
Strong hands-on experience in Rust programming for building microservices.
Java Expertise
World class expertise in Java low latency development.
Market Data Handling
Detailed comprehension of market data handling and associated technologies.
Project Management
Demonstrated leadership and project management skills.
Nice to Have
Experience with C++ is a plus.