Having four semesters of co-op experience, and I have learned that one of the most important skills at work is communication. Communication skills are arguably more important than the technical skills a co-op student could bring to the company.
For example, if a co-op has the technical knowledge of how to code in C++, this skill would not reach its full potential without proper communication of the requirements for the project. As a Computer Engineering student, the technical knowledge that I gained working from both Appnovation Technologies and Tantalus System Corporations are tools used to solve and analyze problems. However, although technical skills help to solve problems, communication is an important aspect when problem-solving. This is why communication skills are important wherever you work.
Communicating for Customer Satisfaction
For my first co-op placement in Tantalus, I worked as an Endpoint Quality Assurance Engineer. I learned that it is the role of the Engineer to always maintain stakeholder expectations. For each project that I worked on, it was important to continuously update the stakeholder on the progress of the product. For example, if there were any delays in testing a specific functionality, I would let the Project Manager know so he could adjust resources and time allocations.
In this role, I also needed to ensure that the customer received a product that met their requirements and ensures that there were minimal issues. Communication with the customer was important because if there were any bugs with the product, I could describe the root cause of the problem instead of describing the symptoms of the problem. Root cause analysis is a mechanism of identifying a defect in the product. This is important because identifying the root cause would ensure that the main problem is fixed, providing quality to the product being delivered to the customer.
Open communication is a vital skill for an Engineer to be able to prevent a problem for a client, which ultimately benefits the company.
Communicating to Problem Solve as a Team
When I worked at Appnovation Technologies, I was a Software Quality Assurance Engineer. In this role, I was able to develop my communication skills by learning how to organize requirements in the Behavior Driven Development (BDD) format. The BDD format is broken down into three separate components: "Given, When, Then". Take, for example, the SFU website. The "Given" is the expectation of the environment that I would be testing, which would be the SFU website itself. The "When" is the action performed by the user such as clicking a link on the SFU website. Finally, the "Then" represents the expectations of the action. In this case, it would be the website being redirected to another link. With each test scenario broken down, it becomes clear if a requirement is skipped, blocked or not met. Moreover, I also had to increase my knowledge in Agile Methodology to help with the software development process.
Communication was important for this position because our team would communicate daily at scrum meetings. At these meetings, we discussed problems and blockers, which were solved quickly to ensure that the project ran smoothly. As a result, a shippable product was created for the clients
The Importance of Co-op
Both of the companies I worked for use a slightly modified way of Agile Testing. Regardless of the software development process chosen, constant communication is the key to a project being successful.
I feel that my co-op experience has been priceless. It has helped to build my professional network, allowed me to solve real life problems and provided me with the experience I wouldn’t receive from just taking classes. Taking a break from classes allowed me to take a step back and view the larger picture. It has helped me focus on what I want to achieve after graduation and motivated me to solve and analyze problems in more efficient ways.