Optima application suite is a large code base generating credit risk measures across all asset classes and business units at Citi. Calculations for each portfolio are currently implemented as batch jobs on conventional servers. This paradigm is approaching hard limits in scalability and responsiveness.
About the Role
This is an excellent career progression opportunity for an experienced senior developer ready to take on high-level architecture responsibility.
This is a technically challenging, multi-year project with no business interaction: we are fully focused on performance, resilience (to business continuity scenarios) and tech debt removal.
Applicant will provide technical leadership while still contributing code and without getting bogged down in project or line management.
Responsibilities
You will design a new distributed parallel processing framework applicable to all Optima applications and act as technical lead through implementation and rollout.
This is not a line management role but does involve providing detailed designs and implementation guidance to a team of ten developers and responding to cloud-specific requirements and queries from the larger Optima/Citi Risk team of several hundred developers.
The role will be a mix of coding, documentation, and evangelism, helping to educate other devs and bring Optima into the cloud era.
What are we Looking for?
Experience with distributed computing e.g., grid and/or Big Data.
Familiar with all common distributed processing design patterns.
Excellent core Java (preferred), Scala or Kotlin.
Good understanding of distributed and local concurrency, particularly potential bottlenecks, and reliability issues and how to avoid them.
Outstanding communication skills, particularly with senior developers. Need to develop good working relationships with functional dev team leads.
Experience training/mentoring other developers - you will be doing a lot of code reviews to check the architecture is being implemented correctly.
Core investment banking domain knowledge: any kind of trading, risk or support systems will suffice.
DevOps exposure: to understand and consider the operational impact of the cloud migration.
