Software Engineer - Java
Core
Design, develop, and maintain server-side Java services for trading and post-trade workflows, supporting systematic portfolio managers on a strategic platform handling order execution, positions, and holdings.
Role type
Senior IC Java engineer (trading systems)
Builds
Distributed, scalable components for orders, executions, positions, and holdings
Domain
Financial services (buy-side/sell-side) trading and execution
Required skills
Java (server-side, concurrency), distributed systems, Kafka, Spring Boot, JUnit, Redis, Unix/Linux, CI/CD, automated testing
Preferred skills
Buy-side experience, OMS/execution pipelines, high-performance/GC-aware Java, C/C++, performance profiling tools, Python/shell scripting
Technologies
Kafka, Spring Boot, JUnit, Redis, Java Flight Recorder, async-profiler, YourKit
Responsibilities
Design and develop server-side Java services for trading workflows; Build and enhance distributed components for orders and positions; Apply engineering practices for concurrency, performance, and reliability; Collaborate with PMs and traders to implement requirements; Participate in code reviews and architecture discussions; Improve observability (metrics, logging, tracing)
Seniority
Senior, hands-on IC