Program: Co-operative Education Work Term 1 Work Term 2 Organization Gravit-e Technologies Position Title Software QA Engineer Location: Vancouver British Columbia Canada Experience Faculty Science › Mathematics share As a result of this internship opportunity, I have become better equipped for future endeavors within the tech industry and provided me with a greater understanding of how to succeed in the software industry. Experience Details Semester Fall Spring Year 2022 2023 Introduction + Preparation Previous Experience As a first-time co-op student without any work experience in the industry, I relied on my skills and knowledge gained from past academic projects and education to demonstrate my knowledge in basic software tools and thinking. In addition to customer service experience, academic classes taught me critical thinking and considering edge cases. These skills helped debug client projects containing critical features necessary for their daily operations. I used my experience gained from my previous customer facing role to explain communication and interpersonal skills that were useful for this new position. Both these experiences contributed greatly while working for clients by applying the problem-solving skills learned. Overall, it was an excellent opportunity to refine existing abilities while learning valuable insights into software development processes! Preparation Tips for Future Students Prior to the internship, I had multiple programming projects to demonstrate to the interviewers that I had prior coding experience and that I understood some of the common problems and was familiar with some of the tools that they used. Once I secured the position, having a positive mindset to improve myself was necessary. Although I was initially nervous and sometimes made mistakes, I quickly realized that things progressed at a reasonable pace, allowing me ample time to acclimate to the environment and gain confidence in the required skills. Throughout the work term, I learned the importance of asking questions, starting from the first day. My interest in the work itself allowed me to quickly learn the required material faster than expected, allowing me to take on more advanced tasks. During my Experience Orientation and First Weeks During my orientation phase, I learned about the company's culture and values, as well as their objectives. I met with my team members and other members in the organization to discuss our roles and responsibilities for the co-op term. For the first 2 days, I was busy setting up software and accounts required for testing on the company laptop. We were also required to read documentation and resources provided by the company. Furthermore, we did sandbox activities to become more familiar with workflows required for the position. By day three, simpler tasks were assigned to me which helped me understand procedures that were introduced during orientation. My team members assisted me in solving technical problems while giving feedback on how my work could be improved. In addition, attending team meetings gave me an opportunity to meet different people within the organization and understand their roles. The first week was a good balance of orientation materials and meeting new colleagues. Future co-op students should pay close attention to training modules while reaching out for guidance from colleagues when needed. Finally, taking advantage of resources during orientation can set students up for success throughout their co-op experience like it did for me! Day to Day As a QA Software Tester at Gravit-e, my main responsibility was to test builds for defects that could cause issues with client applications. My team and I ensured that these issues were fixed before the build was released to production. To do this, we received a list of changes from the developer which we had to understand thoroughly. We then ran existing test cases and created new ones based on edge cases to ensure complete coverage. After executing the tests, we reported our findings back to the developer and communicated any missing test cases or bugs found in the software. During free time, we either worked on learning new tools, or trying to improve existing documentation or automating some tasks. Learning and Adaptation My internship provided me with hands-on experience in testing, where I created test cases, executed test plans, and reported defects. This helped me to understand the importance of testing and its impact on software quality. I learned about different testing methodologies such as manual, automated, and exploratory testing. Additionally, understanding various types of functional testing like performance and security helped me identify suitable approaches for different projects. Working with different teams allowed me to develop communication skills that are essential in software development. Adapting to various tools broadened my knowledge while prioritizing tasks taught time management effectively. Throughout my internship experience, receiving feedback was crucial for skill development. By asking questions about edits made by colleagues who reviewed my work improved readability or "best practice". It also helped me understand their thought process for wanting it done a certain way. Understanding how all parts of a project work together is an essential part of QA's job. We constantly have to think how new features might change the product existing functionality. Being able to logical reasoning and learn played a significant role when identifying bugs. In conclusion, this internship taught me practical skills related to software QA that will help shape my career path as well as providing valuable insights into what goes on behind-the-scenes during the development cycle from start-to-finish! Accomplishments and Challenges One of the most significant challenges was learning new features or setting up an application due to complex software with outdated documentation. It was difficult since documentation was outdated, so I spent a lot of time debugging to understand what had changed. Debugging took a considerable amount of time. To help others in similar situations, I updated documentation for problematic areas and newly added features that were useful for new co-ops joining mid-way through projects. Another challenge during my internship was dealing with unfamiliar architecture that required a lot of time to understand properly before creating test cases. Projects were often complex, where a change could easily break in multiple places. However, with help from mentors and team members, I overcame this obstacle and even learned Katalon Studio and Postman to automate some of the testing in complex projects where manual testing could be repetitive and prone to errors. Despite facing several obstacles throughout my co-op experience, it was both challenging and rewarding as it allowed me to accomplish much work by staying positive, seeking help when needed whilst practicing skills towards improving efficiency. Social and Extracurricular Activities During my software QA internship, we had a unique tradition called "Grease Day" where team members focused on self-improvement and bonding. Activities included attending technology workshops, working on personal projects or learning new skills. The day also includes a free lunch for the entire office to build stronger connections between team members and foster an environment of growth. Additionally, we celebrated the holiday season with an annual Christmas dinner that allowed us to unwind outside of work by playing board games and enjoying delicious food together. This event highlighted the importance of work-life balance and building strong relationships with colleagues beyond just the workplace. Reflection & Tips Reflection My co-op experience provided me with a wealth of knowledge and skills that I will carry throughout my career. Among the many things I learned, being able to work in a team environment, effectively communicate complex ideas, adapt to new technologies and software are some of the most notable. Learning how to quickly learn new tools was one of the biggest growth opportunities during my co-op experience. Since working on multiple projects requires learning different sets of tools for each project, it became necessary to understand how these tools worked efficiently. This experience taught me the importance of learning things quickly and adapting to new issues as they arise. Another crucial skill that this experience has helped develop is communication - frequent communication with developers improved productivity significantly. Furthermore, this co-op experience reaffirmed my passion for using software development in streamlining tedious tasks while improving lives' quality. For my next co-op position, I hope to become a software developer. Throughout my internship period, I gained valuable professional insights into various types of testing such as UI testing (automated or manual) and security testing by working on diverse projects firsthand. Overall, this co-op opportunity has equipped me with an excellent foundation for achieving future career aspirations within the industry. Most Valuable Aspects of This Experience My experience at Gravit-e was extremely valuable, particularly working with passionate software developers who helped clients and non-profit organizations automate their businesses through software. This provided me with a unique perspective on commercial software development projects. I became familiarized with multiple testing tools while also attending my first Team Meetings. Initially, I felt confident but soon realized the complexity of various approaches to software QA. Learning how to learn these tools was equally important since it allowed me to be more comfortable when faced with new challenges in the future. Even if struggling at first, this experience has given me confidence in taking first steps towards problem-solving whenever nothing seems clear-cut. Connection to Academic Studies or Career Goals As a software QA intern, I gained my first hands-on experience in the tech industry. The internship allowed me to apply what I learned in school and use it in a real-world environment. While learning about software testing was essential, applying those concepts professionally during the projects gave me an entirely new perspective on its significance. During the internship, I had the opportunity to work with common testing tools that were unfamiliar to me before. Using these tools for company projects helped me understand that positions like this are much more than just knowing how to test; they require attention to detail and teamwork. Furthermore, working alongside developers, business analysts and project managers provided insight into each role's responsibilities and highlighted the importance of communication processes throughout software development. Although QA has been enjoyable so far, through this work experience term, I felt drawn more towards software development as my career goal. Learning from web development fundamentals will help expand my skill set further into other areas while continuing taking relevant classes. Overall, this experience taught me crucial skills such as working collaboratively within teams' dynamic environments and incorporating new technologies into my workflow efficiently. As a result of this internship opportunity, I have become better equipped for future endeavors within the tech industry and provided me with a greater understanding of how to succeed in the software industry. Advice for Future Students I recommend students interested in software development to try a QA position since it teaches useful skills that can be applied to future positions. Critical thinking, communication and self-teaching are essential for the role. Although intimidating at first, everyone is there to help you succeed so being open-minded, flexible and willing to learn new things is crucial. Use the co-op term as an opportunity to learn by asking questions during meetings or taking initiatives like creating automated tools or improving documentation. Being open to feedback and constructive criticism while working hard will lead to a successful co-op experience and progress towards career goals.