Software Engineer - Java
Overview
We are looking for an experienced Java Developer to support our Systematic Portfolio Managers. You will work on a strategic platform that handles order execution, positions/holdings, and related trading workflows. The environment is high-performance, latency-sensitive Java, focused on predictable low latency, high throughput, and scalability (not ultra–low-latency HFT).
Key Responsibilities
-
Design, develop, and maintain server-side Java services for trading and post-trade workflows.
-
Build and enhance distributed, scalable components for orders, executions, positions, and holdings.
-
Apply strong engineering practices around concurrency, performance, reliability, and failure handling.
-
Work closely with PMs, traders, and engineers to turn requirements into robust, testable solutions.
-
Participate in code reviews, design/architecture discussions, and engineering standards.
-
Use modern CI/CD and automated testing practices for safe, repeatable deployments.
-
Improve operability and observability (metrics, logging, tracing, alerting).
Required Skills:
-
BA/BS in Computer Science or equivalent experience.
-
Strong knowledge of data structures, algorithms, and problem-solving.
-
5+ years of server-side Java with solid concurrency experience.
-
Experience building high-performance, distributed, scalable systems in production.
-
Strong automated testing experience in Java (e.g., JUnit) and testable system design.
-
Experience with modern CI/CD (automated builds/tests, quality gates, deployment automation).
-
Knowledge/experience with Kafka, Spring Boot, JUnit, Redis.
-
Working knowledge of Unix/Linux.
-
Financial industry experience (buy-side or sell-side) in trading/execution/order workflows.
Strongly desired:
-
Buy-side experience (hedge fund, asset manager, prop, systematic platform teams).
-
Experience with OMS and execution pipelines (order lifecycle, routing, fills, allocations, bookings).
-
Experience writing high-performance, GC-aware Java for predictable latency.
-
Some C/C++ experience focused on performance and memory control.
-
Experience with performance profiling tools (Java Flight Recorder/JMC, async-profiler, YourKit).
-
Python or shell scripting for tooling and automation.
What We Look for in Culture
-
Self-starter with strong ownership and follow-through.
-
Clear, open communication and strong collaboration; prioritizes team success.
-
Demonstrated desire to learn and improve, raising the bar on performance, reliability, and engineering quality.