The Principal Software Engineer plays a key role in City National Bank's Technology & Innovation division. As a Principal Software Engineer you will solve unique and complex problems that have a broad impact on the business. In addition, you will provide expertise and guidance in the daily activities of individual contributors or working teams to design, code, debug, test, document, implement and maintain complex business and client-facing applications using City National Bank's Secure Software Development Lifecycle. The Principal Software Engineer is an expert professional with deep expertise or unique industry knowledge who uses in-depth skill sets to contribute to development of company objectives and principles and to achieve goals in creative and effective ways. The typical day includes collaborating with business system analysts, project managers, engineers (e.g., Software, UX, Full Stack, DevOps, Quality, Infrastructure, Cybersecurity), business teams, vendors and other stakeholders to design, implement and support complex business and client-facing applications. This role will need to effectively communicate, collaborate, and influence engineering and business team members and senior management across many projects and departmental boundaries. The Principal Software Engineer designs, develops, updates/maintains solutions and provides technical guidance to other team members across T&I. At this level, the main challenge is to identify causes and implement solutions to complex and critical business problems in a multifunctional project, assessing and communicating issues of technology impact on the business.