100 King Street West
Job Family Group:
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, SmartCore, DevOps). 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. 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.
- 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.
- Provides strategic input into business decisions as a trusted advisor.
- May network with industry contacts to gain competitive insights and best practices.
- Has expert knowledge to influence and set corporate direction for software development practice, concepts, technology and methodology.
- Manages resources and leads the execution of strategic initiatives to deliver on business and financial goals.
- Acts as the prime subject matter expert for internal/external stakeholders.
- Monitors and tracks performance, and addresses any issues.
- Ensures code is reviewed, reusable and testable, meeting architectural-design and customer requirements; accountable for overall code quality.
- Leads workshops to develop solutions from a program perspective in association with all interdependent systems.
- Decomposes business requirements and translates them into detailed design specifications and code.
- Interacts with key business & technology stakeholders to define, analyze, and deliver requirements that reflect the needs of both the business and end-customers.
- Assesses the costs and benefits for different solutions and recommend/decide on appropriate designs.
- Designs solutions, writes code, performs unit testing, develops appropriate artefacts / 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.
- Identifies opportunities to strengthen the development capability, such as: sharing expertise to promote technical development, mentoring employees, building communities of practice and networks.
- Stays abreast of industry technical and business trends through participation in professional associations, practice communities & individual learning.
- Operates at a group/enterprise-wide level and serves as a specialist resource to senior leaders and stakeholders.
- Applies expertise and thinks creatively to address unique or ambiguous situations and to find solutions to problems that can be complex and non-routine.
- Implements changes in response to shifting trends.
- Broader work or accountabilities may be assigned as needed.
- Typically 8+ years of relevant experience and post-secondary degree in related field of study or an equivalent combination of education and experience using C# or Java
- Multi-threading, LINQ, collections and delegates, GUI design and implementation, SQL, ODBC, database technology experience is desired.
- Strong background in scientific computing, an understanding of financial markets.
- Should have a special interest in performance tuning, system scalability, cloud computing, big data, asynchronous application design and development.
- Proactive, dynamic personality, able to thrive in a fast-paced environment and must be able to work in a team, self-starter. Must have excellent written and oral communications ability.
- Knowledge of Market, Credit risk, Fixed Income instruments and financial reporting.
- Expert level of knowledge in domain
- 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.
- Knowledge of technical/business environment and processes.
- Understand 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.
- Seasoned professional with a combination of education, experience and industry knowledge.
- Verbal & written communication skills - In-depth / Expert.
- Analytical and problem solving skills - In-depth / Expert.
- Influence skills - In-depth / Expert.
- Collaboration & team skills; with a focus on cross-group collaboration - In-depth / Expert.
- Able to manage ambiguity.
- Data driven decision making - In-depth / Expert.
We're here to help
- Design, develop and test software which interacts with our front office quantitative library.
- Cloud computing
- Analyze system performance bottlenecks and propose design improvements to improve performance.
- Provide coaching and leadership to junior team members.
- Participate in design and code reviews in order to maintain high code quality.
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.