C++ Software Engineer, Early Careers
- 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
- 2-3 years of full-time professional work experience post-graduation
- Bachelor’s or Master’s degree in Engineering, Computer Science or a related field
- Strong knowledge of algorithms and data structures
- Solid programming skills in modern C++ (C++17 or later)
- 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.
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
The 10 C++ programming questions to expect in an interview
System change: restart as developer?
How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again
Steps to Get a Software Engineer Internship