Software Engineer
mlp
Job Description
- 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.