Job Openings CMI/MRD/IMACS - Senior Developer

About the job CMI/MRD/IMACS - Senior Developer

The Department and Position
Capital Markets IT (CMI) is the IT department within the bank focused on solutions related to Capital Markets. This includes Front Office (FO) booking platforms, Risk Management (RM) control and regulatory reporting systems, financial product and contract valuation systems, and much more. It is the department most directly exposed to the banks financial operations.
As a member of the IMACS projects development team, you will develop robust processes to ingest huge amounts of data from disparate systems, and build processes that transform and use that data. The core technology used is Apache Spark on top of HDFS, and development is primarily in Java. The position is ideal for someone with a strong interest in data processing and data science: either a confirmed expert in Big Data technologies or a strong developer keen on gaining expertise in that domain.
About IMACS
Since 2008 the importance of collateralization of OTC derivatives as governed by a host of international regulatory regimes such as EMIR in Europe and Dodd-Frank in the US has changed the banking landscape. All financial firms and systemically important non-financial entities that engage in non-centrally cleared derivatives will have to exchange initial and variation margin commensurate with the counterparty risks arising from such transactions. This developer position is for the Initial Margin and Collateral system project.

Qualifications and Profile
The successful candidate will definitely have:

  • At least 8 years of software development experience
  • At least 5 years experience working with Java
  • A strong understanding of recent Java language features, such as lambdas, streams, and futures
  • Good knowledge of algorithms and data structures, with strong fundamentals in complexity analysis
  • Strong ability to analyze code understand execution flow & debug even without access to a debugger
  • Experience with Maven, Git, writing and maintaining integration tests
  • Strong familiarity with Linux and bash
  • Good knowledge of SQL or an SQL-inspired dialect such as HQL

An ideal candidate will also have expertise in some or all of the following:

  • Hadoop Big data clusters and tech: Spark, Kafka, HDFS, ORC, Hive, HBase, YARN, Parquet, Zookeeper
  • Jenkins and Ansible
  • Jira or a similar issue-tracking system
  • The Spring framework and IoC, and particularly Sping Boot and Swagger for restful web services

Additionally, knowledge of the following would be helpful although it is not required:

  • Python and pyspark
  • Web development fundamentals (HTML, Javascript, jQuery, ReactJS, etc)
  • Docker/Kubernetes
  • Protobuf, gRPC, Kryo, Avro, Snappy
  • OLAP cubes: ActivePivot, Druid, Clickhouse
  • Understanding of and interest in finance & financial markets, particularly interest rate derivatives in their many forms (Forwards, Futures, Swaps, Swaptions, etc), knowledge of the greeks (Delta, Gamma, Vega, Vanna, Volga, Cega, etc), risk management concepts (VaR, ES, etc), market data (discount and forecast curves, SABR volatility matrices, correlation and hybrid correlation cubes, etc).


Besides having greater development experience than an intermediate or junior developer, a senior developer will be expected to make sometimes complex architectural decisions that balance difficult trade-offs, and defend those decisions to management and clients within the bank; he or she will be expected to take a leadership role in the team, mentoring less experienced colleagues and helping them progress.
All candidates, but particularly seniors, will be held to high a standard when it comes to communication, both oral and written. You should have good expository style, be able to explain yourself clearly and concisely, especially when the subject is technical and complex.