
Software Engineer - Java
at Millennium
Posted 19 hours ago
No clicks
- Compensation
- Not specified
- City
- Not specified
- Country
- Not specified
Currency: Not specified
Experienced Java developer role supporting systematic portfolio managers, focused on building server-side services for order execution, positions/holdings, and trading workflows. Work involves developing distributed, high-performance and latency-sensitive Java systems (predictable low latency, high throughput) and improving observability and operability. Collaborate with PMs, traders, and engineers to deliver robust, testable solutions using modern CI/CD, automated testing, Kafka, Spring Boot, Redis, and Unix environments.
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.




