Senior C/C++ Low Latency Engineer
- On-site
- Zug, Zug, Switzerland
- Technology
Job description
Your job
This role is crucial for our organization. Our Technology team is small and therefore you get a lot of responsibilities and freedom! You are triggered by being faster than the competitors and you like to focus on quality. As you can imagine in a small team, there is a flat hierarchy and everybody is really hands-on to be the best in what we do!
We are looking for senior C/C++ Engineers with extensive knowledge and experience in building, testing, monitoring and maintaining large scale parallel applications and databases. As a C/C++ Engineer at Mathrix in the low latency environment, your focus will be on the code which facilitates the automated trades on various exchanges worldwide.
Our companies’ performance is highly dependent on the performance of our data processing pipelines. You will regularly need to appeal to all aspects of your developers’ skillset to find new and innovative ways to optimize your code. Some examples of the ‘everyday’ challenges you would encounter are and have to implement:
- low-latency networking code for fast communication with exchanges;
- context-switch-free code;
- design and implement custom data storage structures with minimalistic footprint;
- data pipelines using a streaming paradigm;
- complex trading logic for the decision engine with the lowest possible compute time;
- reimplement existing code using advanced features of the CPU (SIMD).
To accommodate the growth of the company, we spend increasing efforts on the maintainability and manageability of our large, highly optimized and multithreaded codebases while preserving its main purpose (low latency). You will have to maneuver yourself between these worlds to get the best results.
Next to writing code; the Technology team builds and maintains the global (hardware) infrastructure to facilitate the trading. In your job you will be regularly involved in all aspects of the pipeline and different tech stacks; from hardware compositions, network design to data logging pipelines for the traders and quants.
Job requirements
Who are you
Due to the growth of our organization, we are looking for more than one C/C++ Engineer. As the new team member, you bring the following skillset:
- extensive and thorough knowledge of C and C++ in Linux
- an understanding of – and the ability to verify - the assembly the compiler will produce from the code you write
- understanding what (GNU/Linux) system calls you invoke will do and cost
- knowledge of x64 hardware and how to use it efficiently
- understanding what storage structures to select or implement given their use (time complexity)
- ability to work with debuggers and profilers
- operative coding (git, documentation)
- ability to absorb from and provide knowledge to the team
- pro-active, a self-starter, honest, flexible and stress resistant
Next to the above, having a background in one of the specializations are nice to have:
- experience with network engineering; either (low latency) networking hardware deployment or networking protocol implementations;
- experience with Big Data engineering and knowledge of Big Data best practices and implementations best suited for different use cases
What we offer
- Excellent remuneration (including discretionary bonus)
- Fun and inspiring work environment
- Experienced and knowledgeable colleagues
- 25 vacation days
- Additional: going out for dinner regularly, Friday afternoon drinks, yearly office trips, weekly massages, and an excellent free lunch
A pre-employment screening is part of our application process.
or
All done!
Your application has been successfully submitted!