Software Developer
LIFE AT IMC AS SOFTWARE DEVELOPER
WHO WE ARE AND WHAT WE DO
IMC is a leading global market maker, using algorithmic trading and advanced technology to buy and sell securities on multiple trading venues worldwide. We provide liquidity to the financial markets, driving efficiencies for buyers and sellers.
Founded in 1989, we are an ambitious, innovative company and identified early on the importance technology would play in the fast-paced evolution of trading. This entrepreneurial spirit still drives us today and can be found in all of our offices around the world.
OUR TEAM
We now operate globally from offices in Europe, the US and Asia Pacific. Our employees work closely together in multidisciplinary teams, making our success possible.
Technology - At IMC, technology is not a department, it is at the heart of everything we do. Our technologists push the limits of possibility, and then look beyond. In our fast-paced environment, short feedback loops mean projects worked on in the morning can enter production the next day.
Trading – Although our traders come from many backgrounds they all have one thing in common: they are at their best solving complex problems. Their insight into global events, market shifts and pricing ensure we are trading in the right place, at the right time.
Business Support - Around the world, IMC’s business support teams are essential for sustaining our success. In our dynamic environment, we have many exciting challenges and multidisciplinary opportunities to shape our operations and make a real impact.
OUR CULTURE
Our employees are our greatest asset so we give them lots of responsibility and the support they need to make a difference. Our flat structure fosters a culture of openness and collaboration, encouraging the sharing of ideas and knowledge. It makes no difference if you have been with us for three days or three years, the best idea wins.
While we work hard, we also have a lot of fun; whether solving complex challenges or in team building, leisure and sporting activities. IMC also enables its employees to contribute towards a better society through our foundation.
Responsibilities:
The Software Developer at IMC Americas, Inc. in Chicago, Illinois will be responsible for the following: collaborating with Traders, Quants and other members of the engineering team to bring IMC's quantitative trading strategies and software platform to the next level using advanced analytical and programming skills; implementing individual trading strategies in code using a variety of software programming techniques; contributing to the development, maintenance and enhancement of our trading platform and software stack through the entire software development lifecycle; working alongside traders to implement quantitative trading strategies in software code and produce competitive, efficient solution in a latency-sensitive environment, enhancing the implementations based on trader feedback; developing, creating and modifying complex, low-latency quantitative trading software, implementation systems and associated technologies in all parts of IMC's technology stack, including back-end and front-end systems; participating in end-to-end product development in a team environment, with a build chain designed around daily production releases, continuous integration and delivery; and developing, coding and implementing cutting-edge trading algorithms in our quantitative trading system to positively impact IMC's business.
Education and Experience Required:
- Master's degree in computer science, computer engineering or a similarly analytical and technological field
- One year of experience as a software engineer in Java or C++ environments; or, in the alternative, a bachelor's degree and five years of experience in the same fields.
- Candidates must have some work experience in each of the following: designing scalable, reusable exchange connectivity software for American exchange protocols including NASDAQ, NYSE and ISE; optimizing memory management in low-level network layers to minimize latencies using Java, C++ and Assembly; and translating trading strategies into functional software architecture by writing, implementing, testing and optimizing trading algorithms.