777 Bay Street, Suite 2200
Job Family Group:
As a senior application security testing engineer, you will be part of a team responsible for finding, providing and enhancing tools/techniques for developers to use for the detection and remediation of software security flaws. You will mentor and guide other professionals through the best practices for application security testing and collaborate with developers and CI/CD engineers to plan, evaluate and recommend changes to enhance these services.
Writes, configures, and integrates code to create the software that runs the company. 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, DevOps). 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. Writes, configures, and integrates code to create the software that aligns with architecture patterns and technology strategy. 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). Works toward the objective of defect free software. Ensures that systems functionally meet requirements, align with architecture and promote the development of common assets. Supports the resolution of production issues and problems. Makes recommendations to improve BMO processes & systems.
We're here to help
- Assesses impact of design decisions to the solution/product/service being developed (i.e. performance, schedule, budget, downstream component/system impact, quality, etc.) and recommends alternate/creative solutions for mitigation/optimization if required.
- Leads/conducts 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 translates them into detailed design specifications and code.
- Assesses the costs and benefits for different solutions and recommend/decide on appropriate designs.
- Designs solutions, writes code, performs unit testing, develops appropriate artifacts / documentation, and facilitates final delivery.
- Supports production issues, includes independently completing root-cause analysis and diagnosis.
- Devises new algorithms and data structures for target environment and platform attributes in alignment with architectural patterns.
- Builds solutions that are supportable, scalable and achieve our aspiration of common assets.
- Recommends or automates approaches to streamline and integrate technological processes and/or systems to improve operational efficiency and effectiveness.
- Supports the management of specific project deliverables & outcomes, including managing small projects to completion, as required to deliver business objectives.
- Promote adherence to standards and the common way (Software Development Life Cycle).
- Identifies opportunities to strengthen the capability of the technology organization 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.
- 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.
- Typically between 4 - 7 years of relevant experience and a post-secondary degree in Computer Science or Information Systems or a related field of study or an equivalent combination of education and experience.
- Information Security certification is preferred e.g. CISSP, CISSLP, GIAC etc.
- Knowledge of a wide array of coding languages (e.g. COBOL, C, C#, C++, JAVA, etc.) and can code with little oversight - In-depth.
- Knowledge of different rapid development processes, e.g. Waterfall, Agile, etc. - In-depth.
- Knowledge of coding vulnerabilities, frameworks, patching processes - In-depth.
- Certification and in depth knowledge of specialist area of software.
- Knowledge of Information Security risk and industry best practices - In-depth.
- Knowledge of Corporate Policies, Standards, and operating procedures relating to information security risk - In-depth.
- Knowledge of technical/business environment and processes - In-depth.
- Understand functional aspects and technical behavior of the underlying operating system, development environment, and deployment practices - In-depth.
- Have facility with and understanding of the ecosystem that code operates in.
- Knowledge of OWASP or other secure coding forums - In-depth.
- Understands the principals of secure coding techniques and secure code reviews - In-depth.
- Familiar with code scanning software and vulnerability code scanning processes.
- Familiar with network protocols and networking infrastructure.
- Familiar with defense in depth concepts.
- Understanding of a risk based assessment approach - Working.
- Knowledge of the technical areas such as data warehouses, mainframes, networks, applications etc. - Working.
- Deep knowledge and technical proficiency gained through extensive education and business experience.
- 3-5 years software development experience using .NET or Java.
- Experience automating tasks using shell scripts, Python or other scripting languages.
- Experience testing, evaluating and reporting on tools and their ability to meet requirements and make recommendations.
- Knowledge and expertise in multi-tiered software architecture and mistakes.
- Understanding of varying SDLC practices (Waterfall, Scrum, Kanban, etc.).
- Experience with CI/CD toolsets and configurations.
At BMO we are driven by a shared Purpose: Boldly Grow the Good in business and life. It calls on us to create lasting, positive change for our customers, our communities and our people. By working together, innovating and pushing boundaries, we transform lives and businesses, and power economic growth around the world.
As a member of the BMO team you are valued, respected and heard, and you have more ways to grow and make an impact. We strive to help you make an impact from day one - for yourself and our customers. We'll support you with the tools and resources you need to reach new milestones, as you help our customers reach theirs. From in-depth training and coaching, to manager support and network-building opportunities, we'll help you gain valuable experience, and broaden your skillset.
To find out more visit us at https://bmocareers.com .
BMO is committed to an inclusive, equitable and accessible workplace. By learning from each other's differences, we gain strength through our people and our perspectives. Accommodations are available on request for candidates taking part in all aspects of the selection process. To request accommodation, please contact your recruiter.