Take a central role
The Bank of Canada has a vision to be “a leading central bank—dynamic, engaged and trusted—committed to a better Canada.” No other employer in the country offers you the unique opportunity to work at the very center of Canada’s economy, in a diverse and inclusive organization with significant impact on the economic and financial well-being of all Canadians. You will be challenged, energized and motivated to excel in an environment where we are reinventing central banking, renewing ways of doing business and reinforcing a culture of innovation.
About the position
We are seeking individuals who possess a background in software development with strong interpersonal skills to join a Scrum Team of dedicated and innovative professionals.
The Banking Operations and Financial Markets Portfolio provides the applications, software, hardware and technical support to the business functions of the Funds Management and Banking and Financial Markets departments. You support this portfolio in creating and updating critical financial, trading, and market collection systems, supporting major financial institutions, central banks and the citizens of Canada. You will work in a full Java Enterprise & Agile environment.
Your future responsibilities
- Collaborate with the Scrum Team to:
- Understand the implementation of features by questioning how those features will handle various scenarios;
- Develop unit tests (automated or otherwise) for the product;
- Create and contribute to mechanisms to enable effective and consistent coding practices;
- Break down work to the smallest valuable and feasible increment;
- Estimate capacity, velocity and throughput to enable accurate forecasting;
- Help improve backlog clarity and maintenance processes;
- Research, evaluate and make recommendations that support or improve Scrum Team processes;
- Write the necessary amount of documentation to support the ongoing usage of the products developed by the Scrum Team;
- Utilize your development experience and expertise to:
- Understand the development framework and coach others in its usage;
- Ensure that automated tests are performed at the correct level (unit, service or UI layer);
- Design and deliver software development workshops and practice sessions for other team members;
- Inspire others to identify the motivating aspects of development;
- Research, evaluate and recommend tools and services that support or improve development;
Your education and experience
- Developer: bachelor’s degree or three-year college diploma in computer science, software development or a relevant field and a minimum of 4 years of experience in applications development and systems integration
- Senior Developer: bachelor’s degree or three-year college diploma in computer science, software development or a relevant field and a minimum of 6 years of experience in applications development and systems integration
- An equivalent combination of education and experience may be considered
Your knowledge and skills
As a Scrum Team Member specializing in Software Development:
- You are an effective communicator, self-starter and team player with an affinity for continued learning and self-improvement;
- You think innovatively to find solutions to complex problems and act as a change contributor;
- You support Agile thinking as the norm;
- You contribute to a safe environment for healthy conflict and meaningful collaboration;
- You enjoy working in rapidly changing environments;
- You cultivate trust by contributing to a safe environment for healthy conflict and meaningful collaboration;
- You foster a culture of continuous improvement by coaching and mentoring others;
You have experience in the following:
- JEE application development (such as ThymeLeaf technology, EJB, Servlet, JSP, JDBC, JMS, JMX, JTA, JCA, JSF or JSTL);
- Apache Commons library, Oracle Advanced Queueing, Drools (or equivalent rules engine), Java EE deployment, log4j, Jenkins, Git, GitHUB, JIRA or SVN and DevOPS tools;
- Java JPA ORMs such as Hibernate and EclipseLink;
- Spring, Spring MVC, Spring Security and Bean Validation;
- Test Driven Development (TDD) and tools such as Junit and Mockito and Arquillian testing framework;
- Strong relational database skills (SQL), including experience with writing stored procedures;
- Hands-on experience with production support, code optimization and performance tuning across application layers;
- Experience integrating and testing web applications with other systems;
- Experience developing and maintaining automated deployment scripts;
- Experience with QA methods and best practices;
- Experience using source-control software to manage group software projects;
- Experience analyzing customer needs and converting them to User Stories;
- Experience modelling business processes;
English or French essential
What you can expect from us
- Starting salaries are based on qualifications and experience and typically range from $79,887 to $93,201 (job grade 16).
- Depending on performance, you may be eligible for performance pay for successfully meeting (5 to 7% of your base salary) or for exceeding expectations (10% of your base salary). Exceptional performers who far exceed expectations may be eligible for higher performance pay.
- Starting salaries are based on qualifications and experience and typically range from $84,968 to $104,960 (job grade 17).
- Depending on performance, you may be eligible for performance pay for successfully meeting (7 to 10% of your base salary) or for exceeding expectations (15% of your base salary). Exceptional performers who far exceed expectations may be eligible for higher performance pay.
- Flexible and comprehensive benefits so you can choose the level of health and dental coverage that meets your needs
- Extra vacation days (up to five each year) that you can purchase to add to your vacation entitlement
- Option to join the indexed, defined-benefit pension plan after 24 consecutive months of service
For more information on key benefits, please visit www.bankofcanada.ca/careers/working-here.
- Priority will be given to Canadian citizens and permanent residents
- Security level required: Reliability
- Relocation assistance may be provided, if required
- The official title for this position is “Developer / Senior Developer”
We encourage applications from women, Indigenous peoples, veterans, persons with disabilities, members of visible minorities and persons of all races, ethnic origins, religions, abilities, sexual orientations, and gender identities and expressions.
We wish to thank all applicants for their interest and effort in applying for this position; however, only candidates selected for interviews will be contacted.