As a Full Stack Engineer, you will build and maintain applications that customers and advisors rely on. Working alongside an experienced team, you will contribute across the full technology stack to deliver secure, reliable and user-centred solutions that support business objectives.
You will translate requirements into working software through incremental delivery and take ownership of your deliverables from end to end. This includes contributing to solution design, writing and testing code, and supporting applications in production.
You will work independently on most assignments while collaborating with senior engineers when addressing new or complex challenges. This role is well suited to an engineer who wants to strengthen their technical capabilities, take meaningful ownership of their work and continue developing within a team that values engineering quality.
Position Responsibilities:
- Develop, test, deliver, maintain and improve business applications across the full stack and throughout the software development lifecycle.
- Develop and maintain user interfaces, databases, APIs, server-side logic, and other front-end and back-end components.
- Apply disciplined coding practices, design patterns, automation and semantic versioning to produce high-quality, maintainable code.
- Contribute to detailed system-design specifications that support system and application development.
- Write automated tests and contribute to test harnesses that help ensure solutions meet technical standards and user requirements.
- Conduct investigative spikes to reduce technical uncertainty and manage risk within assigned work.
- Resolve software defects and improve application efficiency, reliability and maintainability.
- Participate in incident response and support root-cause analysis within your area of responsibility.
- Identify technical debt and raise it for review and prioritization.
- Participate in ideation and prototyping to develop creative digital solutions.
- Complete required deployment, maintenance, support and business documentation, including runbooks for the features you develop.
- Participate in peer reviews of code and technical analysis to support continuous learning and improvement.
Required Qualifications:
- 3–5 years of experience as a Full Stack Engineer, including hands-on delivery across front-end and back-end components.
- Practical experience across the following core technologies. Additional breadth is welcomed but is not required:
- Languages and runtimes: Java or TypeScript/JavaScript, Node.js and SQL.
- Back-end frameworks: Spring Boot, NestJS or Express.js.
- Front-end development: React, CSS, Tailwind or SCSS, component or design libraries, and React state management and data fetching.
- Integration and APIs: REST APIs, OpenAPI and a working understanding of microservices.
- Data and storage: Microsoft SQL Server or Azure SQL and relational data modelling.
- Cloud, build and source control: Microsoft Azure fundamentals, Docker, containers, Git or GitHub, and GitHub Actions.
- Testing and quality: JUnit, Jest or Vitest; API-testing tools such as Bruno or REST Assured; and SonarQube.
- Understanding of Agile and DevOps principles, including development practices that prioritize testing and continuous integration.
- A solid foundation in data structures, algorithms and object-oriented design.
- Clear written and verbal communication skills, with the ability to explain technical approaches and reasoning to team members and partners.
- Demonstrated ability to work independently on assigned deliverables while recognizing when collaboration or additional support is needed.
Preferred Qualifications:
- Experience with any of the following would be considered an asset:
- Cloud and platform: Kubernetes or Azure Kubernetes Service (AKS), Azure API Management, Azure Key Vault, and infrastructure as code using Terraform.
- Front-end and user experience: Micro-frontends, Next.js, Web Content Accessibility Guidelines (WCAG), internationalization for English and Canadian French, or Adobe Experience Manager.
- Back-end and eventing: Spring Security, Spring Data JPA or Hibernate, Spring Batch, Azure Functions, Azure Event Hubs, Azure Service Bus or JMS.
- Data and storage: Azure Cosmos DB, MongoDB, Redis, Flyway, Databricks, Spark, Azure Data Factory, ETL or data pipelines.
- Security and identity: OAuth 2.0, OpenID Connect, JSON Web Tokens, OWASP secure-coding practices, dependency or CVE management using Snyk, and the protection of personally identifiable information.
- Observability: New Relic, Application Insights, structured logging or distributed tracing.
- Testing and quality: Playwright or Selenium for end-to-end testing, Xray test management, or performance and load testing.
- Legacy integration: z/OS Connect, DB2, batch-file processing or SFTP.
- Additional programming languages: Python, C# or .NET.
- AI-assisted engineering: GitHub Copilot or a comparable development tool, including prompt and context engineering.
- A demonstrated commitment to continuous learning and professional growth through both successes and challenges.
- Strong organizational, analytical and problem-solving skills.
- Curiosity about the business needs behind technical requirements.
- Experience supporting your own code in a production environment.
When you join our team:
- We’ll empower you to learn and grow the career you want.
- We’ll recognize and support you in a flexible environment where well-being and inclusion are more than just words.
- As part of our distributed team, we’ll support you in shaping the future you want to see.
The role being advertised is an existing vacancy.
About Manulife and John Hancock
Manulife Financial Corporation is a leading international financial services provider, helping people make their decisions easier and lives better. To learn more about us, visit https://www.manulife.com/en/about/our-story.html.
Manulife is an Equal Opportunity Employer
At Manulife/John Hancock, we embrace our diversity. We strive to attract, develop and retain a workforce that is as diverse as the customers we serve and to foster an inclusive work environment that embraces the strength of cultures and individuals. We are committed to fair recruitment, retention, advancement and compensation, and we administer all of our practices and programs without discrimination on the basis of race, ancestry, place of origin, colour, ethnic origin, citizenship, religion or religious beliefs, creed, sex (including pregnancy and pregnancy-related conditions), sexual orientation, genetic characteristics, veteran status, gender identity, gender expression, age, marital status, family status, disability, or any other ground protected by applicable law.
It is our priority to remove barriers to provide equal access to employment. A Human Resources representative will work with applicants who request a reasonable accommodation during the application process. All information shared during the accommodation request process will be stored and used in a manner that is consistent with applicable laws and Manulife/John Hancock policies. To request a reasonable accommodation in the application process, contact hr@manulife.com.
Referenced Salary Location
Waterloo, Ontario
Working Arrangement
Hybrid
Salary range is expected to be between
$86,100.00 CAD - $136,100.00 CAD
Employees also have the opportunity to participate in incentive programs and earn incentive compensation tied to business and individual performance. The actual salary will vary depending on local market conditions, geography and relevant job-related factors such as knowledge, skills, qualifications, experience, and education/training. If you are applying for this role outside of the primary location, please contact hr@manulife.com for the salary range for your location.
Manulife offers eligible employees a wide array of customizable benefits, including health, dental, mental health, vision, short- and long-term disability, life and AD&D insurance coverage, adoption/surrogacy and wellness benefits, and employee/family assistance plans. We also offer eligible employees various retirement savings plans (including pension and a global share ownership plan with employer matching contributions) and financial education and counseling resources. Our generous paid time off program in Canada includes holidays, vacation, personal, and sick days, and we offer the full range of statutory leaves of absence. If you are applying for this role in the U.S., please contact hr@manulife.com for more information about U.S.-specific paid time off provisions.
We use data and analytics technologies, such as artificial intelligence (AI), and automated processing tools, to analyze and process the information you provide to us or third parties in the application process. For more information, please refer to our personal information collection statement.