Software Engineer

| Chicago

Trading nowadays happens in a highly competitive technological landscape; the best trading idea alone doesn’t cut it anymore. Instead, only the best trading ideas that are enabled via robust, scalable and fast technology win. 


Do you enjoy the process of problem solving, a process where you recognize areas of improvement and iterate and innovate to improve? Does your curiosity and desire to learn drive you?



  • We trade in the most competitive markets across the globe.  Our software makes millions of trading decisions daily.  We win by making better and faster decisions than our competition. As a software developer you’ll be working alongside traders to implement strategies which will challenge you to be creative with your implementation. You’ll need to produce solutions which compete in the extremely latency sensitive environment, whilst managing complexity.
  • You’ll be working in a highly motivated team, controlling end-to-end product development.  We work in an environment where slight oversights can be extremely costly, while new features can be extremely profitable.  As a team we aim to balance the race to production with software quality and testability.  You’ll be placed in an environment consisting primarily of C++ and Java.  We have a build chain which has been designed around the concept of daily production releases.  A variety of systems and technologies keeps life interesting.
  • Upon joining you will be expected to manage your own time and tasks.  We rely on our developers to drive change by taking feedback from traders, and shaping that into an implementation.  Your ownership of the task continues until a working production release.  Our most successful developers comfortably work in any part of our stack



  • One of the most fun aspects of the job is that we have a very quick feedback loop.  We release early and often to get incremental benefits as they are developed
  • We operate at the bleeding edge of technology.  If something new can potentially bring an advantage we will actively invest in developing and utilizing the solution
  • We really believe in sharing knowledge and technology between the different offices. Much of our technology stack is shared between all 3 regions, and we provide opportunities to travel between the regions both for personal growth and to assist where it has the biggest impact.
  • To get the best results we encourage everybody to gain understanding of both the trading strategy and how exchanges work on a technological level.
  • Working at IMC is also an opportunity to learn about financial markets. We know from experience that a lot of people really enjoy learning about a field beyond their immediate area of expertise, it’s one of the things that makes this job more interesting than others.
  • We employ a broad range of people with varying backgrounds.  What they have in common is their superior technical expertise, their extraordinary smarts and their collaborative approach. We will not accept less.



  • Have at least 2 years of professional work experience in software development post graduation
  • Excellent Java or C++ programming skills
  • Development experience in a Linux/UNIX environment
  • Extensive experience with OOP/OOD
  • Strong knowledge of algorithms, data structures, and threading
  • Proficiency in design patterns
  • Scripting knowledge
  • Non-relational, distributed database experience is a plus (not a requirement)
  • Strong analytical skills and desire to solve complicated problems programmatically
  • Must be self-directed, and able to work productively under minimal supervision
  • Willingness to work closely with traders in a constantly changing environment
  • Interest in the Financial Markets; previous knowledge is NOT required
  • Anyone graduating in 2017 or 2018 should apply through our graduate application process found on our website; please do not fill out an application through this posting if you're graduating in 2017 or 2018




We are at the core a trading firm, however we value trading and technology equally and we believe that cooperation between traders and technologists is one of our great strengths. This is also reflected in our organizational and remuneration policies. We believe in fostering a truly flat environment in which great ideas can be recognized as well as put into practice from anybody within our organization




IMC Financial Markets is among the world’s leading proprietary trading firms, and a market maker in securities listed on exchanges across the globe. Our cutting-edge technology drives everything we do. High performance algorithms, smart strategies and collaborative teams are the core of our business.
Today, IMC Financial Markets is 500+ people working together to build software and trade financial products in our offices in Amsterdam, Chicago and Sydney. What does this mean for you? The chance to join a multi-national, multi-cultural team of exceptional individuals, focused on making IMC the world’s best trading firm.

Read Full Job Description

Technology we use

  • Engineering
    • C++Languages
    • JavaLanguages
    • PythonLanguages
    • Backbone.jsFrameworks
    • DjangoFrameworks
    • SpringFrameworks
    • HiveDatabases
    • MySQLDatabases


We occupy the 42nd and 43rd floors of the Willis Tower, enjoying 360 degree views of our beautiful city.
233 South Wacker, Chicago, IL 60606

Perks of working here

401(K) Matching
Beer on Tap
Casual Dress
Commuter Benefits
Company Outings
Conferences & Training
Daily Meals Provided
Dental Benefits
Generous PTO
Happy Hours
Health Benefits
Generous Parental Leave
Stocked Kitchen
Vision Benefits
Volunteering Opportunities
More Jobs at IMC8 open jobs
Developer + Engineer