Scotiabank
Full Stack Developer
May 2019 – Aug 2019
Introduction
For my final Co-op work term during the summer of 2019 I moved to a different team in the Digital Data and Analytics CoP with my new role as a Full Stack Developer. Where I worked on an Internal Search Engine application called Find.BNS.
This web page contains insight about my second term with Scotiabank and the project I worked on in my new role.
About the Company
The Find.BNS team serves the employees of the bank. Just last month, over 1 million requests were made to our search engine with rapid growth in the last year. The team also has an API which is provided to the rest of the bank so that different applications can integrate the search functionality into their products.
For my project, My data included Scotiabanks multi million dollar art collection which mainly consists of Canadian artists. The lack of information and availability of this collection started the conversation of how the Find.BNS team could fix that.
Goals & Learning
The first goal I had when joining this team was to learn as much as I could about the workflow of the team as a whole. Every company has a different workflow and teams following unique processes and I believe it is very beneficial to learn about all the different ways there are to build products along with the benefits and drawbacks of each.
Another goal I created for myself was to reflect and learn from the decisions I made during the project. When the project started the outcome was not well defined and no one knew the exact process since we were building something brand new and had to make a lot of choices without knowing how they would turn out.
For example our team had an idea to add a Colour Picker feature to the UI where you could choose a colour and the results with that colour would show up. This seemed like an interesting feature that would be very helpful but when researching how to do this I found many different solutions and we tested them until we found the solution that worked for us.
Job Information
My role on the team was mainly focused on building a new section of the application dedicated to Scotiabanks Art Collection. To provide some background information, Scotiabank owns an extensive art collection of approximately 2000 works. The art collection data was stored in a database and my task was to make that data searchable and presentable to any member of the bank. The bank has many locations and would like to display the art collection in various building but employees have no way to find which art works they would like to request for their building. With this project, every bank employee will be able to discover the Scotiabank Art Collection and request art works to be hung up/ displayed at their location.
This task came with a lot of challenges as well as new learning experiences. The first part of this project consisted of gathering and curating the data into a format that we could index into the search engine in a meaningful way. I developed a console Java application for this task which takes in the art collection data from various data points and outputs a clean and indexable document of the entire art collection data.
The other main task was to expand the Find.BNS application to support the new art collection. This consisted of both rewriting existing code and expanding the code base with new features to support the nuances of the art project. The application is built with React and Node.js which connects to the search engine powered by Apache Solr.
After getting the first main prototype working, I spent my time improving the data pipeline, working on new UI features, and documenting the process.
Conclusions
In conclusion, I found the project both challenging and interesting which is exactly what I hoped for during this Co-op term. I joined a great team, worked through many new problems and built a great new section of the application.
We were able to release the first version of the project to production and present the new web page to the employees at the Digital Factory within a few months. I was able to implement some new features through the art application process and also improve some of the existing code of the document search portion of the application.
The Find.BNS team gave me the opportunity to work with many new technologies and participate in a new and unique development process. I have learned a lot from both my team as well as the project itself and am excited to take this information with me moving forward.
Acknowledgments
First, I would like to thank Yannick Lallement, a director in our team. Yannick was the person who made it all possible for myself to move into this new and exciting role. He has been extremely supportive and encouraging the entire duration of my term.
Next, I would like to thank my manager Michael Portnoy, Micheal introduced me to the project and was an excellent leader throughout the term. He put a lot of thought and effort into the design and creation of the project which is why I believe it was successful. Micheal provided guidance in all aspects of the project, from the business side all the way to the technical side he was able to always give great insights and direction for the project.
Last but not least, I am thankful for the two other developers on the team Dean Pearce and Oleksandr Zhurbenko. They are both very talented individuals who were essential in my success in this role. Both Dean and Oleksandr were always able to answer any questions I had about the software as well as provide me with further insights towards the industry as a whole. A lot of the tools and technologies I used were new to me and they helped make learning an enjoyable experience.
Overall I had an excellent experience working with this team and cannot thank them enough for the opportunity.