Senior Software Engineer - Developer Productivity
LIFE AT IMC AS A SENIOR SOFTWARE ENGINEER - DEVELOPER PRODUCTIVITY
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.
Developer Productivity At IMC
IMC is expanding its developer productivity team! This team spearheads and accelerates migration to the Bazel build system across IMC codebases and continually tackles bottlenecks in build processes, whether they are impactful one-line fixes or sweeping architectural shifts. The team supports codebases in a variety of languages, including Java, C++, Python, and SystemVerilog, to improve the daily productivity of hundreds of developers across the globe.
We're looking for an experienced software developer with strong communication skills to join the team. The role requires building robust solutions and solving challenges up an down the tech stack while collaborating with our development teams across the world.
Responsibilities:
Optimize compile times, improve code quality systems, and simplify software processes to improve the daily workflow of engineers
Lead engineering efforts, from design to implementation, to solve complex technical challenges presented by building and optimizing a monorepo codebase
Design and build infrastructure supporting the development, build, test, and release processes
Drive adoption of best practices in code health, development productivity, and maintainability
Collaborate with other software teams to influence design for engineering excellence
Who You Are:
At least five years of software development or similar experience
Experience maintaining and optimizing build systems for large-scale software repositories
You employ excellent written and verbal communication skills in interacting with stakeholders across all phases of product design, development, and delivery
You proactively identify and mitigate pain points in software toolchains in collaboration with other software teams.
You know stable, dependable build environments and rapid feedback cycles are vital for developer productivity. You are motivated by improving the flow of high-quality code into production.
You promote the benefits of build system changes among users to boost adoption and thus productivity.
You solicit and engage with feedback from end users to focus efforts and increase impact
Previous experience with Java, Python, and/or C++
You take a holistic view, identifying areas for improvement and consolidation across the whole development ecosystem to ensure a seamless continuous delivery stream.
Previous experience doing the following is a plus:
Owning and managing builds for multi-language codebases
Managing or acting as tech lead to successfully deliver tech projects
Profiling and optimizing build times for C++ code
Working closely with Bazel or other monorepo-build software
OUR HIRING PROCESS
To set you up for success, you can find our hiring process including tips on applying and interviewing with us on our website. Now it’s up to you! Apply today to start an amazing journey with IMC.