Apps Development Senior Technical Lead, Senior Vice President

Citigroup Inc.

Apps Development Senior Technical Lead, Senior Vice President

Salary Not Specified

Citigroup Inc., City of Westminster

  • Full time
  • Permanent
  • Onsite working

Posted today, 18 Sep | Get your application in now to be one of the first to apply.

Closing date: Closing date not specified

job Ref: 634e02c3e9684bbe8af83b6b58eafd6a

Full Job Description

The role of the Senior Technical Lead is to lead a variety of engineering activities including design decisions regarding technical direction of the platform with short, medium, and long-term changes, with a key focus on public cloud onboarding.

The project requires constant review of the technologies, patterns and paradigms used to ensure the system is easy to understand, performant, scalable, testable, robust, and observable. The role is a conjunction of technical and managerial roles, with line-management duties, while giving technical direction to a growing team of developers globally.

The platform is a Greenfield build using standard modern technologies such as Java, Spring Boot, Kubernetes, Kafka, MongoDB, RabbitMQ, Solace, Apache Ignite. The platform runs in a hybrid mode both on-premise and in AWS utilising technologies such as EKS, S3, FSX.

The main purpose of this role is to lead efforts of continued platform onboarding to AWS as well as the new initiative to deploy into to GCP. The project is in a scale-out phase, with a goal of expanding the userbase and workloads towards running billions of financial calculations per day across hundreds of thousands of cores. The aim of the project is to run all finance calculations for Citi's Front Office Markets business globally.

Responsibilities:

·Steering platform onboarding into AWS and Google Cloud, while collaborating with Citi HPC team and AWS/Google partners

·Challenging proposed and provided solutions in terms of performance, robustness and cost effectiveness

·Making decisions regarding technical direction of platform, including evaluating new technologies and executing proof-of-concept implementations, with good understanding of various limitations

·Identifying and defining necessary system enhancements to improve current processes and architecture

·Hands-on coding of fixes, features, and improvements

·Investigating reported or observed platform issues

·Reviewing pull-requests from other team members and giving robust critique/feedback

·Identifying and proposing teamwork enhancements

·Reviewing requests for new features, balancing user requirements with defending the platform from complexity and low-value features

·Collaborating with key partners across the firm for extending the platform, such as: the infrastructure provider group; quant group; upstream and downstream systems

·Mentoring/coaching junior developers on coding/architecture approaches and best practices

·Expert knowledge of distributed systems including event-driven architecture; at-least-once messaging; CAP Theorem; horizontal and vertical scaling strategies; massively distributed architectures

·Expert knowledge of Java, JVM, memory management, garbage collection

·Thorough understanding of multithreaded environment challenges

·Expert knowledge of Spring, SpringBoot framework and associated technologies

·Expert knowledge of test frameworks, such as Junit, Mockito, writing easily-testable code

·Expertise in Java debugging, including remote debugging of services deployed to K8s

·Expert knowledge of Kubernetes and associated technologies such as KEDA, Karpenter, ClusterAutoscaler, CoreDNS,

·Expert knowledge of SQL and/or NoSQL database technologies

·Expert knowledge of various messaging protocols and technologies such as REST, HTTP/S, AMQP, WebSocket

·Expert knowledge of Confluent Kafka

·Experience and good understanding of core technologies provided by GCP/AWS, such as S3, FSX, EKS, SQS, SNS, Kinesis, AmazonMQ, DynamoDB, GKE, CloudStorage, PubSub, Filestore,

·Knowledge of modern observability technologies such as ELK, Splunk, Prometheus, Grafana, Micrometer

·"What-if" thinking, while designing or reviewing solutions, to foresee or catch potential problems as early in the development process, as only possible

Nice to have:

·Good knowledge of Python, Groovy, Bash

·C++ basic knowledge/experience

·Good knowledge of PubSub model

·Good knowledge of Finance, especially large-scale risk calculation

·Good knowledge of representing complex calculations as graphs of instructions which can be horizontally distributed

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 multiple Java Spring Boot Services that execute, partition, and track quantitative risk graphs/trades in a distributed environment.These graphs can fail due to their complexity and our system must adapt quickly to these failures to provide a seamless experience for clients.

XiP Compute Services are deployed onto OpenShift and Amazon's Elastic Kubernetes Service (EKS). An important initiative in 2025 will be onboarding Google's Kubernetes Engine to further expand our coverage. Our system scales on-demand, and we can run up to tens of thousands of replicas of our services across all asset classes.