C# / C++ Developpeur (Real Time expert)
- Montreal, QC, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Posting language
- English
- Posted
Original job description
About the Role & Context
You will join the IT team, which delivers mission-critical pricing and risk calculation capabilities across the bank, ranging from Front Office operations to Regulatory Risk reporting. In this role, you will interface directly with business stakeholders, including Risk Quantitative Analysts, Front Office teams, and Risk Managers, to drive technical enhancements.
Handling massive and expanding daily data volumes, the team continuously implements cutting-edge solutions to scale compute and data storage capabilities in response to growing trade portfolios and regulatory requirements.
Technical Environment-
Core Architecture: Distributed .NET services combined with relational and distributed databases, featuring a high-performance caching layer powered by Couchbase.
-
Real-Time Engine: Low-latency frameworks (Streaming, Contribution, flows, pre-trade) predominantly implemented in modern C++.
-
Grid & Cloud Infrastructure: Transitioning from IBM Symphony to ArmoniK (an open-source, cloud-compatible grid manager), while actively designing and deploying cloud-native and burst-to-cloud architectures.
-
Design, build, benchmark, and maintain high-performance computing middleware and distributed systems.
-
Review, optimize, and evolve the real-time C++ framework to ensure ultra-low latency and resilience.
-
Implement and scale grid-computing and cloud-native components.
-
Profile, monitor, and fine-tune multithreaded systems for production stability and peak efficiency.
-
Actively contribute to architectural governance, project roadmaps, and technical best practices.
Mandatory Qualifications
-
Technical Expertise: Strong proficiency in developing distributed services with C++ and C# / .NET Core.
-
System Design & Performance: Proven aptitude for system design, code profiling, memory/performance tuning, and debugging in production environments.
-
Concurrency & Parallelism: Strong command of multithreaded systems, parallel algorithms, and multi-core processor architectures.
-
Low Latency / Real-Time: Proven track record in real-time software development in C++, ideally within electronic trading, capital markets, or financial exchanges.
-
Production Operations: Solid experience with distributed system monitoring, instrumentation, and real-time production support.
-
Soft Skills: High autonomy, problem-solving mindset, and excellent verbal and written communication skills.
-
Curiosity: Keen interest in modern software engineering practices, cloud patterns, and emerging technologies.
-
Domain Knowledge: Basic understanding of financial instruments, pricing mechanisms, or market-making workflows.
-
Cloud & Serverless: Experience with cloud-agnostic tools, serverless design patterns, or major cloud platforms (AWS, Azure, GCP).
-
Containers & Orchestration: Hands-on experience with Docker, Linux environments (servers/VMs), and deploying/managing Kubernetes clusters.
-
Data Streaming: Familiarity with stream-processing and event-driven frameworks (e.g., Apache Kafka, Apache Spark).
-
CI/CD & DevOps Tools: Practical knowledge of GitLab, Jira, Jenkins, Artifactory, Ansible, and automated pipelines.
-
Monitoring & Observability: Experience with Prometheus, Grafana, Kiali, or equivalent distributed telemetry tools.
-
Code Quality & Security: Familiarity with static/dynamic analysis tools (e.g., SonarQube, Checkmarx, OWASP ZAP, Clair).
More about this job
Responsibilities
Design, build, benchmark, and maintain high-performance distributed systems and computing middleware, while optimizing the real-time C++ framework for low latency and resilience. Develop grid-computing and cloud-native components, tune multithreaded systems for production, and contribute to architecture, roadmaps, and technical practices.
Requirements
Requires strong C++ and C#/.NET Core development skills, experience designing and tuning distributed, multithreaded systems, and a proven background in low-latency real-time C++ software. Candidates should also have production monitoring and support experience, communication and problem-solving skills, and basic knowledge of financial instruments or market workflows.
Skills
- C++
- C#
- .NET Core
- Distributed Systems
- System Design
- Performance Profiling
- Memory Optimization
- Multithreading
- Parallel Algorithms
- Real-Time Software Development
- Low-Latency Systems
- Production Monitoring
- Cloud-Native Architecture
- Grid Computing
- Financial Markets
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Finance & Accounting
- Data & Analytics
Keywords
- C++
- C#
- .NET Core
- Distributed Services
- Relational Databases
- Distributed Databases
- Couchbase
- Real-Time Systems
- Low-Latency Frameworks
- Streaming
- Pre-Trade Systems
- Grid Computing
- IBM Symphony
- ArmoniK
- Cloud-Native Architecture
- Burst-to-Cloud
- Multithreading
- Parallel Algorithms
- Performance Profiling
- Production Monitoring
- Electronic Trading
- Capital Markets
- AWS
- Azure
- Google Cloud Platform
- Docker
- Linux
- Kubernetes
- Apache Kafka
- Apache Spark