Technology is at the heart of everything we do at IMC. Our innovative proprietary software makes millions of trading decisions every day. But that’s only part of what makes IMC tick. Behind every trade, behind every technological breakthrough, are our people – including our talented team of software engineers. Read on to learn more about how senior software engineers make an impact at IMC.
How senior software engineers add value at IMC
For over three decades, IMC’s continued success has been driven by our proprietary trading software: a complex landscape of proprietary systems and technologies that enable us to make better and faster decisions than our competitors. Through their deep technical expertise, our senior software engineers design, implement, and optimize software that enables us to respond to market events in less than the blink of an eye. In this highly dynamic field, every day presents unique challenges, and our engineers collaborate in tight-knit multidisciplinary teams to solve whatever comes their way.
IMC software engineers focus their efforts in one of three areas. Our Strategy teams work on a wide variety of applications, tools, and functionalities, including trading algorithm interpretations, option pricing, calculating volatility, simulation frameworks, market risk applications, and trade reconciliation applications, as well as data analysis and visualization tools for traders.
Meanwhile, on IMC’s Execution teams, engineers work on software that sits directly in the latency-critical loop of our technology stack and touches every part of our organization. These teams work to ensure that we stay connected to the market and remain able to handle massive volumes of data, while also implementing intricate trading algorithms and integrating advanced hardware solutions.
Our vast data platform, many petabytes in size, is managed by our Data team, which operates and develops pipelines to collect and store all the data published through our trading systems. This team also develops the query engines and access APIs that other IMCers use to search our database, creating the framework supporting our trader analysis, simulation, reporting, and insights.
Whatever team they’re on, and whatever problem they’re tackling, our lead software engineers are all experts in writing high-performance code that strikes the right balance between production time, quality, and testability. Navigating the trade-offs between latency, throughput, simplicity, scalability, and maintainability is far from simple – but our software engineers thrive on making tough decisions like these.
A diverse technology stack for lead software engineers
Our tech stack is primarily written in Java, C++, Python and SystemVerilog, though the full range of our systems and technologies is constantly expanding. We actively invest in researching, adopting, and developing any new technology with the potential to add value to our business, and we give our developers the freedom to find the best solution to any given problem. In IMC’s open, collaborative culture, the path to a solution isn’t important – what’s important is finding the solution itself.
A typical career path for an IMC software engineer
At IMC, new joiners hit the ground running: with rapid feedback loops on projects and fresh challenges around every corner, we encourage them to expand their skills from the moment they arrive. Whether they’re deepening their understanding of financial markets or acquiring new programming capabilities, software engineers of all backgrounds and experience levels have endless opportunities to grow.
Just as there’s no one way to solve a problem at IMC, there’s no single career path either. Leadership opportunities are available for IMCers who are interested in mentoring or managing newer hires. But that is just one way to make an impact: we place just as much importance on Individual Contributors, who specialize in overseeing highly complex projects, and add value to the organization through their subject matter expertise.
While there are many paths to success at IMC, our culture of knowledge sharing and teamwork is a common thread that connects everything we do. With everyone willing to learn – and to teach – we pull together and reach our full potential.
Looking to expand your horizons?
As a company at the forefront of technological progress, IMC never stands still. Our algorithms can always be improved; our trading systems can always be more sophisticated. For senior software developers with an ambitious and entrepreneurial mindset, this constant evolution is at the heart of IMC’s appeal. It makes for a career full of variety, creativity – and, of course, opportunity.