4 days ago
Toronto, CanadaStaff+
Responsibilities
- Set technical direction for the design, development, testing, delivery, and continuous improvement of full-stack business applications.
- Lead end-to-end architecture across user interfaces, databases, APIs, and server-side logic for multiple teams and workstreams.
- Establish coding practices, design patterns, automation, semantic versioning, testing strategies, quality gates, and documentation standards.
- Create and review system design specifications and make architectural decisions through investigative spikes and technical analysis.
- Lead root-cause analysis for complex cross-system defects and drive improvements in reliability, efficiency, and maintainability.
- Own the technical debt and modernization roadmap and build support for required investments.
- Facilitate ideation, prototyping, design sessions, peer reviews, and knowledge transfer.
- Mentor engineers at different career levels, including senior engineers, and raise engineering standards across the organization.
- Represent the team’s technical position in architecture forums and with senior stakeholders and governance bodies.
Requirements
- 10+ years of experience as a Full Stack Software Engineer, including technical delivery leadership across multiple teams and ownership from design through production support.
- Deep expertise in several listed technologies, with working knowledge across additional areas; experience with Java, TypeScript, JavaScript, Node.js, Python, C#, .NET, and SQL is relevant.
- Experience with application and service architecture, architectural decision-making, complex technical programs, engineering standards, and cross-team dependencies.
- Experience mentoring engineers and supporting the growth of senior engineers.
- Deep knowledge of Agile and DevOps principles, testing, continuous integration, and rapid, safe releases.
- Expert-level foundation in data structures, algorithms, and object-oriented design.
- Strong written and verbal communication, sound judgment, and accountability when making consequential decisions with incomplete information.
- Preferred qualifications include experience with Next.js, Adobe Experience Manager, Spring Batch, Spring Cloud/Integration, Azure Functions, JMS, Databricks/Spark, Azure Data Factory, ETL and data pipelines, Azure Storage, KQL, Azure Data Explorer, Flux/GitOps, Istio, Azure Key Vault, legacy integration, performance testing, chaos testing, advanced AI engineering, platform migrations, vendor selection, regulated environments, community contributions, and formal architecture accreditation.
Benefits
- Flexible hybrid working arrangement in Waterloo, Ontario, as part of a distributed team.
- Learning, career growth, well-being, inclusion, and employee support programs.
- Eligible employees may receive health, dental, mental health, vision, disability, life, AD&D, adoption/surrogacy, wellness, and employee/family assistance benefits.
- Retirement savings plans, including pension and a global share ownership plan with employer matching contributions, plus financial education and counseling resources.
- Paid holidays, vacation, personal and sick days, and statutory leaves of absence in Canada.
- Opportunity to participate in incentive programs and earn incentive compensation tied to business and individual performance.
Tech Stack
Apache SparkAzureC#CSSDatabricksDockerExpressFlywayGitGitHub ActionsGradleHelmIBM DB2IstioJavaJavaScriptJestJUnitKubernetesMavenMicrosoft SQL ServerMongoDBNestJS.NETNext.jsNode.jsnpmPythonReactRedisSeleniumSonarQubeSpring BootSQLTailwind CSSTerraformTypeScript
Categories
About Manulife
Manulife is a Toronto‑headquartered public financial services company that provides life and health insurance, retirement plans, and wealth and asset management to individuals and institutions. It earns premiums and fee income from insurance, investment, and advisory products delivered across Canada, Asia, and Europe, and operates as John Hancock in the United States. Founded in 1887, the company is listed on the Toronto Stock Exchange.
