Senior Engineer (C++)
Role details
Job location
Tech stack
Job description
We are looking for a highly skilled Senior C++ Engineer to join our Global Analytics team. In this role, you will design, build, and maintain high-performance trading and analytics systems used across our business. You'll work on low-latency, mission-critical applications, applying modern C++ to solve complex engineering problems and ensure system reliability at scale.
Beyond feature development, you'll play a key role in diagnosing and resolving production crashes, performing deep-dive debugging at the OS and runtime level. You'll collaborate closely with global colleagues, end users, and brokers, contributing to planning and delivery while mentoring junior engineers.
This is a hands-on role for an engineer who thrives in fast-paced, high-performance environments and wants to make a tangible impact on the stability and performance of trading infrastructure.
Role Responsibilities
- Design, develop, and maintain robust, low-latency C++ applications with focus on performance, scalability, and resilience.
- Take ownership of complex technical problems, including crash investigation, low-level debugging, and optimisation.
- Perform deep crash analysis (call stacks, disassembly, memory corruption) and deliver long-term fixes.
- Collaborate with peers and leads in design discussions and technical decision-making.
- Conduct code reviews to ensure best practices and high engineering standards.
- Mentor junior developers and enhance team capability.
- Partner with QA, DevOps, product managers, and business users to deliver high-quality solutions.
- Drive improvements in debugging, testing, and development processes.
Requirements
- Strong professional C++ development experience (C++11/14/17).
- Strong background in finance, trading systems, or other low-latency, high-throughput environments.
- Expertise in modern C++ (memory management, concurrency, templates, STL, metaprogramming).
- Skilled in crash dump analysis, memory leak detection, runtime debugging (WinDbg, VTune, Visual Studio).
- Hands-on optimisation of multi-threaded, real-time systems.
- Proficient in OOP, SOLID principles, RAII, and design patterns.
- Strong knowledge of testing, CI/CD, and version control (TDD, Git, pipelines).
- Familiarity with Windows internals (Win32 APIs, MFC/ATL), networking, IPC, and relational databases.
- Exposure to distributed systems, microservices, and cloud platforms.
- Strong communication and collaboration in Agile/SCRUM environments.
- Nice-to-have: advanced Windows internals debugging, disassembly-level crash forensics, HFT performance tuning, distributed messaging (Kafka, Solace, ZeroMQ), containerisation (Docker/Kubernetes), scripting (Python/C#), and trading domain knowledge.