Senior Software Engineer, C++
Flow Traders is a global liquidity provider that delivers continuous liquidity in financial markets, with deep expertise in Exchange Traded Products (ETPs). The firm lowers overall trading costs for market participants by providing higher execution quality across global exchanges and trading platforms.
About Flow Traders
Flow Traders is a technology-driven liquidity provider operating in global financial markets, with a particular focus on Exchange Traded Products (ETPs). The company combines deep ETP expertise, cutting-edge technology, and strong risk management to increase transparency and efficiency across the financial ecosystem, serving market participants such as exchanges and trading platforms across Europe, the U.S. and Asia-Pacific. Beyond its core trading business, Flow Traders operates a dedicated strategic capital investment unit that partners with companies aligned to its mission of transparency and efficiency in financial markets, and it runs the Flow Traders Foundation, a philanthropic initiative focused on fighting poverty.
Skills
About the Role
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.
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
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
