The purpose of this webpage is to give an overview of the projects that have I worked on and the concepts that I have learned during my time working at Co-operators (January-August 2024). I will be describing what Co-operators is, the goals that I set for myself during this internship, and my role in the company.
Co-operators is a Canadian insurance company offering a range of financial services including home, auto, life, and business insurance, as well as investment products. Their headquarters is located in Guelph, Ontario.
The Quality Engineering (QE) team is dedicated to ensuring the reliability and performance of the company's insurance applications through rigorous and continuous testing. They utilize a comprehensive suite of tools and technologies including Selenium for automated browser testing, Java and Python for scripting and back-end testing, Cucumber for behavior-driven development (BDD) and ensuring tests align with business requirements, JavaScript for front-end validation, and Jenkins for continuous integration and delivery. By integrating these tools into their workflow, the QE team can consistently identify and resolve issues, ensuring that all applications meet high standards of quality and functionality before reaching the end-users.
As a Test Automation Developer at Co-operators, my responsibilities mainly consisted of the following:
Entering this co-op term, I had several goals that I wanted to achieve with regard to developing new skills and strengthening existing ones:
By becoming with familiar with the Selenium testing framework, I gain a thorough understanding of Quality Engineering
concepts, and the role that testing frameworks play in them.
Through my previous co-op terms at Roche and RBC, I have learned first-hand the impact of software engineering on the pharmaceutical
and banking industries. By working with the quality engineering team at Co-operators, and networking with other software development teams
within the company, I can gain a better understanding of how software development has benefitted the insurance industry.
An important lesson that I have learned through my prior experience as a co-op student is that part of my job is to bring forth
new ideas that can help increase the productivity and efficiency of the team that I work with. Introducing new tools and/or processes that
can potentially help the test automation team meet their goals will significantly improve the value I bring to the table as a co-op student.
I have gone above and beyond in achieving my original goal of familiarizing myself with the Selenium testing framework.
My work with regression testing and debugging defects has helped me gain a very thorough understanding of how Selenium
assists in the requirements of a quality engineering team. In addition, I was also given the task of monitoring the Jenkins
automated daily runs that also uses Selenium-integration. By doing so, I have gained a proficiency in Selenium-based application testing
both locally and on hosted servers.
I have shown great initiative in reaching out to different software development teams to learn more about how software engineering
impacts the insurance industry. I was given the opportunity to connect with
Austin Bursey
from the Dev-Ops team to inquire about the role that his team plays in Quality Engineering for our insurance applications. He also
linked me to a LinkedIn learning course that dives deeper into the role that Dev-Ops plays in deployment processes. I will be
using that course to continue to better my understanding of Dev-Ops in the second half of my co-op term.
Throughout the first 4 months of this co-op term, I was able to improve the team's productivity and efficiency by suggesting and implementing the following:
For my second work term with Co-operators, my goals were focused around building on the foundation of knowledge that I acquired in the first 4 months of this internship.
These tasks will greatly benefit my next work experience by enhancing both my technical and interpersonal skills. Collaborating with the DevOps team to resolve Jenkins pipeline issues will deepen my understanding of CI/CD processes and foster teamwork and problem-solving skills in a cross-functional environment. Learning and implementing new methods for analyzing test data in Excel will strengthen my analytical abilities and proficiency in data handling. Additionally, networking with people in management roles will expand my professional network, provide insights into leadership paths, and help me learn from experienced colleagues.
Reflecting on my efforts to achieve these goals, I am pleased with the progress I made in
expanding my professional network and enhancing my technical skills. I attended all major
in-person work events and took the initiative to introduce myself to several people in
management roles. These interactions allowed me to learn more about the career journeys and
leadership styles of experienced colleagues. By engaging in meaningful conversations and
asking insightful questions, I was able to establish connections that could be valuable for
my professional growth. These experiences have provided me with a broader perspective on the
different paths to leadership within the company and have helped me build a network of
mentors and peers who can offer guidance and support.
On the technical side, I effectively collaborated with the DevOps team to address
configuration-related issues in the Jenkins pipeline. I set up a group chat with my team
and a few representatives from DevOps to ensure continuous communication and real-time
updates about any issues that occurred on our application. This proactive approach helped in
quickly identifying and resolving problems, thereby improving the stability and efficiency of
our pipeline. Additionally, I focused on improving our test data analysis by leveraging Excel
charts and formulas to create comprehensive reports. These reports provided valuable
insights, such as test case run times by server, test case pass rates by product line, and
the number of defects per issue type. By presenting this data in an accessible format, I
facilitated better decision-making and helped my team focus on areas that required attention,
ultimately contributing to improved product quality and performance.
Throughout both my work terms at Co-operators, I have gained a thorough understanding of the role that Quality Engineering plays in insurance applications. My role on the QE Automation team has significantly strengthened my knowledge in concepts such as CI/CD pipelines, data collection, and defect reporting. Overall, these experiences have equipped me with a strong foundation in quality engineering practices and have prepared me to contribute effectively to future projects that demand a high standard of software quality and reliability.
I would like to express my heartfelt gratitude to my supervisor, Emil Sathiya, for his exceptional attentiveness to my learning objectives and his unwavering support in helping me achieve my goals during this co-op term. Emil's commitment to my professional development has been instrumental in my progress. I am also deeply appreciative of my teammate, Joseph Coffa, who has been a tremendous mentor throughout this experience. Joseph has been my go-to person for overcoming any blockers I've encountered in my tasks, and his approach to problem-solving and work ethic has been both inspiring and educational. Their guidance and support have greatly enhanced my co-op experience.