Paul Murphy Associates
C++ Software Engineer
Paul Murphy Associates, New York, New York, us, 10261
Title: C++ Software Engineer - Trading Systems Location: New York, NY | Chicago, IL | Seattle, WA (Hybrid) Full time Our client is looking for C++ trading systems developers to improve and expand the functionality of their matching engine, order entry mechanisms, and market data publication. They design, develop, deploy, and support real-time systems for their digital asset trading platform. Time is measured in microseconds and they aim to start measuring in nanoseconds. Reliability, fault tolerance, recoverability, throughput, and latency are what they look for in their systems. If something can be automated, they automate it, and they ship their code weekly. Responsibilities: Use engineering principles to identify and measure risk and to implement quantitative and technical risk management solutions in software. Understand business needs, facilitate and develop process workflows, data requirements, and specifications required to support implementation of our real time exchange. Develop scalable architecture for the future state of our exchange and contribute towards improving the trading infrastructure. Write robust code and APIs to support the companys vital business. Keep everyone informed about the health and viability of the platform by reporting known issues and status of ongoing investigations. Identify and advocate for changes vital to the stability and supportability of the system. Mentor and advise teammates to ensure new features are efficient, highly available, and fault tolerant. Provide continuity and stability to the production environment. Provide quick response to production issues to help eliminate down time thereby ensuring high availability and performance of our trading platform. Coordinate, prioritize and plan the changes to our trading software thereby ensuring smooth exchange migrations, quick time to market for new features and software. Qualifications: 3 years C++ or functional programming language experience in an exchange/trading systems environment. Experience with unit testing frameworks and continuous integration tools. 3 years working with order handling or matching engines. 3 years working with FIX or other market data/order protocols. Experience in building real time Linux systems. Solid understanding of IP multicast and TCP protocols. Low latency/lock-free development and design. Multithreading and concurrency experience. Binary or custom protocols (e.g. ITCH/OUCH) - preferred Linux kernel tuning and optimization - preferred Scala experience - preferred