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