As an Advisory Software Engineer, you will contribute significantly to the Customer Communications Composition team in Canada. A core responsibility involves leading the application architecture design, with a strong emphasis on Opentext Exstream and Opentext Communications Builder/Communications Server. This role demands close collaboration with end users, subject matter experts, and cross-functional business teams to thoroughly understand business needs, conduct gap analyses, and assess requirements. You will actively participate in customer and solution discovery sessions, partnering with Architecture teams to ensure seamless design and integration of technology solutions. Proactive guidance and recommendations on software design are expected throughout the full project life cycle, from producing comprehensive specifications to writing production-quality code and overseeing implementation. This position is crucial for delivering and enhancing existing and new solutions, collaborating on components to meet stringent performance requirements, and providing accurate estimations for frequent releases. Furthermore, you will be instrumental in designing and automating test sets, including functional, non-functional, regression, and performance testing, leveraging modern deployment tools and practices. A key objective is to build robust software solutions that continually reduce technical debt and improve the end user experience by addressing complex queries. The role also includes setting up development environments, participating in code merging and version control, and creating technical roadmaps. An important aspect of this position is to coach and mentor junior Engineers, supporting their career development and fostering an inclusive team environment. You will provide expertise in various technologies and frameworks, staying abreast of the latest industry tools and best practices to bring innovative ideas to the team. Supporting solutions in production, triaging incidents, and problem-solving are also vital components of this challenging role.
To excel in this role, candidates should possess a Bachelor’s degree in Computer Science, Engineering, or a related technology field. Extensive hands-on software development experience is paramount, specifically 6+ years with Customer Communications Management (CCM) tools, encompassing conceptualization, design, engineering, and debugging phases. This includes 6+ years of dedicated software development experience with Opentext Exstream v23.3 or later and Opentext Communications Builder. Proficiency in modern programming languages is essential, with at least 5 years’ experience with Java. Candidates should also demonstrate 5+ years’ experience in developing, deploying, and maintaining large-scale applications featuring complex integrations, alongside 4+ years’ experience reading, writing, and executing SQL scripts. Working experience with various data technologies and databases, such as Postgres, MSSQL, Oracle DB, Apache NiFi, Apache Kafka, and Apache ElasticSearch, is required, with comfort in managing large datasets. Familiarity with scheduling and monitoring tools like Autosys, Splunk, and Dynatrace, combined with hands-on experience using Continuous Integration (CI) build-automation tools such as Jenkins, is highly valued. Experience operating within an Agile environment is mandatory, including 3+ years of Agile Scrum experience, demonstrating an understanding of Agile concepts, estimations, and ceremonies. Prior experience with Microsoft Azure Cloud or Google Cloud GCP is considered a significant asset. A solid understanding of design patterns, best practices, and experience with real-time, high-availability, and low-latency systems will contribute to success. Hands-on experience with DevOps best practices and tooling, including CI/CD, Helm, Harness, Jenkins, Kubernetes, and Docker, is expected. Further valuable experience includes integrating with third-party SaaS providers, libraries, and SDKs, along with cloud development concepts using GCP, Opentext Cloud Native, and Opentext Orchestrator. Knowledge in secure coding, authentication, authorization, and compliance, coupled with core banking experience, particularly in understanding financial systems and regulatory compliance, is highly beneficial. The ability to support production applications, ensuring stability through incident resolution and proactive issue prevention, is a critical aspect of this position.
Joining Scotiabank means becoming part of a purpose-driven, winning team committed to results within an inclusive and high-performing culture. The bank is dedicated to fostering diversity, equity, inclusion, and allyship, striving to create an environment where every employee is empowered to reach their fullest potential. Individuals are respected for who they are and embraced through bias-free practices and inclusive values across Scotiabank. The organisation actively embraces diversity, providing extensive opportunities for all employees to learn, grow, and participate through various Employee Resource Groups (ERGs) that represent diverse gender identities, ethnicity, race, age, ability, and veterans. Scotiabank values the unique skills and experiences each individual brings, committing to creating and maintaining an accessible environment for everyone by continually removing and preventing barriers. The bank supports professional development through upskilling via online courses, cross-functional development opportunities, and tuition assistance, ensuring continuous growth in a dynamic ecosystem. Employees can also engage in community activities, including hackathons, fostering a sense of belonging and contribution. This environment provides ample opportunity to apply your software development experience and leverage cutting-edge tools.