About the opportunity
Novaren Solutions is looking for a senior C++ / C# developer on behalf of a leading international corporate and investment bank, to join its Capital Markets technology division in Montréal.
You will join the team that provides pricing and risk calculation services to a wide range of users across the bank, from Front Office to regulatory risk teams. Quantitative analysts, traders and risk managers work closely with the team to drive its development.
The very large daily data volumes require innovative solutions so that computing and storage capacity can keep up with growing trade volumes and regulatory constraints. The technology stack relies mainly on distributed .NET services, relational and distributed databases, and a Couchbase caching layer.
Calculations are being migrated from IBM Symphony to a new open-source, cloud-compatible grid manager. The real-time framework (streaming, contribution, pre-trade), designed for low-latency requirements, is mainly implemented in C++. The team is also actively implementing "burst into cloud" and cloud-native solutions.
Key responsibilities
- Implement, extend and support the computing middleware: real-time framework, grid components and cloud-oriented components
- Develop distributed services in C++ and C# / .NET Core, designing, writing and tuning high-performance code
- Contribute to the migration of calculations to the new grid manager, as well as to "burst into cloud" and cloud-native initiatives
- Profile, instrument, optimize and monitor distributed real-time systems, and provide production support
- Contribute to the review of the real-time framework and to the development of parallel algorithms for multi-core architectures
- Contribute to the project roadmap and architecture governance, and coordinate with international teams
Required qualifications
- Master's degree in Computer Science or Information Systems
- 7+ years of software development experience
- Development of services in C++ and C# / .NET Core
- Proven ability to design, build and optimize code
- Parallel algorithms for multi-core architectures
- Strong knowledge of real-time software development in C++, ideally in electronic markets
- Proven experience in profiling, monitoring, optimization and production support of distributed real-time systems
- Solid understanding of multithreaded systems
- Autonomy and excellent communication skills
- Interest in the latest technologies and software development practices
- Prior experience in pricing or market making is an asset
Nice to have
- Static, dynamic and web analysis tools (e.g. Checkmarx, SonarQube, OWASP ZAP, Clair)
- Serverless architecture and cloud-agnostic tools
- GitLab, Jira and CI/CD tooling (Jenkins, Artifactory, Ansible)
- Stream processing (Kafka, Spark)
- Performance analysis, instrumentation and visualization tools (Prometheus, Grafana, Kiali)
- Linux server / VM administration
- Kubernetes cluster deployment and administration
Other details
- Contract: 12 months, renewable
- Start date: ASAP
- Languages: English required, French is an asset
- Schedule: Canada (Québec) business calendar
- Work mode: hybrid, 3 days per week on-site after 2 months, at the manager's discretion
Interested? Apply directly or send your CV to the Novaren Solutions team. All applications are handled confidentially.