C++ Software Engineer

IMC
Amsterdam, Netherlands
3 days ago
Apply on www.adzuna.nl
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
5 years minimum
Working hours
Regular working hours
Job source

Tech stack

Automation of Tests C++ (Programming Language) Profiling Field-Programmable Gate Array (FPGA) Software Engineering Information Technology Production Code C++14

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.

Apply on www.adzuna.nl
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

4:50 min

Why developers treat test code differently than production code

Gil Zilberfeld · LIVE

47 sec

Profiling native execution calls with async-profiler

Gonzalo Ortiz Jaureguizar Gonzalo Ortiz Jaureguizar · World Congress 2026 Europe

4:18 min

Prioritizing communication and structural awareness over strict tool mastery

Liam Hurrel +1 · World Congress 2021

3:02 min

Resolving the divergence between direct manipulation and code abstractions

Kris Rasmussen Kris Rasmussen +1 · World Congress 2024

2:17 min

Comparing code profiling with surface level monitoring

Jérôme Vieilledent · LIVE

2:25 min

Engineering career path from embedded systems to banking

John Woods John Woods · LIVE

Videos

See all

Related articles

See all