
Senior C++ Software Engineer
- Amsterdam, Noord-Holland
- Vast
- Voltijds
- C++ (Standard in use: C++17. Migrating to C++20)
- Compilers: gcc 10 / clang 17
- Python, Rust and Typescript
- Build system: CMake
- Version control: Git
- Testing frameworks: Google Test, Pytest, and Nosetest
- Version control/code review system: Bitbucket
- Operating system: Debian Linux
- Continuous integration system: Bamboo
- Deployment automation: Ansible
- Lead the development and global rollout of our Core platform used in multiple business/focus groups (Market data, Quantitative research, Pricing, Strategies)
- Be involved in the development process, which will be a fast-paced iterative process where you deploy your deliverables and validate them yourself and/or together with traders or quants
- Develop tools/frameworks to deliver capabilities for tuning/develop data-driven systematic pricing and trading strategies
- Work together with focus group engineers, Quants and Technical traders to refine requirements, collect feedback, and iterate on design and implementation of platform requirements
- Write software that communicates with crypto exchanges through their APIs, receiving market data and sending orders over the network in different protocols, such as FIX, Websocket or HTTP requests
- Ensure quality of software based on a set of testing suites, which you are expected to use, maintain and extend
- Optimize exchange communication through kernel bypass, optimizing TLS or the connection handling to an exchange
- Research exchange behavior in detail to align our behavior to that of an exchange
- Implement these solutions using the provided exchange SDKs in different languages such as C++, Rust, Python, Typescript
- Implement trading algorithms based on requirements provided by traders and quants
- Acquire and develop the necessary trading knowledge to successfully translate the requirements into actual software implementation
- Continuously improve the stability, reliability, and performance of the trading engine
- Enhance monitoring and observability in collaboration with the Trading Operations team
- Investigate and resolve production issues such as crashes, unexpected business logic behavior, and performance bottlenecks
- Prepare for releases and deployments of new trading engine versions
- 5+ years of experience with C++
- Good knowledge of data structures and algorithms
- Cryptocurrency/Blockchain familiarity highly preferable
- Understanding of full software development life cycle
- Ability to write clean and simple code
- Relevant experience with unit and regression testing
- Knowledgeable about computer architecture and memory subsystem
- Experience with some Linux distribution
- Good interpersonal and team playing skills
- Ability to communicate with stakeholders with different backgrounds