About Wave Financial Inc.
Wave Financial Inc. created award-winning financial software designed for entrepreneurs. Their products are pitched as a better way to make, move, and manage money, where every Wave product brings a small business owner closer to a complete picture of financial success. For instance, Wave’s accounting and invoicing products are free, whereas their payments solution is pay-per-use and their payroll solution is priced using a monthly base fee with additional costs based on number of payees. Wave’s software solutions are targeted towards entrepreneurs and small business owners since they greatly ease the financial management burden and allow them to become more professional. Furthermore, Wave strives to help their clients build skills, get inspired, and empower themselves and they more recently started offering the Wave Advisors service, which allows clients to book personal meetings and receive VIP treatment from in-house bookkeepers, accounting coaches, and payroll coaches. For example, bookkeeping and payroll support advisors can help run numbers and do calculations by assisting clients with categorization, account reconciliation, payroll and employee setup, timesheet inputs, payroll runs, accountant collaboration, and monthly review calls. Whereas for accounting and payroll coaching, a dedicated professional helps keep a client on the right track through hourly sessions of live coaching or months of email support, for various things from reviewing and correcting an existing account to even setting up or migrating to Wave. I was honoured to spend the past 8 months during my W21 and S21 co-op work terms working a position with the Financial Capabilities (AKA Payments platform) software engineering team at Wave, where I primarily engaged in and led development for the “Risk Toolbox” (RT) project initiative.









Job Description
Unfortunately due to the chaos and impact of COIVD-19, my original co-op placement in Toronto at Wave
Financial Inc. was cancelled for the summer of 2020. However, I was able to keep in touch and land another work term for
my next winter 2021 work term. Furthermore, I really liked it here and we were able to extend my co-op into the summer!
For the past 8 months, I proudly worked as a software engineering co-op on the Financial Capabilities team, formerly
known as the Payments team. Although this position was instead a remote job working from home (WFH), I was luckily able
to spend one day late August in the office with my team when things were getting better and beginning to open up, and the
Wave HQ office in Toronto is amazing and totally worth the trip!
Our Financial Capabilities team deals with many different products and areas of our codebase, all
directly involving clients, customers, and real money movement. We were a fairly large team of about 8-10 engineers, one
team lead, one project manager, one designer, and one business lead, in turn making us one of the largest teams in the
company. Our team was also transitioning to find a suitable agile scrum workflow cycle. To match our large team size, we
were usually working on multiple initiatives simultaneously other than handling point-of-contact and on-call issues, as
well as continuous “Service Up” iterations and improvements. Generally at Wave, it’s employees call it a “Django Python
shop,” as I was told by team leaders. They called it this because nearly all of our code and apps are written in Python,
which I quickly noticed and agreed with in my first few days of training and onboarding.
When I was hired, I was told about a cool new project that I would have the opportunity to lead that
they originally called the Merchant Toolbox initiative, where I would be implementing multiple different third-party APIs
for a new internal tool designed for Wave’s risk analyst team. It was later more accurately dubbed the Risk Toolbox
initiative and was where I focussed nearly all of my capacity at work. As expected, I spent a large portion of my time
working and honing my skills with Python while developing the Central Risk backend of the new Risk Toolbox initiative
that I was the lead developer for. In addition, I also received the opportunity to directly work on and learn more about
HTML, CSS, SCSS, and functional React with webhooks when we created the web interface of the tool. I even got a senior
programmer to mentor me about this in my second term through discussions, multiple one-on-ones, pair programming, and
code review sessions!
Work Highlights
During my time at Wave, I spent nearly all of my time on the Risk Toolbox initiative. Essentially, this
project’s goal was to create an internal tool for our risk analysts so they no longer needed to use flaky, fragile,
high-maintenance web scraping scripts. Not only did these scripts written by a risk analyst frequently not work and
require fixing by other developers at Wave, these would also non-compliantly store sensitive personal information in
plain text fields as notes in some internal tools. In turn, our Risk Toolbox solution would instead directly interact
with relevant third-party APIs in order to obtain the same information, even better data in some cases, in a more secure,
reliable, and maintainable fashion. Additionally, we would construct a fresh new web interface for the risk analysts as
part of the Risk Toolbox.
The first third-party API to be implemented was TransUnion, which would later be followed by Ekata,
PLAID, GIACT, and LexisNexus. Leveraging these would allow risk analysts to have a much better medium to interact with
and use, greatly improving their workflow efficiency and saving lots of time when identifying fraid flash and verifying
credit report, name, address, and bank account information. For TransUnion alone, it would save risk analysts
approximately 10+ hours each week! Another cool point of this project’s design was that it incorporated a database to act
as a caching mechanism to store encrypted responses from the third party APIs for reuse in the future until we deem them
outdated. This feature would save the company lots of money in the future by reducing the number of costly API calls made
to the various third party APIs.
Of the different parts of the Risk Toolbox solution, I spent most of my time on the Central Risk
backend component written in Python with typing as well as the frontend component we called Sonar (formerly called Radar)
of the Central Admin internal tool where the Risk Toolbox resided. More specifically, Sonar consisted of HTML, CSS, SCSS,
and React that also utilized Wave’s custom component libraries known as Bouyant, Lighthouse, and Lightship. As part of
the data transport between the different applications involved, I also learned a lot about RPC and RPCX, Google Protocol
Buffers (protobufs), and encryption in transit and at rest. Specifically, we used AWS Encryption Keys and Fernet to meet
compliance requirements for encryption in transit and at rest, which proved quite challenging as it was an entirely new
concept that I could not handle entirely alone because it required many cross-team discussions that included leaders.
This was especially true if it concerned determining aspects of operations engineering and developer operations within
local, test, staging, and production environments. In addition, I got to obtain more experience with GraphQL through
Sonar, which would make GQL queries to a middleware application known as Reef that would communicate with the Central
Risk backend to make and return data from third party API calls. It also communicated with Coastguard, the backend of
Central Admin, for user verification and authentication so we could ensure only risk analysts and other employees with
the proper permissions were able to view sensitive information.
Fortunately, I was permitted to keep copies of some things from my work term, which included various
things. More importantly, I was allowed to include a copy of the video recording that shows when I did an early company
demo for the Risk Toolbox project for my work term report since it did not show any code or sensitive information.
**Once I process the video, I'll upload it here. Below, you can see the UI created for the Risk Toolbox (filled with
fake data of course).












Goals
-
CRITICAL & CREATIVE THINKING - Creativity:
Wave Mentorship Program: Mobile App
Goal
Using this opportunity, it is my goal to take initiative and be creative when creating a mobile application and heeding the advice of my mentor with years of experience developing mobile apps. It is important to note that this is meant to be an opportunity for the mentee, and as such, the mentor is there for guidance and to provide veteran advice, not to work on the project.
Action Plan
First, research possible languages and decide on what the app will be made in (eg. React-Native) and what platforms it will be created for (eg. iOS, Android, both). After brainstorming and establishing a loosely concrete app idea, my mentor and I agreed this side project will go through the following general process after the core concept is decided:
(1) Screen and navigation design (sketch and/or figma prototype)
(2) Data requirements (at a per screen/navigation basis)
(3) Modular UI component design and implementation (potentially using component libraries)
(4) Storage considerations (local vs online vs hybrid)
(5) Backend/Database considerations (eg. React-Native, Flutter; eg. firebase, AWS amplify)
(6) Write the list of network CRUD methods needed
(7) Hook up services with their components Note: The above is a general outline for the development process of the mobile app, which means that additional features and capabilities are not accounted for. These would be stretch goals, although priorities may change and a new desire to work on a specific feature can take over. This is a hands-on learning experience with a mentor in the form of a side-project, so it should not be restricted by strict plans.
Measure of Success
This opportunity with a mentor is designed to be a learning experience, not meant to necessarily have any tangible results or outcomes, but rather the experience and knowledge gained from the process. Besides my personal opinion about success with regards to this, my mentor will also be able to provide their opinion, especially because they are knowledgeable and experienced as this is their area of expertise. In addition, a shallow form of evaluation could include how much of the previously outlined plan and original process was completed, as well as how satisfied we both are with the quality.
Reflection
Overall, this goal was achieved through multiple discussions about the project and outlining the general process of development because it facilitated a good learning environment where I was able to learn from an experienced mobile engineer at Wave. As expected of the short-term mentorship side project, not much time or effort was allocated for it because it meant sacrificing productivity and capacity on the Risk Toolbox initiative, where I was the sole and/or lead developer. Consequently, this unfortunately resulted in no actual mobile app being created, just as my mentor, Kenny Lam, had warned at the beginning of the mentorship. However, I still gained valuable knowledge from an experienced developer and would be able to utilize it if I choose to create the designed app in the future. For example, I added the general outline of the project to the action plan, which was one of the the results of our discussions and conversations. -
PROFESSIONAL & ETHICAL BEHAVIOUR - Leadership:
Risk Toolbox Initiative, previously known as the Merchant Toolbox Initiative
Goal
My first and primary task for the duration of my work terms upon being hired was being assigned to this project, where I will basically be the sole developer, in turn, also making me a leader. Wave’s risk analysts use many different services’ portals to gather required info about a consumer during analysis, and each requires a login. So, a risk analyst (not a developer) made a web scraping script to do this process and collect info for an analyst instead of them doing it manually, consequently halving the time spent. Unfortunately, this is not really maintained and quite fragile (due to the nature of web scraping), so there are usually problems. Since the developer of this script isn’t a coder, there’s typically a lot of time spent trying to fix these kinds of errors since analysts depend on this script to improve their workflow. As a solution, the Merchant Toolbox initiative project will replace the fragile web scraping script with a professional internal tool for risk analysts at Wave by establishing API connections and retrieving info and displaying it in UI instead. My goal is to hone to and improve my leadership qualities with this opportunity, including vision, direction, guidance, and communication.
Action Plan
In order to complete such a large project where I am lacking in domain knowledge of Wave’s systems, it will be extremely important to communicate regularly and effectively with many people and involved parties so I can learn and ramp up into the working developer environments at Wave. Similarly, communication and cooperation with many involved groups will be vital to the progress of the Merchant Toolbox initiative. For instance, coordinating with my team, supervisor, TransUnion contacts, risk analysts, and security and compliance officers. Through communication, I will be able to efficiently and effectively learn and construct and vision with direction, in turn allowing me to provide accurate guidance about the project. Once I reach this point, I will persevere and complete all tasks to the best of my ability while also maintaining and carrying out the role of a leader for the project.
Measure of Success
As I work on this initiative, I will be reporting to a supervisor that is a senior engineer. They are also a veteran developer with experience leading project initiatives, so they will be able to give accurate measures of my success. In addition to examining the quality of the process and outcome of work for each API developed, it is possible to consider the quantity of APIs completed even if this is a shallow way of measuring success. Loosely, it is expected that the first API (TransUnion) will take approximately 2-3 months. More importantly, they will be able to provide reliable constructive criticism on the qualitative aspects of leadership and communication I show while working on the project.
Reflection
This initiative was an amazing opportunity for which I am grateful because I was able to start a new project and be involved in the analysis and design phases of development, which was new to me. For the majority of my term, I was the sole developer besides my direct supervisor, Alex Georgie, who architected the Risk Toolbox initiative (formerly known as the Merchant Toolbox). Later on, development ramped up and required more capacity than I was capable of by myself. Thus, more people on my team started to work on this initiative with me. I was in charge of getting everyone up to speed and effectively communicating the progress and short term goals for each sprint. In this regard, I believe I showed great initiative, organization, and leadership for the opportunity presented - my supervisor also complimented me for these same things.
My supervisor and I were very satisfied with how I achieved my goal because I was able to experience leading development by myself, contributing from the start of the design phase of the architecture and demonstrating continued leadership when more people were added to further develop the initiative. Furthermore, my supervisor consistently praised my ability to communicate and further improved my communication skills, especially with respect to the cross-team and external third-party communication required in this initiative. Personally, I enjoyed learning how to efficiently and appropriately communicate between all the involved parties in a professional, effective, and timely manner.
Unfortunately, one of the measures of successes I provided for this goal used the number of completed APIs, which truly did end up being a shallow measure of success because this project was underestimated by those involved. We experienced changing scope, requirements, design, and even the burdens of heavy cross-team communication, which all contributed to increasing the time and effort required for this project in turn rendering many initial estimates to be much too low. For example, a major change was when I identified we needed to meet the compliance requirement of both encryption in transit and rest for credit report information as it contained sensitive personal info about its subject person. Consequently, this required a significant impact on design where we eventually decided to incorporate a solution that utilized the AWS Encryption SDK to handle encryption in transit, something that was a brand new implementation for the organization and required many discussions with leaders in the company.
Overall, this was an amazing opportunity and will be a valuable experience in my career and I was ecstatic to hear such positive comments from senior developers and leaders about my work on this project. Personally, I really enjoyed working on this project as it allowed me to learn many things as well as hone my leadership and other interpersonal skills in a professional environment. -
CRITICAL & CREATIVE THINKING - Depth & Breadth of Understanding:
Improve Python Knowledge and Technical Skills
Goal
Learn and experience a professional environment that utilizes Python in the majority of their codebase. Especially, with respect to learning about classes in Python, which I have not gained much exposure to in school.
Action Plan
As I work at Wave, I will be exposed to many different repositories of Python code since most of the apps and services here are built using Python / Django. Throughout my co-op placement at Wave, I will ask to work in these areas and continuously strive to learn more about the programming language. In addition, I will converse with others who are experienced in order to learn more. I will also attend as many technical knowledge shares and tech huddles to learn even more about the programming language and its possible uses while accumulating domain knowledge. In addition, I will try to pair with other experienced programmers on work in this area when possible so I can further hone my skills in a more intimate setting with direct feedback.
Measure of Success
When I make code changes, I will always have multiple experienced developers review my code. By doing this, I will be able to get veteran programmers to bestow their knowledge and experience to me through formal and informal reviews and iterative improvements of the code I write. Each successful modification, improvement, review, and push of code will act as a measure of success towards improving my knowledge and technical skill in Python. Additionally, feedback from my supervisor, teammates, and collaborators can be used to gauge my progress and success.
Reflection
Suffice to say, this was definitely accomplished throughout the duration of my co-op placement because I spent a significant portion working on the Django Python backend, including both prototype, core, auxiliary, and test code. Whenever I made changes, I would make an effort to reach out to multiple senior developers experienced with Python to have them review my PRs. In addition, I would specifically try to incorporate some senior developers on different teams in order to get an even greater range of feedback on how things can be improved. This effort was very fruitful as I received lots of comments and feedback from many people, which led to a significant amount of interesting conversations and discussions on different solutions and general best practices, including different methodologies and approaches depending on the team and repository codebase being reviewed. Moreover, I was able to learn some things on my own from reviewing others' code and furthering my own knowledge.
Additionally, my team was amazing and even prepared subdomain knowledge sharing sessions about many different topics within our organizational codebase. We also conducted weekly tech huddles in addition to the usual team and company demos. I was successfully able to attend nearly all of these different opportunities to share and absorb knowledge largely about, but not limited to, Python since many different people discussed other languages, tech, and tools from. I tried to make the best use of these knowledge sharing sessions and even began utilizing the smaller “tips and tricks” in my own work whenever the situation allowed for it. Learning professional Python and having many veteran developers contribute to honing my knowledge and skills has allowed me to establish a solid foundation in Python where I am confident with my work. To my satisfaction, I also received praise from my supervisor when he personally reviewed my PRs and I was very happy to receive compliments when he was impressed with my work.
Furthermore, as I continued to pursue this goal throughout my time at Wave, I was able to participate and lead multiple pair programming and mobbing sessions. These were great mediums to quickly transfer practical and useful knowledge while directly applying them to our current work. For example, I paired and mobbed on Python code development and testing work both internally within my team and in a cross-team environment. These experiences helped solidify my belief that pairing on work or even just code review definitely has its place in a professional workplace when executed properly. Personally, I find it even more useful when ramping someone up on a project, working on complicated problems and issues, and when starting a new feature or design that requires a different approach from the typical work someone is accustomed to. -
CRITICAL & CREATIVE THINKING - Depth & Breadth of Understanding:
Improve React Frontend Knowledge and Technical Skills
Goal
Learn and experience a professional environment that utilizes React as a main component of their frontend. Especially, with respect to the minimal amount of learning from school regarding React.
Action Plan
As I work at Wave on my Risk Toolbox project initiative, I will be exposed to frontend development in our Sonar app that uses React. I will show my desire and initiative to work in this area in order to gain knowledge and experience in a professional workplace setting. I will also discuss things with other knowledgeable developers and employees in order to further grow my understanding. In addition, I will try to pair with other experienced programmers on work in this area when possible so I can further hone my skills in a more intimate setting with direct feedback.
Measure of Success
When I make code changes, I will always have multiple experienced developers review my code. By doing this, I will be able to get veteran programmers to bestow their knowledge and experience to me through formal and informal reviews and iterative improvements of the code I write. With each modification and improvement, it will act as a measure of success towards improving my knowledge and technical skill in React. Additionally, feedback from my supervisor, teammates, and collaborators can be used to gauge my progress and success.
Reflection
I executed the action plan exactly as detailed. After taking the initiative to express my interest and telling my supervisor about this goal, I received many opportunities to work in our Sonar codebase and gain more experience with HTML, CSS, SCSS, and React. Through my work, PRs, and code reviews, I was able to learn and improve my web development skills through discussions with others. Specifically, my SCSS and React skills progressed a significant amount because I previously did not have much experience with these two.
Furthermore, I was able to pair with my friend and co-worker, Erik Hoffman, for many of the Sonar tasks and he helped mentor and teach me professional and general good habits for this web development stack. He provided honest, great feedback and also complimented me on my organization skills. In particular, he was very impressed and praised me for my strong desire and ability to learn and quickly begin utilizing the new knowledge and skills. I found that pair programming with him worked very well and I was able to learn a lot from our direct interactions during the React development. Later on, I was even able to set everything up and complete Sonar tasks by myself. -
COMMUNICATING - Written Communication:
Communicating Tone and Voice Effectively Through Writing
Goal
This is a priceless, valuable skill usable anywhere and everywhere that has also become more important in the virtual work environments we see more often today. For example, more messages are sent because people work from home instead of meeting or face-to-face talks in the office.
Action Plan
Throughout day-to-day work activities and interactions where I engage in written communication and collaboration, I will practice conveying tone and voice effectively through writing. For example, this entails any messages, emails, or chats I send to others. In order to do so effectively and efficiently, I will read some articles on the topic to improve my knowledge and awareness as well as ask for professional advice from my peers, coworkers, and supervisors.
Measure of Success
In order to gauge my progress and evaluate my tone and voice in written messages, I will install and use the Grammarly extension. This extension evaluates my messages and lets me know my score for tone and voice. It will also send me email reports on my message trends to help me track progress. Using the extension’s scoring system and tone/voice recognition, 5 stars in desirable, positive areas indicates good tone and voice, whereas low scores in those areas and/or high scores in undesirable, negative areas indicates poor progress. Other than using the Grammarly extension, feedback from my supervisor, teammates, and collaborators can be used to gauge my progress and success.
Reflection
Previously, I practiced writing in a neutral tone and voice as that is what I have learned and practiced since high school. However, this can lead to misunderstandings since it is easy for a reader to look at it and interpret it negatively. Therefore, I made it my goal to practice writing in a positive tone and voice so it won’t be accidentally misread. After announcing my goal and attention to my team and others I worked and communicated with, I gathered their feedback periodically in order to gauge my progress in a qualitative manner and look for constructive criticism. I was happy to achieve my goal of having everyone positively agree that my tone and voice for written communication has improved and no longer is presented in such a neutral tone. In fact, many of my co-workers complimented me on being upbeat, positive, and always displaying such good energy. To everyone’s amusement, some of my co-workers even gave me kudos on my use of emojis and GIFs. It started a trend where they started to be used more frequently and I think it brightened up everyone’s day a little bit.
With regards to the Grammarly extension, it worked really well even if it was still in beta. Unfortunately, my account never received history tracking of how my overall tone and voice changed over a weekly basis. However, my team leader personally tried to keep track of this for my co-op goal. He was very pleased with the improvement of my written communication and said that I consistently demonstrated a positive tone and voice. A large part of my success was due to Grammarly since it would display up to 3 different qualitative categories for tone and voice on a 5-star scale. I leveraged this to ensure that the messages and emails I wrote were always 4-5 star rating in the positive connotation categories of its tone detector (such as Friendly, Optimistic, Appreciative, Encouraging, Excited, etc.) while avoiding neutral and negative connotation categories (such as Forceful, Angry, Egocentric, Neutral, Accusatory, Argumentative, etc.). Although I most probably will not be consistently using it on my personal computer, I will definitely consider looking at the Grammarly extension for its tone detector when it is further improved and polished.
Conclusions
Over the past 8 months at Wave, I learned many things, continuously improved my knowledge, and honed multiple skills. Not only were the workplace culture and my team amazing, but even the company as a whole carried themselves in such a unique and positive way despite only having virtual platforms for communication when working from home during the pandemic. This was such an amazing opportunity and I really enjoyed my time working at Wave because of the friends I made and the important work we did to empower small business owners. Everyone was very supportive of me as a co-op especially, providing me with many challenges and opportunities to learn and apply my skills. To continue, I’m especially honoured to have been trusted with leading development for an important project that will be constantly used by our risk analysts because it allowed me to obtain professional experience for all parts of software development besides the typical implementation phase. Of all my co-op experiences, this was definitely the most enjoyable and I would strongly consider a future full-time position at Wave if given an official offer.









Acknowledgements
I’d like to give a special thank you to some people that have contributed to my growth and made a significant impact on my experience over the last 8 months at Wave. Usually, this list is a lot more contained; however, I worked in a cross-team capacity for a large portion of my time at Wave and wanted to include all of the following people in my list of acknowledgements:
- Kathryn Torangeau - Senior People & Culture Manager (People & Culture)
- Helenja Wolfaardt - Senior Talent Acquisition Manager (People & Culture)
- Maha Akhter - People & Culture Manager (People & Culture)
- Josh Siegal - VP Organizational Effectiveness (People & Culture)
- Bob Przybyla (Owner of Wave) - Senior IT Manager (People & Culture)
- Tom Janz (Owner of Wave) - IT Manager (People & Culture)
- Ali Shoula (Workspace Admin) - IT Administrator (People & Culture)
- Raza Saiyidain - IT Administrator (People & Culture)
- Kenny Lam - Mobile Engineer (Platform Engineering, Mobile Team)
- Nathan Duthoit - Staff Engineer (Ops Engineering, Infrastructure)
- April Baird - Staff Operations Engineer (Ops Engineering, Infrastructure)
- Alex Smith - Operations Engineer (Ops Engineering, Infrastructure)
- Mike Robinson - Operations Engineer (Ops Engineering, Infrastructure)
- Emmanuel Ballerini - Staff Engineer (Dev systems)
- Wendell Nichols - Senior Software Engineer (Dev Systems)
- Tarun Singh - Software Engineer (Dev Systems)
For clarity's sake, the people I worked with more frequently have their own section below:
- Swapneel Mehta - Fraud & Risk Director (Risk Team)
- Felix Crux - Engineering Director (Identity & Profiles)
- Soroosh Ahmadi - Senior Software Engineer (Identity & Profiles)
- Jean-Mark Wright - Senior Software Engineer (Identity & Profiles)
- Amin Gilani - Software Engineer (Identity & Profiles)
- Mayowa Falade - Software Engineer (Identity & Profiles)
- Dylan Pomeroy - Software Engineer (Financial Capabilities -> Accounts Receivable, Customers, and Sales (ARCS))
- Jaclyne Ooi - Product Designer (Product Design Team, designer for Financial Capabilities -> Mobile)
- Alex Georgie (Supervisor #1) - Senior Software Engineer -> Engineering Lead (Financial Capabilities) -> Then left Wave to work at Stripe NY
- Reza Rahimi - Business Unit/Operations Lead/Director (Financial Capabilities)
- Rezaul Hoque - Engineering Director / Director of Engineering (Financial Capabilities)
- Baker Baha - Product Manager (Product Management, Financial Capabilities)
- Farrukh Ahmed - Staff Engineer (Financial Capabilities)
- Xinyu (AKA Jerry) Hou (Supervisor #2) - Engineering Team lead (Financial Capabilities)
- Dale Beesley - Senior Software Engineer -> Staff Engineer (Financial Capabilities)
- Semhar Ghide - Software Engineer (Financial Capabilities)
- Saad Shakil - Software Engineer (Financial Capabilities)
- Chinmay Bhattar - Senior Software Engineer (Financial Capabilities)
- Hariharan Jayaraman - Senior Software Engineer (Financial Capabilities)
- Erik Hoffman - Software Engineer (Financial Capabilities)
- Calvin Lui - Software Engineer (Financial Capabilities)
- Ali Zenaish Karim Noorani - Software Engineer (Financial Capabilities)
- Joyce Bacic - Software Engineering Co-op (Accounts Receivable, Customers, and Sales (ARCS))
- Kanishkan Kukarajah - Software Engineer Co-op (Dev Systems)
More specifically, I wanted to give a few personal shout-outs to a some people who had the biggest impacts on my experience:
- Alex Georgie, although it was your first time supervising someone, you were always very open and continued to improve. Thank you for allowing me to contribute my ideas to the architecture and design of the Risk Toolbox. Even if you rejected some of them, it was a valuable experience since it’s uncommon to work on those stages of development as a co-op. I really appreciated all the time and effort you demonstrated to make sure my experience here was enjoyable and that I was getting the most out of what I was doing. Thank you for always having my best interests in mind, pushing me to achieve my goals, letting me have the freedom to learn on my own (and make mistakes sometimes), and looking out for me throughout it all ready to jump in and help when I need it.
- Erik Hoffman, you joined as a full-time software engineer the same day as me and we hit it off right away. It was always great having a friend to talk with during the work day, whether it was bouncing ideas, discussing some things about work in an informal context, or even chatting about other topics not related to work. Closer to the end of my co-op, you jumped right into the Risk Toolbox initiative and quickly got up to speed and helped further progress for the project. Your amicable presence and strong drive to succeed are very admirable and I hope I will also be able to be on that level when I gain my professional experience in the workplace as a full-time employee. Most importantly, thank you for volunteering for and mentoring me about frontend development when I said I wanted to gain more experience in that area when we began developing Sonar for the Risk Toolbox. You were a great mentor and pair programming partner because you are very understanding, easy to understand, open to ideas, and very easy to cooperate with.