Key Accountabilities :
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-
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
Core Knowledge :
Generally 4-7 years of work experience in IT or business environment and / or BS / BA or MBA / MS in computer science, engineering, information systems, math or business
Knowledge of software development practices, concepts, and technology obtained through formal training and / or work experience.
Knowledge of required programming languages and can code with little oversight
Understands core business processes and business requirements as well as the architecture patterns and technology strategy (e.
g., transformation, smart core, dev ops)
Understands the implications of various components (including technology strategy & architecture) to the overall design of a program, system, or eco-system
Knowledge of technical / business environment and processes
Understands functional aspects and technical behavior of the underlying operating system, development environment, and deployment practices
Have facility with and understanding of the ecosystem that code operates in