[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"seo-content-expertise-unit-testing-ca":3,"job-search-\u002Fen-ca\u002Fjobs-by-expertise\u002Funit-testing":4,"expertise-filters-\u002Fen-ca\u002Fjobs-by-expertise\u002Funit-testing":381,"featured-jobs-\u002Fen-ca\u002Fjobs-by-expertise\u002Funit-testing":509},{},{"total":5,"jobs":6},8,[7,60,120,172,229,274,303,334],{"id":8,"slug":9,"title":10,"raw_title":11,"is_featured":12,"company":13,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":16,"processed_country_iso_code_gmaps":18,"processed_home_office":20,"processed_salary_min":21,"processed_salary_max":22,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":25,"processed_employment_types":27,"processed_it_skills":28,"processed_it_skills_labels":31,"processed_job_expertise_skills":45,"processed_job_expertise_skills_labels":46,"max_cpc":58,"actual_cpc":59},84110,"net-programmer-analyst-ia-financial-services-inc",".NET Programmer Analyst",null,false,{"name":14,"slug":15,"logo_url":11},"IA Financial Services Inc.","ia-financial-services-inc",[17],"Québec",[19],"CA","hybrid",80000,110000,"CAD","estimated",[26],"FULL_TIME","permanent",{"c#":29,"git":29,"cobol":30,"kafka":30,"docker":30,"rancher":30,".net core":29,"easytrieve":30,"sql server":29,"azure devops":29,"visual studio":29,".net framework":29,"microsoft azure":30},4,2,[32,33,34,35,36,37,38,39,40,41,42,43,44],"C#",".NET Framework",".NET Core","SQL Server","Visual Studio","Azure DevOps","Git","Kafka","Docker","Rancher","Microsoft Azure","COBOL","Easytrieve",{"safe":29,"code reviews":29,"fasat system":30,"unit testing":29,"quality assurance":29,"agile methodologies":29,"application support":29,"software development":29,"mainframe environment":30,"technical documentation":29,"object-oriented programming":29},[47,48,49,50,51,52,53,54,55,56,57],"Software Development","Agile Methodologies","SAFe","Object-Oriented Programming","Unit Testing","Quality Assurance","Code Reviews","Application Support","Technical Documentation","Mainframe Environment","FASAT System",1,1.2,{"id":61,"slug":62,"title":63,"raw_title":11,"is_featured":12,"company":64,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":67,"processed_country_iso_code_gmaps":69,"processed_home_office":20,"processed_salary_min":70,"processed_salary_max":71,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":72,"processed_employment_types":27,"processed_it_skills":73,"processed_it_skills_labels":75,"processed_job_expertise_skills":97,"processed_job_expertise_skills_labels":98,"max_cpc":58,"actual_cpc":59},82575,"sr-application-developer-canadian-imperial-bank-of-commerce-canada","Sr. Application Developer",{"name":65,"slug":66,"logo_url":11},"Canadian Imperial Bank of Commerce (Canada)","canadian-imperial-bank-of-commerce-canada",[68],"Toronto",[19],100000,140000,[26],{"git":29,"sql":74,".net":29,"azure":74,"kafka":74,"nosql":74,"blazor":29,"docker":74,"solace":74,"angular":29,"jenkins":74,"node.js":29,".net core":29,"javascript":29,"kubernetes":74,"typescript":29,"service bus":74,"azure devops":74,"github actions":74,"github copilot":74,"ci\u002Fcd pipelines":74,"prompt engineering":74,"restful api design":29,"monitoring\u002Falerting":74,"infrastructure as code":74,"event-driven architectures":74},3,[76,77,34,78,79,80,81,82,38,83,84,40,85,86,87,88,89,90,37,91,92,93,94,39,95,96],"Node.js",".NET","Blazor","Angular","RESTful API design","JavaScript","TypeScript","CI\u002FCD pipelines","Azure","Kubernetes","SQL","NoSQL","GitHub Copilot","Prompt engineering","GitHub Actions","Jenkins","Infrastructure as code","Monitoring\u002Falerting","Service Bus","Solace","Event-driven architectures",{"caching":74,"deployment":29,"monitoring":29,"unit testing":29,"microservices":29,"orchestration":74,"secure coding":29,"ui automation":29,"api automation":29,"message queues":74,"version control":29,"containerization":74,"automated testing":29,"functional design":29,"strategic planning":74,"integration testing":29,"technology roadmaps":74,"ai-driven development":74,"full-stack development":29,"object-oriented design":29,"technical architecture":29},[99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119],"Full-stack development","Technical architecture","Microservices","Automated testing","Deployment","Monitoring","Strategic planning","Technology roadmaps","Secure coding","Object-oriented design","Functional design","Unit testing","Integration testing","API automation","UI automation","Version control","Containerization","Orchestration","Caching","Message queues","AI-driven development",{"id":121,"slug":122,"title":123,"raw_title":11,"is_featured":12,"company":124,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":125,"processed_country_iso_code_gmaps":126,"processed_home_office":20,"processed_salary_min":127,"processed_salary_max":128,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":129,"processed_employment_types":27,"processed_it_skills":130,"processed_it_skills_labels":131,"processed_job_expertise_skills":149,"processed_job_expertise_skills_labels":150,"max_cpc":58,"actual_cpc":59},84124,"developpeureuse-mulesoft-ia-financial-services-inc","Développeur(euse) MuleSoft",{"name":14,"slug":15,"logo_url":11},[17],[19],90000,130000,[26],{"git":74,"raml":29,"rest":29,"sftp":74,"soap":29,"azure":74,"ci\u002Fcd":74,"kafka":30,"munit":74,"docker":74,"http\u002Fs":74,"openapi":29,"ai tools":30,"dataweave":29,"oauth 2.0":74,"kubernetes":74,"salesforce":30,"api manager":29,"azure devops":74,"github copilot":30,"anypoint studio":29,"runtime manager":29,"anypoint exchange":29,"mulesoft anypoint platform":29},[132,133,134,135,136,137,138,139,140,141,142,143,144,38,37,145,146,84,40,85,39,147,88,148],"MuleSoft Anypoint Platform","Anypoint Studio","API Manager","Runtime Manager","Anypoint Exchange","DataWeave","REST","SOAP","RAML","OpenAPI","OAuth 2.0","HTTP\u002FS","SFTP","CI\u002FCD","MUnit","Salesforce","AI tools",{"logging":29,"alerting":29,"api design":29,"monitoring":29,"api security":29,"code reviews":29,"unit testing":29,"documentation":29,"api governance":29,"error handling":29,"agile ceremonies":74,"batch processing":74,"production support":29,"data transformation":29,"integration testing":29,"api-led connectivity":29,"integration patterns":29,"software development":29,"technical leadership":29,"synchronous processing":74,"asynchronous processing":74,"enterprise architecture":74,"integration development":29,"event-driven architecture":74},[151,152,153,154,155,156,157,158,159,160,161,162,163,104,164,110,111,165,166,167,168,169,170,171],"Software development","Integration development","API-led connectivity","API design","API security","Data transformation","Integration patterns","Event-driven architecture","Batch processing","Asynchronous processing","Synchronous processing","Error handling","Logging","Alerting","Code reviews","Production support","Documentation","Agile ceremonies","Technical leadership","API governance","Enterprise architecture",{"id":173,"slug":174,"title":175,"raw_title":11,"is_featured":12,"company":176,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":179,"processed_country_iso_code_gmaps":181,"processed_home_office":20,"processed_salary_min":182,"processed_salary_max":183,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":184,"processed_employment_types":27,"processed_it_skills":185,"processed_it_skills_labels":186,"processed_job_expertise_skills":208,"processed_job_expertise_skills_labels":209,"max_cpc":58,"actual_cpc":59},78509,"ios-developer-sun-life-of-canada-corporate","iOS Developer",{"name":177,"slug":178,"logo_url":11},"Sun Life of Canada - Corporate","sun-life-of-canada-corporate",[180],"Montréal",[19],65000,105000,[26],{"xml":30,"java":30,"json":30,"uikit":30,"splunk":30,"xctest":74,"combine":30,"jenkins":30,"rxswift":30,"swiftui":29,"artifactory":30,"async\u002Fawait":30,"spring boot":30,"storyboards":30,"restful apis":30,"swift testing":74,"ios development":29,"version control":74,"automated testing":74,"continuous deployment":74,"continuous integration":74,"ai-powered development tools":30},[187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,91,203,204,205,206,207],"iOS Development","SwiftUI","XCTest","Swift Testing","Continuous Integration","Continuous Deployment","Version Control","Automated Testing","Combine","async\u002Fawait","RESTful APIs","JSON","XML","UIKit","Storyboards","RxSwift","Splunk","Artifactory","Java","Spring Boot","AI-powered development tools",{"mvvm":74,"viper":74,"debugging":74,"mobile ux":74,"profiling":74,"encryption":74,"code reviews":74,"unit testing":74,"authentication":74,"scrum ceremonies":74,"memory management":74,"agile methodologies":29,"integration testing":74,"secure data storage":74,"security principles":74,"app store deployment":74,"technology evaluation":74,"test driven development":74,"native mobile development":29,"behavior driven development":74,"offshore team collaboration":74,"ios human interface guidelines":74},[210,48,211,212,213,214,215,51,216,217,218,219,220,221,222,223,224,225,226,53,227,228],"Native Mobile Development","Scrum Ceremonies","MVVM","VIPER","Test Driven Development","Behavior Driven Development","Integration Testing","App Store Deployment","Debugging","Profiling","Memory Management","Mobile UX","iOS Human Interface Guidelines","Security Principles","Secure Data Storage","Encryption","Authentication","Offshore Team Collaboration","Technology Evaluation",{"id":230,"slug":231,"title":232,"raw_title":11,"is_featured":12,"company":233,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":234,"processed_country_iso_code_gmaps":235,"processed_home_office":20,"processed_salary_min":127,"processed_salary_max":71,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":236,"processed_employment_types":27,"processed_it_skills":237,"processed_it_skills_labels":238,"processed_job_expertise_skills":255,"processed_job_expertise_skills_labels":256,"max_cpc":58,"actual_cpc":59},78557,"lead-software-engineer-java-api-sun-life-of-canada-corporate","Lead Software Engineer (JAVA, API)",{"name":177,"slug":178,"logo_url":11},[68],[19],[26],{"xml":74,"java":29,"json":74,"rest":74,"snyk":74,"soap":74,"junit":74,"kafka":74,"react":74,"docker":74,"jquery":30,"ai apis":74,"jenkins":74,"mockito":74,"veracode":74,"bitbucket":74,"checkmarx":74,"sonarqube":74,"javascript":30,"kubernetes":74,"restassured":74,"spring boot":29,"microservices":29,"github copilot":74,"api development":29,"web accessibility":74,"prompt engineering":74,"large language models (llms)":74,"ai agent orchestration platforms":74},[205,206,101,239,240,241,40,85,39,139,199,138,198,242,243,244,245,91,81,246,88,247,248,249,250,251,252,253,254],"API Development","React","Web Accessibility","JUnit","Mockito","RESTAssured","BitBucket","jQuery","AI agent orchestration platforms","Large Language Models (LLMs)","Prompt Engineering","AI APIs","SonarQube","Checkmarx","Snyk","Veracode",{"devops":74,"mentoring":29,"code review":29,"unit testing":74,"on-call support":74,"risk mitigation":74,"threat modeling":74,"containerization":74,"incident response":74,"project estimation":74,"agile methodologies":74,"systems integration":29,"technical leadership":29,"security code reviews":29,"continuous improvement":74,"middleware technologies":74,"secure coding practices":29,"technical documentation":74,"web hosting technologies":74,"security testing methodologies":74,"application development life cycle":29},[257,258,259,48,260,261,262,263,264,115,265,266,51,267,268,269,270,271,55,272,273],"Application Development Life Cycle","Systems Integration","Technical Leadership","Secure Coding Practices","Security Code Reviews","Threat Modeling","Security Testing Methodologies","DevOps","Middleware Technologies","Web Hosting Technologies","Continuous Improvement","Incident Response","On-call Support","Project Estimation","Risk Mitigation","Code Review","Mentoring",{"id":275,"slug":276,"title":277,"raw_title":11,"is_featured":12,"company":278,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":281,"processed_country_iso_code_gmaps":282,"processed_home_office":283,"processed_salary_min":284,"processed_salary_max":285,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":286,"processed_employment_types":27,"processed_it_skills":287,"processed_it_skills_labels":288,"processed_job_expertise_skills":296,"processed_job_expertise_skills_labels":297,"max_cpc":58,"actual_cpc":59},66715,"associate-software-engineer-mainframe-the-toronto-dominion-bank-canada","Associate Software Engineer - Mainframe",{"name":279,"slug":280,"logo_url":11},"The Toronto-Dominion Bank (Canada)","the-toronto-dominion-bank-canada",[68],[19],"onsite",59500,84000,[26],{"db2":29,"ims":29,"jcl":29,"sas":29,"sql":29,"jira":74,"cobol":29,"ms excel":74,"confluence":74},[43,86,289,290,291,292,293,294,295],"JCL","SAS","DB2","IMS","MS Excel","Jira","Confluence",{"unit testing":29,"system analysis":29,"agile methodology":74,"knowledge transfer":74,"project estimation":74,"incident management":74,"integration testing":29,"application development":29},[298,299,51,216,300,301,270,302],"Application Development","System Analysis","Incident Management","Agile Methodology","Knowledge Transfer",{"id":304,"slug":305,"title":306,"raw_title":11,"is_featured":12,"company":307,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":308,"processed_country_iso_code_gmaps":309,"processed_home_office":283,"processed_salary_min":310,"processed_salary_max":311,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":312,"processed_employment_types":27,"processed_it_skills":313,"processed_it_skills_labels":314,"processed_job_expertise_skills":316,"processed_job_expertise_skills_labels":317,"max_cpc":58,"actual_cpc":59},66873,"sr-java-full-stack-developer-td-securities-the-toronto-dominion-bank-canada","Sr. Java Full Stack Developer, TD Securities",{"name":279,"slug":280,"logo_url":11},[68],[19],126800,164100,[26],{"sql":29,"java":29,"react":29,"python":30,"spring boot":29,"restful apis":29,"microservices":29},[205,206,86,197,101,240,315],"Python",{"unit testing":29,"data modeling":74,"secure coding":29,"broadridge bpsa":58,"cost estimation":30,"prime brokerage":30,"risk assessment":74,"project planning":74,"performance tuning":74,"production support":74,"query optimization":74,"regression testing":29,"securities finance":30,"integration testing":29,"root cause analysis":74,"object-oriented design":29,"financial industry knowledge":74,"service-oriented architecture":74},[318,319,320,321,322,51,216,323,324,325,326,327,328,329,330,331,332,333],"Object-Oriented Design","Data Modeling","Query Optimization","Service-Oriented Architecture","Secure Coding","Regression Testing","Root Cause Analysis","Performance Tuning","Project Planning","Risk Assessment","Cost Estimation","Production Support","Financial Industry Knowledge","Prime Brokerage","Securities Finance","Broadridge BPSA",{"id":335,"slug":336,"title":337,"raw_title":11,"is_featured":12,"company":338,"raw_hiringOrganization_logo_url":11,"processed_city_gmaps":341,"processed_country_iso_code_gmaps":342,"processed_home_office":20,"processed_salary_min":343,"processed_salary_max":344,"processed_salary_currency":23,"processed_salary_source":24,"processed_working_hours":345,"processed_employment_types":27,"processed_it_skills":346,"processed_it_skills_labels":347,"processed_job_expertise_skills":358,"processed_job_expertise_skills_labels":359,"max_cpc":58,"actual_cpc":59},70567,"senior-manager-data-engineering-bank-of-montreal","Senior Manager Data Engineering",{"name":339,"slug":340,"logo_url":11},"Bank of Montreal","bank-of-montreal",[68],[19],94600,176000,[26],{"aws":29,"sql":29,"jira":74,"ssis":29,"azure":29,"ci\u002Fcd":29,"nosql":29,"scala":29,"spark":29,"devops":29,"hadoop":29,"python":29,"netezza":29,"aws glue":29,"apache airflow":29,"infrastructure as code":29},[86,87,315,348,349,350,351,352,84,353,354,355,264,145,356,357],"Spark","Scala","SSIS","AWS Glue","AWS","Hadoop","Netezza","Apache Airflow","Infrastructure as Code","JIRA",{"qa":29,"etl":29,"debugging":29,"automation":29,"ai concepts":29,"data mining":29,"data mapping":29,"unit testing":29,"data analysis":29,"data modeling":29,"generative ai":29,"agile delivery":29,"data profiling":29,"streaming data":29,"cloud computing":29,"batch processing":29,"data engineering":29,"data warehousing":29,"code optimization":29,"prompt engineering":29,"process improvement":29,"regulatory compliance":29,"solution architecture":29,"software engineering standards":29,"retrieval-augmented generation (rag)":29},[360,361,362,319,363,364,365,366,367,368,249,369,370,371,372,373,374,218,51,375,376,377,378,379,380],"Data Engineering","ETL","Solution Architecture","Data Mining","Data Analysis","Data Profiling","Data Mapping","AI Concepts","Generative AI","Retrieval-Augmented Generation (RAG)","Agile Delivery","Software Engineering Standards","Process Improvement","Automation","Code Optimization","QA","Data Warehousing","Cloud Computing","Batch Processing","Streaming Data","Regulatory Compliance",{"industry":382,"employment_type":390,"expertise_skills":393,"it_skills":445,"salary_currency":505,"processed_working_hours":507},[383,387],{"key":384,"label":385,"count":386},"financial services","Financial Services",7,{"key":388,"label":389,"count":29},"banking","Banking",[391],{"key":27,"label":392,"count":5},"PERMANENT",[394,396,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,438,440,443],{"key":395,"label":51,"slug":395,"count":5},"unit-testing",{"key":397,"label":216,"slug":397,"count":398},"integration-testing",5,{"key":400,"label":48,"slug":400,"count":74},"agile-methodologies",{"key":402,"label":53,"slug":402,"count":74},"code-reviews",{"key":404,"label":329,"slug":404,"count":30},"production-support",{"key":406,"label":378,"slug":406,"count":30},"batch-processing",{"key":408,"label":259,"slug":408,"count":30},"technical-leadership",{"key":410,"label":55,"slug":410,"count":30},"technical-documentation",{"key":412,"label":319,"slug":412,"count":30},"data-modeling",{"key":414,"label":270,"slug":414,"count":30},"project-estimation",{"key":416,"label":218,"slug":416,"count":30},"debugging",{"key":418,"label":318,"slug":418,"count":30},"object-oriented-design",{"key":420,"label":47,"slug":420,"count":30},"software-development",{"key":422,"label":115,"slug":422,"count":30},"containerization",{"key":424,"label":104,"slug":424,"count":30},"monitoring",{"key":426,"label":322,"slug":426,"count":30},"secure-coding",{"key":428,"label":257,"slug":428,"count":58},"application-development-life-cycle",{"key":430,"label":298,"slug":430,"count":58},"application-development",{"key":432,"label":164,"slug":432,"count":58},"alerting",{"key":434,"label":217,"slug":434,"count":58},"app-store-deployment",{"key":436,"label":437,"slug":436,"count":58},"event-driven-architecture","Event-Driven Architecture",{"key":439,"label":117,"slug":439,"count":58},"caching",{"key":441,"label":442,"slug":441,"count":58},"api-led-connectivity","Api-Led Connectivity",{"key":444,"label":377,"slug":444,"count":58},"cloud-computing",[446,448,450,452,455,458,460,462,465,467,469,471,473,476,479,481,484,487,489,492,494,497,500,502],{"key":447,"label":86,"slug":447,"count":29},"sql",{"key":449,"label":39,"slug":449,"count":29},"kafka",{"key":451,"label":40,"slug":451,"count":29},"docker",{"key":453,"label":454,"slug":453,"count":74},"azure-devops","Azure Devops",{"key":456,"label":457,"slug":456,"count":74},"github-copilot","Github Copilot",{"key":459,"label":85,"slug":459,"count":74},"kubernetes",{"key":461,"label":205,"slug":461,"count":74},"java",{"key":463,"label":464,"slug":463,"count":74},"ms-azure","MS Azure",{"key":466,"label":206,"slug":466,"count":74},"spring-boot",{"key":468,"label":91,"slug":468,"count":74},"jenkins",{"key":470,"label":38,"slug":470,"count":74},"git",{"key":472,"label":249,"slug":472,"count":30},"prompt-engineering",{"key":474,"label":475,"slug":474,"count":30},"cobol","Cobol",{"key":477,"label":478,"slug":477,"count":30},"cicd","Ci\u002FCd",{"key":480,"label":315,"slug":480,"count":30},"python",{"key":482,"label":483,"slug":482,"count":30},"infrastructure-as-code","Infrastructure As Code",{"key":485,"label":486,"slug":485,"count":30},"xml","Xml",{"key":488,"label":294,"slug":488,"count":30},"jira",{"key":490,"label":491,"slug":490,"count":30},"rest","Rest",{"key":493,"label":240,"slug":493,"count":30},"react",{"key":495,"label":496,"slug":495,"count":30},"restful-apis","Restful Apis",{"key":498,"label":499,"slug":498,"count":30},"javascript","Javascript",{"key":501,"label":101,"slug":501,"count":30},"microservices",{"key":503,"label":504,"slug":503,"count":30},"json","Json",[506],{"key":23,"label":23,"count":5},[508],{"key":26,"label":26,"count":5},{"total":510,"jobs":511},0,[]]