Senior Software Developer

BMOToronto, ON
CA$75,900 - CA$141,900

About The Position

Drives the overall software development lifecycle including working across functional teams to transform requirements into features, managing development teams and processes, and conducting software testing and maintenance. Specific project areas of focus includes translating user requirements into technical specifications, writing code and managing the preparation of design specifications. Supports system design, provides advice on security requirements and debugs business systems and service applications. Applies deep knowledge of algorithms, data structures and programming languages to develop high quality technology applications and services - including tools, standards, and relevant software platforms based on business requirements. Translates user needs into technical specifications by understanding, conceptualizing, and facilitating technical requirements from user. Analyzes, develops, tests, and implements new software programs, and documentation of entire software development life cycle execution. Performs preventative and corrective maintenance, troubleshooting and fault rectification of system and core software components. Ensures that code/configurations adhere to the security, logging, error handling, and performance standards and non-functional requirements. Evaluates new technologies for fit with the program/system/eco-system and the associated upstream and downstream impacts on process, data, and risk. Follows release management processes and standards, and applies version controls. Assists in interpreting and documentation of client requirements. Focus is primarily on business/group within BMO; may have broader, enterprise-wide focus. Provides specialized consulting, analytical and technical support. Exercises judgment to identify, diagnose, and solve problems within given rules. Works independently and regularly handles non-routine situations. Broader work or accountabilities may be assigned as needed. Take measured risks while protecting the bank by applying our Risk Management Framework in the execution of your role, in line with our Risk Culture and within our approved Risk Appetite, making sound and risk informed decisions that align to business strategy, protect assets, and adhere to applicable policy documents (Frameworks, Policies, Standards, Procedures and Supporting documents), laws and regulations.

Requirements

  • 5-10 years of C# development experience
  • Banking / Financial industry experience preferred
  • Knowledge of VaR and financial instruments
  • Market Risk experience would be ideal
  • Foundational level of proficiency: Creative thinking. Building and managing relationships. Emotional agility.
  • Intermediate level of proficiency: Quality Assurance and Testing. Cloud computing. Microservices. Technology Business Requirements Definition, Analysis and Mapping. Adaptability. Learning Agility. Verbal & written communication skills. Collaboration & team skills. Analytical and problem solving skills. Data driven decision making.
  • Advanced level of proficiency: Programming. Applications Integration. Test Driven Development. System Development Lifecycle. Troubleshooting. System and Technology Integration.
  • Typically between 5 - 7 years of relevant experience and post-secondary degree in related field of study or an equivalent combination of education and experience.
  • Deep knowledge and technical proficiency gained through extensive education and business experience.

Responsibilities

  • Drives the overall software development lifecycle including working across functional teams to transform requirements into features, managing development teams and processes, and conducting software testing and maintenance.
  • Translates user requirements into technical specifications, writing code and managing the preparation of design specifications.
  • Supports system design, provides advice on security requirements and debugs business systems and service applications.
  • Applies deep knowledge of algorithms, data structures and programming languages to develop high quality technology applications and services - including tools, standards, and relevant software platforms based on business requirements.
  • Translates user needs into technical specifications by understanding, conceptualizing, and facilitating technical requirements from user.
  • Analyzes, develops, tests, and implements new software programs, and documentation of entire software development life cycle execution.
  • Performs preventative and corrective maintenance, troubleshooting and fault rectification of system and core software components.
  • Ensures that code/configurations adhere to the security, logging, error handling, and performance standards and non-functional requirements.
  • Evaluates new technologies for fit with the program/system/eco-system and the associated upstream and downstream impacts on process, data, and risk.
  • Follows release management processes and standards, and applies version controls.
  • Assists in interpreting and documentation of client requirements.
  • Provides specialized consulting, analytical and technical support.
  • Exercises judgment to identify, diagnose, and solve problems within given rules.
  • Works independently and regularly handles non-routine situations.
  • Broader work or accountabilities may be assigned as needed.
  • Take measured risks while protecting the bank by applying our Risk Management Framework in the execution of your role, in line with our Risk Culture and within our approved Risk Appetite, making sound and risk informed decisions that align to business strategy, protect assets, and adhere to applicable policy documents (Frameworks, Policies, Standards, Procedures and Supporting documents), laws and regulations.

Benefits

  • health insurance
  • tuition reimbursement
  • accident and life insurance
  • retirement savings plans
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service