Key Responsibilities
Design, develop, and deliver high-quality Java-based trading system components, ensuring solutions are low-latency, scalable, maintainable, and performance-optimized.
Work closely with traders, quants, product managers, and fellow engineers to define requirements, translate trading and business needs into robust technical solutions, and ensure tight front-office alignment.
Build and enhance real-time, event-driven systems for order management, execution, and market data processing.
Collaborate with peers through code reviews, design discussions, and knowledge sharing, maintaining high standards of code quality and engineering discipline.
Apply secure coding and operational best practices to protect sensitive trading and financial data and ensure system resilience in production.
Implement comprehensive unit and integration testing, promoting clean design, reliability, and confidence in rapid releases.
Continuously evaluate and adopt modern Java, JVM, and low-latency engineering practices, contributing to internal engineering communities and raising overall technical standards.
Qualifications
Strong Java development experience building trading and low-latency applications
Proven experience developing Order Management and Execution Management Systems (OMS/EMS), including multithreaded, high-throughput server-side systems
Hands-on expertise in performance tuning and optimization on Linux and the JVM (GC, threading, memory, CPU)
Proficiency in scripting languages such as Python, Bash, or similar, for tooling, automation, and operational support
Solid experience working in Linux-based production environments
Strong foundation in computer science fundamentals, including data structures, algorithms, and design patterns
Bachelors degree in Computer Science, Computer Engineering, or a related technical discipline (or equivalent practical experience)