The success of our client is directly linked to the efficiency of our data processing pipelines. You will frequently need to employ all aspects of your developer skills to invent innovative ways to optimize your code. Some of the 'common' challenges you would encounter and need to implement include:
- Formulating low-latency networking code for quick communication with exchanges
- Creating context-switch-free code
- Designing and implementing custom data storage structures with a minimal footprint
- Establishing data pipelines using a streaming paradigm
- Formulating complex trading logic for the decision engine with the minimum possible compute time
- Reimplementing existing code using advanced CPU features (SIMD)
To accommodate the organization's growth, we are placing more emphasis on the maintainability and manageability of our large, highly optimized, and multithreaded codebases, while preserving its main objective (low latency). You will need to navigate these areas to achieve the best results.
In addition to coding, the Technology team builds and maintains the global (hardware) infrastructure to support trading. In your role, you will often engage with all aspects of the pipeline and various tech stacks; from hardware configurations, network design to data logging pipelines for traders and quants.
Who are you?
Due to our clients growth, we are hiring multiple C/C++ Engineers. As a new member of the team, you bring the following skills:
- Comprehensive and thorough understanding of C and C++ in Linux
- An understanding of - and the ability to verify - the assembly generated by the compiler from the code you write
- Knowledge of what (GNU/Linux) system calls you invoke will do and cost
- Familiarity with x64 hardware and how to use it efficiently
- Understanding of which storage structures to select or implement given their use (time complexity)
- Proficiency in working with debuggers and profilers
- Operational coding (git, documentation)
- Ability to learn from and contribute knowledge to the team
- Proactive, self-starting, honest, flexible, and stress-resistant
In addition to the above, having a background in one of the following specializations would be advantageous:
- 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