Success at BMO is driven by our focus on customers, effective financial management and risk & control as well as living Being BMO every day. The following statements for customer, financial, risk and change/improve apply to every job.
Core: Understands that the success of a developer is to understand the core business processes of the business unit and business requirements as well as the architecture patterns and technology strategy (e.g., transformation, smart core, dev ops). Conceive and write detailed software implementations/code while ensuring that their code/configurations adhere to the security, logging, error handling, and performance standards and non-functional requirements. Writes, configures, and integrates code to create the software that aligns with architecture patterns and technology strategy.
System Engineering: Understands the implications of various components (including technology strategy & architecture) to the overall design of a program, system, or eco-system. Evaluates new technologies for fit with the program/system/eco-system and the associated upstream and downstream impacts on process, data, risk (e.g., security).
Testing/ Quality Assurance: Works toward the objective of defect free software. Ensures that systems functionally meet requirements, align with architecture and promote the development of common assets.
Production Support: Supports the resolution of production issues and problems. Make recommendations to improve BMO processes & systems.
Specific technical requirements: Has expert level working knowledge of the following,
Acts as a thought leader in development, builds deeper relationships with key stakeholders, and demonstrates expert-level skills in coding across multiple languages, LOB's, and/or technology areas.
Reviews and approves requirements and design for a domain
Accountable for overall code quality, ensures code is reviewed, reusable and testable, meeting architectural-design and customer requirements.
Leads workshops to develop solutions from a program perspective in association with all interdependent systems.
Has expert knowledge to influence and set corporate direction for software development practice, concepts, technology and methodology.
Assesses impact of design decisions to the computer solution/product/service being developed (performance, schedule, budget, downstream component/system impact, quality, etc.) and recommends alternate/creative solutions for mitigation/optimization if required.
Leads / conducts detailed code-reviews and provides feedback in a constructive manner.
Interacts with key business & technology stakeholders to define, analyze, and deliver requirements that reflect the needs of both the business and end-customers
Decomposes business requirements and translate them into detailed design specifications and code
Assesses the costs and benefits for different solutions and recommends / decides on appropriate designs
Designs solutions, writes code, performs unit testing, develops appropriate artefacts / documentation, and facilitates final delivery
Conceives and writes detailed software implementations/code while ensuring that their code/configurations adhere to the security, logging, error handling, and performance standards and non-functional requirements
Builds solutions that are supportable, scalable and achieve our aspiration of common assets, use the enterprise monitoring/logging, require minimal to zero maintenance and are aligned with architectural patterns and technology strategy
Devises new algorithms and data structures for target environment and platform attributes in alignment with architectural patterns
Recommends or automates approaches to streamline and integrates technological processes and/or systems to improve operational efficiency and effectiveness
Supports production issues, including Independently completes root-cause analysis and diagnosis
Evaluates new technologies for fit with the program/system/eco-system and the associated upstream and downstream impacts on process, data, risk (e.g., security).
Works toward the objective of defect free software. Ensures that systems functionally meet requirements, aligns with architecture and promotes the development of common assets.
Supports the resolution of production issues and problems. Makes recommendations to improve BMO processes & systems.
Supports the management of specific project deliverables & outcomes, including managing small projects to completion, as required to deliver business objectives
Identifies opportunities to strengthen the capability at BMO, such as: sharing expertise to promote technical development, mentoring employees, building communities of practice and networks across technology.
Stays abreast of industry technical and business trends through participation in professional associations, practice communities & individual learning