Software Developer – Distributed Systems
Software Developer – Distributed Systems
Montreal, Quebec, Canada - Permanent
Job Description
Our client is a global investment management firm. As a technology and data-driven firm, they design and build their own cutting-edge systems, from high performance trading platforms to large scale data analysis and compute farms.
We are seeking an experienced Software Developer join the backend system teams. The successful candidate will be an integral part of a team responsible for managing internal backend services, frameworks, and platforms utilized by quants, traders, and other development teams.
You will:
•Design, develop, and maintain scalable, tested, production-grade distributed systems.•Foster close collaboration and communication with investment stakeholders and other tech groups.
•Assume full ownership for the systems developed by you and your team.
•Provide support and troubleshoot live production systems.
•Engage in all stages of the software lifecycle, from gathering requirements all the way through to production support.
•Comfortable working with and/or picking up the diverse technology stack; Rust, Python, C++, K8s and more
Must Have Skills:
•Bachelor’s degree in Computer Science, Engineering, or a related field.
•Minimum of 6 years full-time software development experience.
•Proficiency in C++
•Desire to work with or previous experience in Rust
•Hands-on experience implementing Docker/Kubernetes microservices in a production environment.
•Experience with highly available distributed systems and/or working with large datasets.
•Experience supporting and monitoring large production systems.
•Excellent communication skills with comfort in directly interacting with stakeholders.
•Familiarity with a Linux environment and version control software.
•Experience working with and designing CI/CD pipelines.
Nice to Have Skills:
•Hands-on experience with Python