Software Developer C++
Summary
Build and maintain ultra-low-latency trading systems in C++ and Java, including matching engines and FIX gateways for electronic markets.
- Design, develop, and enhance matching engines, FIX gateways, and other electronic trading applications.
- Build and maintain high-performance, low-latency applications using Java and C++.
- Develop and support client-server applications and real-time market data or trading gateways.
- Maintain and enhance existing applications written in Java, JavaScript, and related technologies.
- Work with FIX and other electronic trading protocols, ensuring seamless integration.
- Develop efficient in-memory data structures and processing techniques for optimal performance.
- Troubleshoot production issues and continuously improve application stability and scalability.
- Collaborate with cross-functional teams, including trading, product, and infrastructure, to deliver robust trading solutions.
- Support the full software development lifecycle, ensuring efficient and effective deployment and maintenance.
- At least 5 years of professional software development experience, with a strong focus on Java development.
- Working knowledge of C and C++, along with experience or familiarity with Python, is essential.
- Hands-on experience in developing applications using FIX or similar electronic trading protocols is a must.
- A proven track record in working within a high-frequency, low-latency, or electronic trading environment.
- Strong understanding of networking concepts and protocols, including TCP/IP, UDP, unicast, and multicast.
- Good knowledge of Linux, including system calls, multithreading, inter-process communication, sockets, and scheduling.
- Experience with performance-focused programming techniques for high-frequency trading systems.
- Excellent understanding of efficient in-memory data management and associated optimization techniques.
- Knowledge of NUMA architectures and NUMA-aware programming practices is an advantage.
- Experience in developing client-server applications and a strong grasp of software performance, concurrency, and networking.
#LI-JM1