Back to jobs

Software Developer - Data Infrastructure

Job description

​Software Developer - Data Infrastructure

Global hedge fund

Department: Data Development

Location(s): London, Montreal (relocation bonus provided)


MPA has been retained by a global investment management firm to recruit a Software Developer for their Data Infrastructure team. This technology driven firm develops quantitative investment strategies to achieve high quality returns across global financial markets.

The Data Infrastructure team manages the service-oriented data storage infrastructure for the firm.We implement microservices that provide high performance solutions to access large data sets required in trading and research.

We are looking for an experienced Software Developer with a strong background in C++ to join the team. In this role, you will be responsible for designing, developing, and maintaining the data infrastructure components that support the data processing and analytics pipelines. You will work closely with data engineers, data scientists, quantitative researchers and other stakeholders to ensure efficient and reliable data retrieval, processing and storage.


Position Overview:


·       Design, develop, and maintain data infrastructure microservices using C++ to process and analyze large data sets

·       Optimize microservices for performance and scalability, ensuring efficient data processing

·       Debug and troubleshoot software issues, providing timely resolutions

·       Stay up-to-date with industry trends and advancements in C++ programming and data engineering technologies

·       Write clean, maintainable, and efficient code, following coding best practices and standards

·       Participate in code reviews to ensure code quality and consistency

·       Collaborate with support teams to ensure smooth deployment and operation of microservices

·       Contribute to the overall software architecture and design of data processing and analytics pipelines

Required Qualifications:

·       Bachelor’s degree in Computer Science, Engineering, or related subject

·       5+ years of professional software engineering experience

·       Proficiency in C++

·       Experience working on microservices and/or asynchronous multithreaded applications

·       Ability to work in a fast-paced, deadline-driven environment.

·       Strong problem-solving and debugging skills

·       Experience working in a Linux environment

·       Excellent communication skills, comfortable interacting directly with stakeholders

·       Willingness to pick up and learn new technologies and frameworks

Nice to have:

·       Knowledge of databases, SQL

·       Familiarity with Boost ASIO

·       Familiarity with data serialization formats such Apache Arrow/Parquet, Google Protocol Buffers, Flatbuffers

·       Experience with gRPC, http/REST and Websocket protocols

·       Experience with Google Cloud/AWS and/or containerization in Docker/Kubernetes

·       Experience with highly available distributed systems and working with large datasets

·       Experience with other programming languages such as Rust, Python and Q is a plus


To find out more about this position please send an up to date resume to