C++ Software Developer (Exchange Connectivity)
hong kong
Develop C++ applications that connect to crypto currency exchanges and cryptocurrency protocols and provide normalised exchange access to our auto trading applications
Become 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 become 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 system components
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 linux
Experience profiling C++ code with any of cachegrind, valgrind or other profiling tools
A thorough understanding of network programming: UDP, TCP, TLS, Websockets
Bonus 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 faced
You can find the balance between delivering clean, testable, reliable code and rapidly deploying new system features to take advantage of market opportunities
You are reliable, take pride in delivering robust software and are willing to be on call to support the systems you develop
What we are looking for
Experience with high transaction, latency optimised, distributed systems
Experience configuring and monitoring Linux machines
Experience with inter process messaging using shared memory
Experience with cloud computing infrastructure such as AWS
Experience developing high performance exchange connectivity software, for market making in traditional markets.