Back to Job Search

Lead Java Cloud Developer

Job Description

The credit risk system provides calculation, reporting and risk management functionality to all asset classes across the bank. It is a complex, large-scale distributed system, implemented in Java, running thousands of calculation jobs each day.

It is now time to migrate to a modern Cloud platform, taking the opportunity to improve performance, resilience, and supportability. This multi-year effort can only be successful if coupled to a substantial investment in supporting build & test infrastructure, and Agile DevOps practices.

The successful candidate will join a new core technology team tasked with transforming the way we develop Credit Risk technology.

Team Background

The Derivatives Credit Risk Technology Team is responsible for delivering Counterparty Credit Risk Management software solutions to Citi's Risk organization which manages exposure to financial institutions, governments and corporates that trade with the bank. The team builds and maintains software used to compute metrics that help mitigate exposure to counterparty default.

Key responsibilities

  • As an individual contributor, design, develop and deploy infrastructure enabling build, test, deployment, and support of the application suite. Some components will be off-theshelf or existing in-house services, requiring configuration for specific use cases, while others will be developed from scratch

  • Collaborate with other teams: developers within and beyond the Optima system, analysis and support staff, stakeholders and users across multiple asset classes, and cross-asset technology teams

  • Although the primary focus will be DevOps infrastructure and processes, there will be opportunities to contribute to risk application architecture and development

  • Opportunity to progress to a team leadership position, based on performance & demonstrated potential

Your Background

  • 5+ years Core Java experience developing robust, scalable, and maintainable applications

  • Experience with Test Driven Development and other Agile practices

  • Third-line support of large applications, including troubleshooting production issues

Key Skills

  • Java Core including concurrency, I/O and serialisation (ideally VM tuning)

  • Test Driven Development, testing best practices for large server applications

  • Maven, Git, experience managing and optimising large builds

  • Spring Framework including Core, Integration, Batch, JDBC, Hibernate

  • Cloud computing technologies with practical experience working with containers, microservices and large datasets (Docker, Kubernetes)

  • Databases - RDBMS and NoSQL (ideally Oracle and MongoDB)

  • Message buses (ideally Kafka) - knowledge of Spark or similar beneficial

  • Familiarity with Linux environment including shell scripting

  • Standard SDLC stack: CI/CD pipeline frameworks such as Jenkins, SonarQube, JIRA, any secure coding toolkit