LEAD SOFTWARE ENGINEER
The Lead Software Engineer at City National Bank’s Technology & Innovation division is a senior professional responsible for guiding and coordinating teams to design, develop, test, document, implement, and maintain business and client-facing applications using the bank’s Secure Software Development Lifecycle.
This role involves leading and collaborating with various stakeholders, including business system analysts, project managers, engineers (Software, UX, Full Stack, DevOps, Quality, Infrastructure, Cybersecurity), business teams, and vendors.
They mentor junior team members, provide technical guidance to solve complex business problems, and assess and communicate technology impacts on the business.
Responsibilities include evaluating application software packages, participating in code reviews, tests, and pilots, analyzing business requirements for large projects, and translating complex requirements into appropriate designs.
Additionally, the Lead Software Engineer develops both front-end and back-end solutions, and designs, maintains, and manages these solutions.
Responsibilities
- Provide technical guidance to team members and coordinate daily activities, including task assignment and priority setting.
- Track team performance and provide feedback to ensure continuous improvement.
- Serve as the first point of contact for individual contributors before escalating to management.
- Lead the design and development of business and client-facing applications, ensuring secure, high-quality code with a focus on automated testing and validation based on the You Build You Own (YBYO) model.
- Perform complex engineering activities such as performance tuning, monitoring, deployment, and production support.
- Implement, maintain, and update CI/CD pipelines in a cloud environment.
- Collaborate with business partners, architects, vendors, and other stakeholders to identify and prioritize complex technical and functional needs of a system.
- Work with multiple, enterprise-wide distributed teams to deliver new capabilities in business applications.
- Design and develop APIs and UIs to enhance the use of large data sets, infrastructure, and user experience.
- Own the full lifecycle of web software development, from ideas to production, following and improving the Secure Software Development Life Cycle (SSDLC).
- Provide programming expertise and business analysis skills within a broad business area, usually as a lead member of a project team, in analyzing, designing, modifying, and developing business applications.
- Develop and instruct on programming guidelines, ensuring adherence to best practices in design, coding, testing, and deployment. Review programming documentation and recommend changes in development, maintenance, and application standards.
- Analyze and develop logical database designs, data models, and relational data definitions across multiple computing environments (e.g., host-based, distributed systems, client-server).
- Comply with architectural standards, established methodologies, and practices, as well as all Bank Operational and Credit policies and regulatory requirements (e.g., Bank Secrecy Act, Know Your Client, Community Reinvestment Act, Fair Lending Practices, Code of Conduct).
- Complete all required training and create and maintain application system overviews and technical documentation.
- All other appropriate duties as required.
Must-Have*
- Bachelor’s Degree or equivalent.
- Minimum of 12 years of software development experience.
- Minimum of 8 years of experience using C#, Java, Python.
- Minimum of 8 years of experience with databases and data modeling/design (SQL and NoSQL).
- Minimum of 8 years coordinating team efforts in a project or operations environment.
Skills and Knowledge
- Understanding of proper coding techniques, testing requirements, and debugging techniques.
- Proficient in technical problem analysis and managing large sets of data, including ANSI-SQL querying for structured and unstructured data sources (Snowflake, Oracle, SQL, NoSQL).
- Excellent verbal and written communication, interpersonal, and analytical skills.
- Proficiency in recognizing potential project risks and challenges early and devising effective strategies to address them.
- Knowledge of project management techniques is required.
- Ability to manage multiple tasks and projects simultaneously while maintaining attention to details.
- Experience with project methodologies like Agile or Scrum.
- Experience with structured design, development, and implementation of new computing architectures.
- Full-stack development expertise in C# and cloud application solutions (Azure or AWS) - Azure preferred.
- Proficient in SQL, XML, .NET Core, Restful-API, and event-driven integration capabilities.
- Hands-on expertise in DevOps, CI/CD techniques, and monitoring technologies.
- Ability to self-learn and quickly understand new and changing technologies in a fast-moving cloud environment.
- Conduct code reviews and peer reviews.
- Maintain comprehensive technical documentation to support ongoing development and future projects.
- Ability to assess logs and solve complex performance issues, with experience in one of the tools (e.g. Elasticsearch, Splunk) and other logging capabilities.
- Financial services (banking) experience is a plus.
#J-18808-Ljbffr