Connecting Devices on A Single Sign-Up Flow

Royal Bank of Canada (RBC) | Back End Software Developer | May - Aug 2021
My Contribution
I worked very closely with my mentor at the time and the rest of my team members to work on different tickets to help wherever I could in the completion of this feature. This was done through a mix of pair-programming with my team members and individual work. Some contributions I made specifically were being able to: 
  • Add unit tests in JUnit using various testing techniques such as using mocked classes and values using Mockito, and parameterized tests, to always ensure code coverage met a certain threshold (~80%)
  • Collaboratively writing logic in Java and SpringBoot to fulfill feature objectives relating to calling different APIs at different triggers, working with listeners and channels etc.
  • Used PostMan to test functionality of API calls once certain tasks of the feature were completed
  • Inspect logs on Jenkins for code in the Dev environment to ensure new code continued to function as expected
  • Engaged in code reviews for PRs, software design and general coding best practices
  • Acted as Scrum Master in the Agile environment for 2 separate sprints to help promote collaboration within the team, help direct team members to get tickets unblocked etc.
  • Deployed upwards of 20 applications to the Production environment using UrbanCode Deploy and Jenkins
My biggest accomplishment with this project
was that I pushed myself to really try to work independently and ask for help only when necessary. The reason this made me very proud was because this was my first time working in the backend for large software systems rather than smaller side projects that I was working on before. In this internship experience, I had quite a few independent Pull Requests go through where I was solely working on both the code and unit tests in an area of technology that was fairly new to me.
Goals & Objectives
The feature was meant to:
  • allow the advisor to begin the flow and be able to pass it to the client
  • maintain the progress of all information put in by both parties throughout the flow
  • be smooth on both ends of the flow (in the POV of the advisor and the client) 
Project Overview
At RBC, the team that I was placed on at the time was starting a project related to creating a online sign-up flow that would begin on an advisors computer and switch to the customer for their information when needed. The process would continue to switch between these two users, on two seperate devices, until complete. This was to allow customers to sign up for cards in a completely remote manner to accommodate the pandemic.
My Impact On Other Projects
I did quite a bit outside of helping my team, I did my best to help other co-op students, interact with them, and build a community
My First Time With RBC
This was my second summer with RBC. I worked as Frontend Software Developer Intern in Summer 2020 as well, the summer after my first year of university. Here is where my interest in web development really started to grow as I had limited experience with it but I had a passion to learn. In my first year, my biggest accomplishment was being able to write full test files all on my own when, just a few weeks prior to this, I didn't know what testing was to begin with. I learnt a lot in a short amount of time and I am forever grateful to my team and my mentor at the time for all the support they gave me.
To All Projects