Intel Internship
Intel Canada is an amazing places for CS students doing internships. During my 12-months internship at Intel, I had the opportunty to collaborate with smart and kind colleagues, and work on real projects with high impact. I have learnt a lot during my internship at Intel, both soft skills and hard skills, and these skills would help me for future employment opportunities.
Work place is not a passive environment like university. In the work place, an employee should be able to ask for help and give feedbacks proactively. Each manager is responsible for at least 5 team member, and in the fast-paced enterprise setting, a manager would not have enough time to ask for feedback on a regular basis. I was not a very active team member at the beginning of the internship, and I required other people to ask to give feedbacks. My manager noticed this problem and mentioned to me that be more active could help me build stronger connection with other team members. Also, give frequent feedback could help manager and other colleagues have better understanding of the progress and status, and could help with any delays if needed. Also, he suggested that keeping a note of daily progress could help the daily stand-up and productivity. I took his suggestions, and my work experience and performance had improved a lot since then.
Beside soft skills like communication and scheduling, I have also learnt a lot of hard skills in the past 12 months. Intel has a large code base for its compiler products, and it is almost impossible to know every detail of the software design to fix bugs or add new features. I was assigned a project to add a new feature for the Intel product, and I was having a difficult time to implement that new feature because I cannot find the entry point of the software. I was planning to go from the entry point and make modifications as I was tracing the software. Because of my wrong strategy deciding the implmentation direction, I struggled for several days and I still could not make any meaningful progress. During my weekly meeting with my manager, he noticed my problem in contributing to large code base softwares. He told me that an engineer does not and should not know every aspects of the software before he/she could make a contribution. He mentioned that I should find the place where I need to make modification and continue from there, not trying to find the entry point of the software and understand all aspects of the program. I was inspired by his suggestion, and I could make progress after the meeting.
Aside from all the skills I have aquired during my Intel internship, I also had the chance to experience how large tech enterprises build softwares with hundreds of employees. At Intel, I had the chance to use various collaboration and documentation tools, as well as experiencing the infrastructure that supports the development of Intel products. The importance of infrastructure should not be undermined and building an efficient and easy-to-use infrastructure could help with the productivity of product development.