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 solid 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 interaPythocting 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
Contra
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