· Design, build and maintain a high-performance, high-availability, high-capacity, yet nimble and adaptive platform for order management, exchange connectivity, processing high volumes of ticking data and post-trade processing.
· Develop highly reliable data ingestion processes to consume large volumes of data emitted by trading and market data systems.
· Design distributed computation infrastructure to run parallelized queries over large volumes of data.
· Use data to guide decision-making, developing or enhancing tools as necessary to collect it.
· Communication with traders, sales, clients and compliance officers about new feature requests, explanation of existing features etc.
· Experience building state management systems, complex event processing and transaction sequencing architectures
· JVM internals, tuning for low-latency, GC-free real-time operation
· Prior experience with event sourcing (sequenced core stream) based architecture
· Linux systems programming experience including memory management, concurrent programming infrastructure, and the networking stack