BMO is a financial institution committed to creating lasting, positive change. They are seeking a Junior Application Developer to drive the software development lifecycle, manage development teams, and ensure high-quality technology applications and services.
Drives the overall software development lifecycle including working across functional teams to transform requirements into features, managing development teams and processes, and conducting software testing and maintenance
Specific project areas of focus includes translating user requirements into technical specifications, writing code and managing the preparation of design specifications
Supports system design, provides advice on security requirements and debugs business systems and service applications
Applies deep knowledge of algorithms, data structures and programming languages to develop high quality technology applications and services - including tools, standards, and relevant software platforms based on business requirements
Translates user needs into technical specifications by understanding, conceptualizing, and facilitating technical requirements from user
Analyzes, develops, tests, and implements new software programs, and documentation of entire software development life cycle execution
Performs preventative and corrective maintenance, troubleshooting and fault rectification of system and core software components
Ensures that code/configurations adhere to the security, logging, error handling, and performance standards and non-functional requirements
Evaluates new technologies for fit with the program/system/eco-system and the associated upstream and downstream impacts on process, data, and risk
Follows release management processes and standards, and applies version controls
Assists in interpreting and documentation of client requirements
Focus is primarily on business/group within BMO; may have broader, enterprise-wide focus
Exercises judgment to identify, diagnose, and solve problems within given rules
Works independently on a range of complex tasks, which may include unique situations
Broader work or accountabilities may be assigned as needed
Qualification
Required
Experience with Agile/Scrum methodologies
Bachelor's Degree in Computer Science
Typically between 1-3 years of relevant experience as application developer (Java stack)
Proficiency in Java (8/11/17+), object-oriented programming, and design patterns
Application security and performance tuning
RDBMS and Database technologies for designing and performance tuning, including SQL and No-SQL