от 300 000 ₽ до 500 000 ₽

Описание вакансии

Join Citi’s Markets Global Technology Team

Citi’s Markets technology team in Russia is growing at lightning speed, and we’re looking for talented technologists to help build the future of global banking. Our teams are creating innovations used across the globe. As the world’s most global bank, Citi provides an opportunity to touch every corner of the globe and deal with incomparable trade volumes, scale and impact. We’re looking for new, innovative ways to push the boundaries of financial technology. Citi’s global technology team spans 84 countries, with almost 30,000 colleagues managing thousands of projects across the globe. Russia team is young but rapidly growing. Join an environment with a laser focus on growth and progress, and take your career to the next level through the power of Citi’s unmatched globality and vast expertise.

We are currently building a new team that will be responsible for FX Risk platform. The team will be implementing new business-driven functionality, technical and regulatory-driven changes, QA Automation and DevOps. There is a set of old and new platforms that serve the Client’s FX business in 38 countries by providing the ability for real-time derivatives pricing, risk management and data analytics. New initiative is starting to replace a set of the existing risk applications with new generation ones with web-based UI, server side computing and grid technology, distributed in-memory solutions. The new application is going to serve traders, sales and external clients. Solution needs to be scalable to cover multiple locations and meet latency requirements.

We have three main challenges:
1. Performance: we calculate a lot of analytical numbers on our grid farm (10к+ CPUs), and to handle them quickly we have to keep them distributed in-memory caches. There are hundreds of gigabytes in-memory data that needs to be aggregated and cooked for user requests under one second. Knowing algorithms complexity is a must for us. Knowing how JVM/JMM/GC work is a must. Core Java is the main working tool that allows us to value or interpolate millions of trades under one second.

2. Capacity: This type of system is core to Investment Banking as a result it is super critical to have perfect stability, it is super critical to be able to scale quickly in case of volatility spikes on the market. No one needs a system that will not work during big events. That is why we do care about fault tolerance, we do care about the ability to deploy quickly, so use clouds, microservices and we try to have real continious delivery.

3. Business complexity: There are lot of complex things in this domain area, you will need to understand how all this works, how math models for risk computation are working. Sometimes you need to find workarounds in logic to be able to do things that at the very beginning looks impossible, like moving from O(n^2) to O(n) for some business problem. Apart from that, there are IT complexities that we can hide and improve not only for this exact project but for the whole bank.

We are looking to build a strong team of professionals, with different skill sets. It is really not that important if you don't know how one or another library work, for us - Core Java, DataStructures, Algorithms knowledge is far more important. At the same time, it would be great if you have experience with things we are using: Kafka, Apache Ignite, Microservices, Docker, Distributed Computing, Protobuf, Netty, JS/React, Python
Ping us, if you think these challenges are interesting for you...


  • Implement complex changes in the code and conduct code review (if required)
  • Design (high-availability, fault-tolerant, low latency)
  • Understand FX pricing business logic, front-to-back flows and architecture
  • Implement complex business-driven changes, do impact analysis and backtesting
  • Direct communication with the business stakeholders and quant team
  • Take active part in designing architecture and business flows for new platform
  • Complex production issues analysis especially in the business logic
  • Collaborate with a globally distributed team of developers, business analysts, quality assurance and support professionals
  • Coach other developers with business domain knowledge

Mandatory skills:

  • Understanding Basic DataStructures and Algorithms
  • Core Java (JVM,GC,JMM)
  • Solid understanding of application lifecycle
  • Excellent interpersonal skills and fluent spoken English
  • Experience of dealing with business stakeholders on the client side
  • Experience in working within a team distributed between onsite and offshore
  • BSc/MSc in Computer Science or relevant

Nice-to-Have skills:

  • Experience of working with distributed systems
  • Experience in TDD and automated testing tools
  • Experience with HTML5 (React or Angular) would be a plus

What we offer:

  • Compensation: 300-500K RUR net monthly
  • Work Mode: official employment, partial office (Moscow and St.Petesburg only) or remote from other Russia cities within 4 hours' time zone
  • Benefits: health insurance (covering family) , full sick leave payment, additional vacation days, internal education system, global career opportunities
Размещено 07/10/2021

Открыть в источнике

Оставьте свои контакты, чтобы работодатель мог связаться с вами

Настрой карьеру с RIT.WORK
за 30 секунд

С ботом rit.work Вы найдете работу, о которой всегда мечтали.

Укажи свой стек, опыт работы, зарплату и бот подберет для тебя подходящие офферы.

🚀 Создать подписку