About this role
Full Stack Engineer – Java
About Millennium
Millennium is a global, diversified alternative investment firm, founded in 1989. Defined by evolution, innovation and focus, Millennium’s mission is to deliver results for our investors.
Our people are empowered with both independence and support: the autonomy to pursue ideas with conviction and the backing of a global network committed to collaboration, disciplined risk management and continuous learning. With opportunities to deepen expertise and accelerate development, talent at Millennium is equipped to adapt, evolve and build lasting impact over time. Discover how transformative growth accelerates impact.
Meet the Team
Technology is central to the health and growth of Millennium’s business. The firm’s active, multi-manager business model demands flexible, scalable technology and advanced proprietary systems, including the next generation of analytical and trading capabilities. This global team supports a real-time trade capture platform that processes, normalizes, and enriches executions across multiple asset classes, feeding downstream systems for real-time P&L, risk, and reporting.
What You'll Do
- Design, develop, and maintain scalable Java services for the real-time trade capture platform, supporting the Private Credit and autocallable buildouts and integrations with third-party platforms such as Murex and Imagine.
- Build and support Kafka streaming pipelines that process, normalize, and distribute trading and reference data to P&L, risk, reporting, and analytics systems.
- Partner with portfolio managers, traders, operations, and risk teams to translate requirements into robust technical solutions.
- Contribute to the architecture and design of low-latency, high-availability components, including multithreaded and distributed systems.
- Write clean, testable, well-documented code; develop unit, integration, and regression tests; and participate in code and design reviews.
- Monitor, troubleshoot, and resolve production issues affecting trading workflows, data integrity, and system performance, participating in an on-call rotation as needed.
- Work with DevOps and Platform teams to improve CI/CD pipelines, deployment automation, and observability through logging, metrics, and alerting.
- Participate in global team standups, planning, and retrospectives, and help improve development processes and standards.
What You Bring
- A Bachelor’s degree in Computer Science, Engineering, or a related technical field.
- At least five years of professional software development experience, with a strong focus on Java 17 or later, including Core Java, collections, concurrency, and JVM fundamentals.
- At least two years of professional frontend development experience with TypeScript or JavaScript; the role uses Angular.
- Strong practical experience designing, building, and supporting Kafka streaming and real-time data pipelines.
- A solid understanding of object-oriented design, design patterns, and multithreading in distributed systems, along with hands-on experience with unit and integration testing frameworks and practices.
- Familiarity with Jenkins CI/CD pipelines and DevOps tools and practices, including Git, build tools, automated testing, and deployment automation; experience with SQL databases such as PostgreSQL and SQL Server.
- Ability to quickly learn existing systems, data models, and business processes and to analyze, troubleshoot, and resolve complex production and integration issues under time pressure. Comfort with modern IDEs and developer productivity tools, and openness to AI-assisted development tools and modern workflows.
- Strong attention to detail, ownership, accountability, and follow-through; the ability to work independently and collaborate across time zones; and clear verbal and written communication with technical and business stakeholders. Functional exposure to the investment process, particularly equities, credit, futures, or other products, is highly desirable.