Senior Software Engineer – Order Management & Trade Allocation (C++/Linux)
Millennium · New York, NY · 1 wk ago
On-siteInformation Technology$175k–$250k/yrFull-time
Responsibilities
- Design and implement components of a new firm-wide order and execution workflow platform.
- Build systems that:
- Intake aggregate orders with complex allocation instructions.
- Perform real-time risk, compliance, and order-marking checks.
- Route orders to global brokers and venues across Equities, Futures, FX, and other products.
- Process executions and perform real-time allocation of fills to fund accounts and feeding this downstream to post trade systems.
- Create real-time and historical analytics, monitoring, and reconciliation tools.
- Work closely with portfolio managers, traders, middle office, and risk teams to understand requirements and translate them into robust, scalable solutions.
- Owning the end-to-end lifecycle of features: design, implementation, testing, deployment, and operational support.
- Contribute to system performance tuning, profiling, and optimization to meet stringent latency and throughput requirements.
- Participate in code reviews, architecture discussions, and ongoing improvements to development standards and best practices.
- 7+ years of experience developing high-performance C++ server-side applications on Linux, including systems operating within sub-50µs latency budgets.
- Hands-on experience with Aeron, SBE, or comparable low-latency messaging technologies used in trading systems.
- Strong background in real-time, event-driven architectures, inter-process communication, and concurrency.
- Deep understanding of Linux internals, performance tuning, memory management, and network programming.
- Strong command of object-oriented design, data structures, algorithms, and low-level systems concepts.
- Familiarity with trading workflows and product knowledge across Equities, Futures, Options, and Fixed Income is strongly preferred.
- Experience with SQL; exposure to kdb+/q is a significant differentiator.
- Hands-on Java development experience is highly beneficial.
- Bachelor’s or Master’s degree in Computer Science, Engineering, or a related discipline.
- Detail-oriented with a strong sense of ownership and pride in high-quality work.
- Collaborative mindset with the ability and desire to help others succeed.
- Able to operate effectively in a fast-paced, high-pressure environment with frequently shifting priorities.
- Strong communication skills with the ability to interact across technical and business teams.