Expoint - all jobs in one place

The point where experts and best companies meet

Limitless High-tech career opportunities - Expoint

Citi Group Apps Development Senior Technical Lead Vice President 
United Kingdom, England, London 
586389034

24.09.2024

Job description:

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.

execute, partition, and track quantitative risk graphs/trades in a distributedThese graphs can fail due to their complexity and our system must adapt quickly to these failures to provide aseamless experience

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 toexpand our coverage. Our system scaleas of our services across all asset classes.

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.

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 requests for new features, balancing user requirements with defending the platform from complexity and low-value features

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

Skills and Experience:

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

Applications Development


Time Type:

Full time

View the " " poster. View the .

View the .

View the