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.
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.