Senior Software Engineer, C++
You'll build systems used to analyze and trade tens of thousands of products across hundreds of global trading venues every day. Working closely with Technologists, Quantitative Researchers, and Traders, you'll guide the development of in-house trading technology and optimize it for market-leading performance and reliability. You'll work across the Core platform, Exchange Connectivity, and Trading Strategies, writing software that communicates with exchanges, implementing trading algorithms, and continuously improving the stability, reliability, and performance of the trading engine.
Responsibilities
- Lead the development and global rollout of the Core platform used across multiple business/focus groups
- Participate in a fast-paced iterative development process, deploying and validating deliverables with traders or quants
- Develop tools and frameworks for tuning and developing data-driven systematic pricing and trading strategies
- Work with focus group engineers, Quants and Technical traders to refine requirements and iterate on design
- Write software that communicates with exchanges through their APIs using protocols such as FIX, Websocket or HTTP
- Maintain and extend testing suites to ensure software quality
- Optimize exchange communication through kernel bypass and TLS or connection handling optimization
- Research exchange behavior to align system behavior with exchange behavior
- Implement exchange SDK solutions in languages such as C++, Rust, Python, Typescript
- Implement trading algorithms based on requirements from traders and quants
- Improve the stability, reliability, and performance of the trading engine
- Enhance monitoring and observability in collaboration with the Trading Operations team
- Investigate and resolve production issues such as crashes and performance bottlenecks
- Prepare for releases and deployments of new trading engine versions
Requirements
- BSc, MSc, or PhD in Computer Science, Mathematics or equivalent
- 5+ years post-graduation professional C++ software development experience (proprietary trading industry preferred)
- Ability to write clean, reliable, and highly scalable code
- Good knowledge of algorithms and data structures
- Experience in parallel, asynchronous, and multithreaded programming
- Interest in achieving maximum performance from available hardware and software
- Ability to communicate with technical and non-technical business colleagues