Lead Software Engineer
Overview
We are seeking a highly motivated Lead Software Engineer to join our Markets Engineering team. We are looking for an engineer with a strong history determining the strategic direction of core software products in the financial markets/exchange trading space, and a willingness to be a hands-on contributor to the ongoing development of the platform. Our existing platform is a C++ central transaction processing engine using custom in memory database and surrounded by TypeScript applications connected via low-latency inter-process messaging (e.g. ZeroMQ IPC/TCP) between the C++ engine and surrounding services. The platform includes REST API clients and browser-based GUIs built around TypeScript frameworks. The ideal candidate will have more than 8 years of professional experience, and comprehensive knowledge of CI and automated deployment to a Kubernetes infrastructure in cloud environments. The successful candidate will show a passion for problem-solving and the ability to leverage their extensive experience to help their team continue the development and growth of the systems with which they will work.
Key Responsibilities
Design, develop, and maintain scalable applications using C++/TypeScript.
Develop and integrate REST APIs to support business functions.
Create and optimize browser-based GUIs for enhanced user experience.
Support and develop the monorepo build for the platform.
Collaborate with cross-functional teams to define, design, and ship new features.
Troubleshoot and resolve software defects and issues.
Maintain code quality through code reviews and automated tests.
Stay updated with the latest industry trends and technologies.
Provide strategic direction with new technologies to keep the systems up to date and industry leading.
Work with the existing senior engineers / team to, amongst other things:
Evolve the code generation/model pipeline safely
Maintain and improve engine replication and recovery design
API versioning and vendor OpenAPI integration
Find innovative solutions to the business opportunities present from your commercial colleagues, customers and partners
Qualifications
8 years of professional experience in software development.
3 years of technical leadership of small to medium teams.
Expert in C++ (C++26) and TypeScript using modern JavaScript frameworks.
Experience with deployment of containerized systems to Kubernetes on Google Cloud Platform
Experience with REST API development.
Experience in developing browser-based GUIs.
Several years' experience in financial markets.
Interest or skills in other programming languages such as Rust is an advantage.
Excellent teamwork and communication skills.
Strong problem-solving skills and attention to detail.
Ability to work in an agile development environment.