Software Engineer
About IMC Financial Markets
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.
Position
- 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
What makes it fun?
- 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
Your qualification
- 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
- 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
Will be a plus
Non-relational, distributed database experience
socialcontact@imc.com
