Position

Senior Java Developer,
Remote Russia

Location


Remote Russia

Office Address


Project Description


Our Client is a US multinational investment bank and financial services corporation. We are currently building a new team that will be responsible for FX Risk and Pricing platforms. The team will be implementing new business-driven functionality, technical and regulatory-driven changes, QA Automation and DevOps as well as production support for a set of applications. 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 the set of existing risk&pricing applications with new generation with web-based UI, server side computing and grid technology, streaming framework. The new application is going to serve traders, sales and external clients. Solution needs to be scalable to cover multiple locations and meets 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 it quickly we have to keep distributed in-memory cache. 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 works JVM/JMM/GC is a must for us. 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, we use Docker&k8s and cloud platforms, and so on. 3. Business complexity: There is a 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. Some times you need to find workarounds in logic to be able to do things that at the very beginning looks impossible. 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 is working, 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...

Responsibilities


    • 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
    • Design (high-availability, fault-tolerant, low latency)
    • Take active part in designing architecture and business flows for new platform
    • Produce and own design and architecture for new projects on real-time low-latency systems
    • Implement complex changes in the code and conduct code review (if required)
    • 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

Skills


Must have

    • 5+ years of experience and excellent knowledge of Java
    • Good experience in analysing existing Java/C# application, understanding flows, ability to work with limited application documentation
    • RDBMS – Oracle
    • Experience in source code control systems, such as GIT
    • Good written and spoken English
    • BSc/MSc in Computer Science or relevant
    • Hands on experience in TDD and automated testing tools

Nice to have

    • Experience in Investment banking IT, in particular front-office trading and pricing applications, would be a huge benefit
    • Experience with C# / WPF is a good plus
    • Knowledge of and experience with uDeploy, TeamCity

Languages


English: C1 Advanced

Seniority


Senior

Relocation package


If needed, we can help you with relocation process. Click here for more information.

Work Type


Java

Ref Number


VR-51786

More job opportunities in
Java

Specialization Position / Title Location Seniority Send to a friend
Java Java Backend developer Remote Russia, RU Senior
Java Regular Java developer Remote Russia, RU Regular
Java Java Team Lead Remote Russia, RU Lead
Java Java Developer Remote Russia, RU Regular