C++ Software Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
Job description
As a software engineer, you’ll work in multidisciplinary teams alongside other engineers, traders, researchers, and quants, both locally and across our global offices, taking ownership of end-to-end product development, from requirements gathering to production. You’ll write reliable, high-performance software while balancing time to production with quality and testability. Advanced automated testing lets us deploy to production daily. Within a complex landscape of varying systems and technologies, you’ll be constantly challenged to consider trade-offs between latency, throughput, simplicity, scalability and maintainability.
- Building and maintaining the systems that connect IMC to exchanges: parsing market data feed, managing order entry, and keeping us fast and reliable on the path where latency counts.
- Implementing and optimising execution logic in close collaboration with traders and quants, translating trading ideas into production code.
- Working with our hardware teams to integrate FPGA-based systems and low-latency network solutions into our trading stack.
- Measuring, profiling and improving the performance of our systems.
- Developing expertise across the entire software development lifecycle, learning from experienced engineers along the way.
Requirements
- Minimum 5+ years professional working experience as a software engineer post graduation
- Solid programming skills in modern C++ (C++17 or later)
- Bachelor’s or Master’s degree in Engineering, Computer Science or a related field
- Strong knowledge of algorithms and data structures
- An interest in how software actually runs on hardware: memory, caches, networking
- A high degree of flexibility and adaptability: willing and able to deal with uncertainty and ambiguity in a rapidly evolving environment
- Ability to solve problems creatively and proactively
- Curiosity and a willingness to learn. Interest in financial markets; previous knowledge is not required.
About the company
At IMC, technology is not a department; it’s at the heart of everything we do. Developed in-house, our innovative software makes millions of trading decisions daily, and we win by making better and faster decisions than our competition.
IMC’s Amsterdam-based C++ Execution development teams work on software that sits directly in the latency-critical loop of our technology stack and touches every part of our organisation. We connect IMC to exchanges around the world, process massive volumes of market data in real time, execute complex trading algorithms, and integrate advanced hardware solutions where software alone isn’t fast enough., IMC is a research-driven trading firm where quantitative modeling, machine learning, and engineering shape how modern markets are traded. A stabilizing force in markets since 1989, we provide liquidity across trading venues, delivering the best outcome in value and risk management to investors. Using our own technology and capital, we build proprietary systems and algorithms that operate across global markets. Our researchers, traders, and engineers work as a collective, combining rapid experimentation, advanced infrastructure, and real-time feedback to turn insight into execution and execution into advantage.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
How to Find Tech Jobs in Amsterdam
7 Important Tips That Every Software Developer Should Know
Where to Find Entry-Level Software Engineering Jobs
The 12 Best Jobs for Software Engineers