This is an opportunity to develop trading systems for cryptocurrencies in the rapidly evolving class of digital assets with a world class platform. You’ll learn from their experienced trading team and help develop and support systems that execute millions of trades on crypto exchanges across the globe.
- Develop C++ applications that connect to cryptocurrency exchanges and cryptocurrency protocols and provide normalised exchange access to our auto trading applications
- Be a domain expert in 2-3 exchange systems cryptocurrency protocols. Apply this expertise to improve the trading performance of our own systems and / or to request improvements to exchange systems
- Be accountable for the deployment, monitoring and management of connectivity solutions for the exchanges you’ve be an expert in. Help troubleshoot other exchange connectivity as required
- Optimise applications for microsecond latencies and efficient utilisation of scant messaging bandwidth
- Help engineer internally developed middleware and messaging protocols, improving reliability, scalability, throughput and latency
- Collaborate with traders and strategy Developers to analyse logs and build tools to assist in the analysis of execution performance
- Develop ancillary trading system infrastructure in python as required
- Create tools to automate the configuration, deployment, monitoring and troubleshooting of trading systemponents
- Engage with the team during system design discussions, code reviews, trading idea brainstorms and daily office banter.
Description
A software engineer with 3+ years experience in developing clean, maintainable and performant code in C++ on linuxExperience profiling C++ code with any of cachegrind, valgrind or other profiling toolsA thorough understanding of network programming : UDP, TCP, TLS, WebsocketsBonus points will be awarded to candidates who have developed websocket execution for any of the top 10 cryptocurrency exchanges and who can articulate the challenges they facedYou can find the balance between delivering clean, testable, reliable code and rapidly deploying new system features to take advantage of market opportunitiesYou are reliable, take pride in delivering robust software and are willing to be on call to support the systems you developWhat we are looking for
Experience with high transaction, latency optimised, distributed systemsExperience configuring and monitoring Linux machinesExperience with inter process messaging using shared memoryExperience with cloudputing infrastructure such as AWSExperience developing high performance exchange connectivity software, for market making in traditional markets.