Senior Software Engineer (Back-End), Vice President
Team:XiP CalcGraphs
Location: London
XiP is building a next-generation cross-asset calculation system for Citi trading desks and enterprise users in the largest global financial markets and exchanges in New York, London, and other major financial hubs.
Our team owns the XiP Calculation Engine, an asynchronous Java library leveraging SpringBootand Vert.xtoexecute quantitative risk graphs. These graphs can be complex in nature, and we apply various techniques such as distribution, in-memory caching, and data optimisation to achieve the best possible performance.
The Calculation Engine is deployed to OpenShift and Amazon’s Elastic Kubernetes Service.An important initiative in 2025will be onboarding Google Kubernetes Engine to further expand our coverage. Our systems scale on-demand, and we run tens of thousands of replicas of the Calculation Engine across all asset classes.
To support the Calculation Engine, we operatean Apache Ignitein-memory cache used for passingobjectsbetween pods for parallel computation, and our recent focus has been around emitting metrics from the Calculation Engineto put more data in the hands of our clients.In processing these metrics,we use KafkaStreams for aggregation and Kafkaconnectors to persist the data.
As a Senior Developer, you will be responsible for leading the design and implementation of innovative solutions, as well as mentoring junior developers.The role is hybrid, basedin Citi’s London Innovation Lab office, a space setup specificallyfor tech-focused teams to be co-located.
Key Responsibilities:
Development of high-quality software, emphasizing simplicity, maintainability, testability, and reuse.
Identifying and implementing automation opportunities around testing, monitoring, deployment, and any other manual operations
Participation in code and design reviews.
Thorough testing including test automation and performance/load testing.
Providing support and assistance to clients
Contributing to architectural standards, development best practices, and promoting adherence to these standards.
Required Skills:
Expert Java programming skills, with extensive experience in industry.
Extensive experience with the Spring and SpringBoot frameworks;common build tools such as Gradle and Maven; and testing frameworks such as JUnit.
Experience with asynchronous programming using promises/futures (e.g., CompletableFuture). Extensive experience with multi-threaded applications.
Deep understanding of event-driven and streaming microservices.Extensive experience using Kafka, leveraging Kafka Connect and Kafka Streams.
Experience with container technologies such as Docker, Podman, and Kubernetes, as well as package managers like Helm.
Experience in developing enterprise-level applications for container platforms, such as the public cloud Kubernetes services in Amazon Web Services / Google Cloud, or on-premise platforms such as RedHat OpenShift.
Working knowledge of SQL and NoSQL databases such as Oracle and MongoDB
Understanding of agile methodologies and experience using developer tools such as GitHub, Bitbucket, JIRA, Artifactory and Jenkins.
Experience in analysing application metrics using observability tools such as Splunk, Elasticsearch, and Grafana.
Advocate for industry best practice, especially with regards toclean code, testing, continuous integration, and deployment.
Product-focused,with the capability to interact with clients and deliver results, taking ideas to production.
Demonstrates clear and concise written and verbal communication consistently.
Desirable Skills:
Investment banking / market risk computation experience.
Theoretical and/or practical experience with graph theory algorithms.
Familiarity with the Apache Ignite or Redis for in-memory caching.
Familiarity with the Apache Avro.
Experience with AMQP message brokers such as RabbitMQ and Solace
Experience with the Vert.x framework.
Experience with the Cucumber testing framework.
Experiencing writing Gradle plugins and using the Groovy language.
Experience with common scripting languages such asPython and Bash.
Experience with designing and implementing RESTful services.
Education:
Bachelor’s degree or equivalent experience.
Master’s degree in an engineering or science subject preferred.
Exceptional candidates who do not meet these criteria may be considered for the role provided they have the necessary skills and experience.
Valuing Diversity: Demonstrates an appreciation of a diverse workforce. Appreciates differences in style or perspective and uses differences to add value to decisions or actions and organizational success.
Citi is an Equal Opportunities Employer.
------------------------------------------------------
Job Family Group:
Technology------------------------------------------------------
Job Family:
Applications Development------------------------------------------------------
Time Type:
Full time------------------------------------------------------
Citi is an equal opportunity and affirmative action employer.
Qualified applicants will receive consideration without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.
Citigroup Inc. and its subsidiaries ("Citi”) invite all qualified interested applicants to apply for career opportunities. If you are a person with a disability and need a reasonable accommodation to use our search tools and/or apply for a career opportunity review Accessibility at Citi.
View the "EEO is the Law" poster. View the EEO is the Law Supplement.
View the EEO Policy Statement.
View the Pay Transparency Posting
Featured Career Areas
Saved Jobs
You have no saved jobs
Previously Viewed Jobs
You have no viewed jobs