Hong Kong

Senior Java Developer

 Job Description:

Overview

The Trading Engine sits at the core of our client's platform and handles all brokerage and trading aspects. The Trading Engine team is responsible for order management, risk management, position keeping, PNL calculations, market data distribution, order matching, and settlement.

Our client is building a best-in-class engineering team to help us scale the trading platform to millions of users and millions of transactions per second and grow an innovative set of new products. We are looking for strong technologists to join our lean core team with a keen interest in building the next generation of electronic trading systems.



Key Responsibilities

- Ownership in the design, development and delivery of trading system components

- New feature implementation, bug fixing, and performance tuning

- Partner with Financial Products and quantitative researchers on product delivery

- Mentor team members and drive firm initiatives


Requirements

- 8+ years programming experience writing high-performance Java applications

- Bachelor's degree in a Computer Science or similar STEM discipline

- Experience in a related industry, such within a Hedge Fund, Investment Bank, or an

- Exchange developing financial trading applications

- Understanding of the modern software development fundamentals and testing practises inclusive of TDD and BDD

- Understanding of design patterns and object-oriented programming such as SOLID, with in depth understanding of algorithms and their complexities

- Understanding of the Java Memory Model and concurrency in practise

- Demonstrable analytical and problem solving skills, with an ability to break larger problems down and turning complex problems into simpler abstractions

- Genuine passion for software development, and a keen lifetime learner who puts quality over quantity


Nice to have

- Experience in development of execution algos and risk management systems

- Finance knowledge in FX/Crypto spot and derivatives markets

- Basic understanding of mathematics

- Working knowledge of the KDB/q language

- Working knowledge of containerisation using Docker/Kubernetes

- Experience with REST/WS, FIX or any other financial protocols

  Required Skills:

Java