The project landscape consists of service-oriented components that will enable the real-time and portfolio calculations of financial risk metrics and simulations (e.
g. VaR, Expected Shortfall, Bilateral Margining) which are driven by new ECB regulation as well as advanced Risk analysis on the derivative product portfolio of Financial Markets (interest rates, credits, foreign exchange).
This will be a key platform in the IT landscape for our global dealing rooms, with 10 scrum teams cooperating towards one Financial Markets IT landscape.
The project is one of the essential applications within the domain. It serves the strategic Area purpose of pricing trade portfolios in a uniform way, regardless of data formats or additional complexities of various deal capture systems within the bank (e.
g. Murex, Summit). Aside from secondary purposes, the application is responsible of :
Capturing all trade feeds via various integration methods, and handling their lifecycle;
Modelling the data in a uniform format based on each specific product using Google protocol buffers and compressed serialization;
Serving the data via high throughput APIs based on Google RPCs and distributed in memory caching systems for EOD risk pricing purposes;
Streaming the data for pre-deal pricing purposes;
Work with Java 8 with a strong focus on functional programming;
Work with Spring Boot and other Spring modules (web, data, security) or any other dependency injection framework;
Work with Apache Ignite as a Big Data distributed database solution for in-memory caching and in-memory computing;
Design and develop gRPC and REST services in a Big Data ecosystem;
Apply Domain-Driven Design and Test-Driven Design principles in your day to day development
Have a performance mindset in terms of being familiar with API performance benchmarking, garbage collection fine-tuning, application profiling, processing and transferring large data sets, facilitating real-time results, designing features in a scalable architecture;
Work with streaming technologies such as JMS for service orchestration or for data sourcing purpose;
Have a focus on quality while working with JUnit, Mockito, Power Mock, as well as BDD frameworks such as Cucumber;
Use a Linux deployment environment.
A University degree in Computer Science, Cybernetics, Software Engineering, Financial Engineering or equivalent;
5+ years of Java software engineering experience;
A good understanding of trade products related to derivates as well as securities;
Advanced knowledge of Java;
Experience with any dependency injection framework;
Experience in developing automated testing;
Familiarity Azure DevOps or similar tools such as Confluence, JIRA, Fortify, Gitlab, Jenkins, Maven;
Experience or affinity with IT Security concepts;
Good communication skills, in English and Romanian;
Strong analytical skills, proactivity and willingness to share knowledge with others;
Experience in NoSQL or at least SQL and relational modeling;
End-to-end ownership mindset : Independent and autonomous in completing tasks, taking responsibilities whenever needed as always striving for consumer value;
Experience working with micro services.
Nice to have
You have worked within the financial markets IT domain before, or are at least familiar with different types of securities and derivative trade products and their purposes;
You embrace and drive technical change in the project;
Excellent team player in an international team, quality focused, service oriented, eager to learn and to coach others;
You are curious and understand the latest developments in the technical and financial services;
You have a good understanding of banking in general or you are passionate about learning it;
You can discuss with your stakeholders and product owner about features and stories and can translate these into software with real business value;
You have a good understanding of Software Architecture;
You have experience in Continuous Delivery.
Experience with Apache Ignite or other distributed databases;
English : C2 Proficient