CIBC - US Private Wealth Management

S22 Work Term Report

Introduction

I am Jainil Patel, a 3th year Computer Science (Co-op) student. This is my second work term report on my experience working at CIBC - US Wealth Private Management from May 2022 to Aug 2022. I would like to share a few things about my employer, responsibilities, accomplishments, and the skills I have developed over the 4 months.

About the Employer

Two of the largest banks in Canadian history merged on June 1, 1961 - The Canadian Bank of Commerce (established 1867) and the Imperial Bank of Canada (established 1875) to form the Canadian Imperial Bank of Commerce (CIBC).

UoG-CCS

CIBC is a leading financial institution in North America commited to providing services for all stakeholders - clients, team, communities, and shareholders. Across Personal and Business Banking, Commercial Banking and Wealth Management, and Capital Markets businesses, CIBC's 45,000 employees provide a full range of financial products and services to 11 million personal banking, business, public sector and institutional clients in Canada, the U.S. and around the world.

UoG-CCS

The above picture is the newly developed CIBC Square. It is one of the tallest full-glass offices in Toronto with a direct view of the CN Tower, city skyline, and Lake Ontario. I had an amazing time working there. It was a pleasure meeting my co-workers in person, as well as getting to experience the office environment and etiquette.

Job Description & Project Overview

As a Production Application Support Analyst at CIBC, my job was to help develop new features and maintain existing ones for the ORS application - a request system - used by portfolio managers. Occasionally, I also worked with the business team for planning and the QA team for testing pre-production features.

My first major task working for the US Wealth Management Team was to help migrate existing code from a manual deployment process to using an automated pipeline in Azure Devops. During the migration, I also assited in chosing a version control tool (GIT vs TFS) using a benefits report and a live demo. When multiple developers simultaniously work on large application with thousands of lines of code, it is important to keep track of changes and merge them accordingly.

Throughout the 4-month work term, I developed, tested, and maintained various different features on the ORS application at CIBC. These features included dynamic request form selection on the homepage, addition of account closing form, as well as modification of various existing forms as per product owner's request. A strict procedure is to be followed for any creation, modification, or deletion of forms. One must follow the guidelines set by the business team, program in C# and .NET, make necessary changes in the SQL database, get the feature tested by QA team and finally it is ready for deployment. I was lucky to experience all steps of the deployment process.

I was also given the wonderful opportunity to work with two other aspects of the development cycle - planning and testing. I worked with senior Business Analysts to gather requirements for a feature and design its User Interface accordingly. These requirements and design was used by other developers for their work. Once the coding portion of the feature was complete, I worked with the Quality Assurance team to thoroughly test the feature considering all aspects of the user's workflow. I was able to learn new tools and frameworks used to designing and testing and application.

Ultimately, I got to work on many different features for the ORS application throughout my work term. I also led the migration to Microsoft Azure DevOps pipelines to automatically deploy any code changes. Moving from manual deployment of code to automated immensely saved time for developers and it also reduced errors in package bundeling. Alongside developing programming skills, I am grateful I was able to improve some of my soft skills as well such as teamwork, communication, and time management. Although working remotely was a unique challenge, I was able to go into the office once a week which provided a necessary change in my work environment.

Learning Goals & Reflections

Build Confidence Communicating to Large Groups

I have never been great at presenting or speaking to large groups, so I wanted to build my confidence during this work term, especially in front of senior members and clients. The daily team meetings ranging from standups, sprint planning, and demos really helped in achieving this goal as I occasionally lead the standups. I was able to practice speaking in an organized manner communicating to several attendees. I was also given the opportunity to demonstrate my projects at our weekly demo meeting in front of approximately 20 members from various different teams (DEVS, BA and QA). At the end of my work term, I was much more confident speaking to large groups of people and successfully presenting my work to clients and stakeholders.

Gain Knowledge of Business Concepts

When I started my work term at CIBC, I had little to no business knowledge. Being a part of the US Private Wealth Management team, it was necessary for me to have basic information about business terms and concepts. My manager provided me with resources to learn the required information using web readings and a glossary docuemnt. I thoroughly read through the articles and documents to strengthen my understanding. This knowledge was very helpful when working with clients and stakeholders. I believe I was successful in this goal as I was able to comfortably communicate with business clients. I was also able to utilize this knowledge during the developement state to fulfil client requirements.

Learn Databases for Application Development

At the start of my work term, I was fairly new to SQL work as well as the SQL Management Studio. The SQL language is very popular and widely used in the software development industry. Learning this is extremely crucial for any programmer as it is common way of data storage. Since SQL databases were used as a primary way of storing client data at CIBC, it was a great opportunity for me to learn. To strengthen my understanding and apply my knowledge of the language, I was given tasks that met this criteria. I worked on various features that directly used SQL and the Management Studio or a variation of the application. Towards the end of the work term, I was very comfortable working in this development environment having gained experience through application development and testing.
cSharp .NET Core JavaScript Git

Conclusion

Overall, my 4-month work term at CIBC was extremely successful. I was familiar with Azure DevOps, C#, and .NET however, I was motivated to learn new things and work hard. I am satisfied with all that I accomplished. I was able to learn the aforementioned new technologies as well as improve the ones I already knew like HTML & CSS, JavaScript, and SQL. My time working in the US Private Wealth Management team allowed me to understand about the industry and the working environment. I am thankful for the opportunity I was given which made me a better programmer, speaker, and overall strengthened my individual skills.

Acknowledgements

I would like to thank all of the people that I met and worked with during my time at CIBC. A special thanks to Stephane Clevenot (Manager), Dustin Taylor (Scrum Master), and Mark Sheard (Product Manager). I am also greatful for guidance and support from Arun Raja (Co-developer) who mentored me throughout the 4 months. My team was available for me for every question I had and any help I needed. I had an outstanding time working at CIBC, and I am grateful for the opportunity.