Associate Software Engineer C#
BMO Capital Markets
Job Overview
Who's the hiring manager?
Sign up to PitchMeAI to discover the hiring manager's details for this job. We will also write them an intro email for you.

Job Description
About BMO Capital Markets
BMO Capital Markets is a leading, full-service financial services provider, offering corporate and investment banking, treasury management, as well as research and advisory services to clients around the world. #bmocapitalmarkets
As an Associate Software Engineer C# within the Quantitative Engineering team at BMO Global Markets, you will have the unique opportunity to enhance the analytics library used in trading applications across Global Markets. This role focuses on applications that work with real-time trade and market data for live risk calculations.
Our Approach
Following our DevOps model, we believe in a hands-on approach, where team members take ownership of their work from start to finish. We place strong emphasis on testing, automation, metrics, and monitoring, which allows us to develop and run a large portfolio of trading tools.
You will directly interact with and be accountable to the trading desks that use the applications we build, ensuring your contributions directly impact their success. This is a fantastic opportunity for talented professionals passionate about technology and ready for a rewarding role in the fast-paced world of trading.
Qualifications
- Bachelor's or advanced degree in a technical field such as Computer Science, Mathematics, Physics, or Engineering
- Strong experience with modern C# development and object-oriented programming
- 0-5 years of experience in Capital Markets
- Experience with distributed systems and microservices architecture
- Familiarity with cloud-based technologies such as AWS and Kubernetes
- Knowledge of messaging technologies such as Kafka and ActiveMQ
- Expert with Windows and Linux operating systems
- Experience with continuous integration and deployment tools such as Jenkins, Git, and Gitlab
- Strong analytical and problem-solving skills
Responsibilities
- Design and develop high-performance software applications using C#
- Develop distributed systems and microservices that can operate at scale
- Utilize AWS, Kubernetes, and other cloud-based technologies to build and deploy applications
- Develop and maintain messaging systems using Kafka and ActiveMQ
- Implement monitoring and logging solutions using Prometheus, Grafana, and Kibana
- Participate in code reviews, unit testing, and other quality assurance activities
- Work collaboratively with cross-functional teams to develop and deploy new features
- Maintain and support existing applications and systems
- Stay up to date with the latest industry trends and emerging technologies to ensure our products remain competitive and innovative
Core Technologies
- Programming Languages: C#, Java, JavaScript, Python
- Operating Systems: Windows, Linux
- Container Orchestration: Kubernetes
- Monitoring and Logging: Prometheus, Grafana, Kibana
- CI/CD Tools: Jenkins, Git, Gitlab, Ansible
Nice to Have
Understanding of financial pricing models and valuation of derivative products.
Skill Testing Requirement
To ensure we attract top talent, all applicants are required to complete a skill testing problem. Please solve the following coding challenge using C#: https://coderbyte.com/sl-candidate?promo=bankofmontreal-e134q:software-engine-shhlhqhkt9. Important: Applications that do not include a working solution to the above problem will not be considered. Make sure to include your solution in your application to demonstrate your coding skills and problem-solving abilities.
Key skills/competency
- C# Programming
- Object-Oriented Programming
- Distributed Systems
- Microservices
- Cloud Computing (AWS, Kubernetes)
- Messaging Technologies (Kafka, ActiveMQ)
- DevOps
- Real-time Data Processing
- Financial Markets
- Problem-Solving
How to Get Hired at BMO Capital Markets
- Research BMO Capital Markets' culture: Study their mission, values, recent news, and employee testimonials on LinkedIn and Glassdoor to align with their purpose.
- Tailor your resume for an Associate Software Engineer C# role: Highlight strong C# expertise, experience with distributed systems, cloud technologies like AWS and Kubernetes, and any exposure to financial markets.
- Solve the Coderbyte challenge diligently: Your C# coding solution is a critical gate; submit a working, well-tested problem to demonstrate your problem-solving and coding prowess.
- Prepare for technical interviews: Focus on C# specifics, object-oriented design principles, data structures, algorithms, and system design concepts, especially related to real-time financial applications.
- Showcase your passion for financial technology: Be ready to articulate how your skills and interests align with enhancing trading analytics and processing market data in a fast-paced environment.
Frequently Asked Questions
Find answers to common questions about this job opportunity
Explore similar opportunities that match your background