Team: Data Infrastructure
Department: Data Development
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 our team. In this role, you will be responsible for designing, developing, and maintaining the data infrastructure components that support our 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:
1. Design, develop, and maintain data infrastructure microservices using C++ to process and analyze large data sets
2. Optimize microservices for performance and scalability, ensuring efficient data processing
3. Debug and troubleshoot software issues, providing timely resolutions
4. Stay up-to-date with industry trends and advancements in C++ programming and data engineering technologies
5. Write clean, maintainable, and efficient code, following coding best practices and standards
6. Participate in code reviews to ensure code quality and consistency
7. Collaborate with support teams to ensure smooth deployment and operation of microservices
8. Contribute to the overall software architecture and design of data processing and analytics pipelines
Required Qualifications:
9. Bachelor’s degree in Computer Science, Engineering, or related subject
10. 4+ years of professional software engineering experience
11. Proficiency in C++
12. Experience working on microservices and/or asynchronous multithreaded applications
13. Ability to work in a fast-paced, deadline-driven environment.
14. Strong problem-solving and debugging skills
15. Experience working in a Linux environment
16. Excellent communication skills, comfortable interacting directly with stakeholders
17. Willingness to pick up and learn new technologies and frameworks
Nice to have:
18. Knowledge of databases, SQL
19. Familiarity with Boost ASIO
20. Familiarity with data serialization formats such Apache Arrow/Parquet, Google Protocol Buffers, Flatbuffers
21. Experience with gRPC, http/REST and Websocket protocols
22. Experience with Google Cloud/AWS and/or containerization in Docker/Kubernetes
23. Experience with highly available distributed systems and working with large datasets
24. Experience with other programming languages such as Rust, Python and Q is a plus