Job Family Group :
TechnologyUnderstands 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.
Assesses impact of design decisions to the computer 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.
Recommends and implements solutions based on analysis of issues and implications for the business.
Identifies emerging issues and trends to inform decision-making.
Leads and implements initiatives as required to deliver business objectives.
Conducts independent analysis and assessment to resolve strategic issues.
Builds effective relationships with internal / external stakeholders and ensures alignment.
Monitors and tracks performance, and addresses any issues.
Leads / conducts detailed code-reviews and provides feedback in a constructive manner.
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.
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 5 - 7 years of relevant experience and / or certification in related field of study or an equivalent combination of education and experience.
Advanced 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.
Deep knowledge and technical proficiency gained through extensive education and business experience.
Verbal & written communication skills - In-depth.
Collaboration & team skills - In-depth.
Analytical and problem solving skills - In-depth.
4+ years degree in computer science
Proven experience in building enterprise application framework
8+ years of experience in Core Java, Collections Framework, Concurrent Programming, Experience with Spring framework, Spring boot, multi-threading, testing frameworks including Junit
5+ years of experience in Oracle / PostrgeSQL
Knowledge on any MPP database is highly preferred
5+ years of software development experience in JEE platform
Excellent knowledge of building server-side RESTful applications, Micro-services
Strong knowledge in Jasper reports
Good understanding on DevOps Tools
Strong working experience in Message (IBM MQ / Kafka)
Strong understanding on the Sun Solaris, Unix and windows OS
Capital market knowledge is must