Although I’ll mainly focus on why a Computer Science student needs to intern during his studies, probably this applies to all students in general.
When I was a 2nd-year student, I realized that the knowledge I get from my university courses is beneficial but not enough for the job market. Sometimes, the way academia approaches modern software is too stale, and as a result, computer science students are not ready to get a new software engineering job after graduation. The knowledge you gain is (most of the time) necessary. Still, modern technologies that are required even for an entry-level position - such as using a version control system, e.g. Git - are never taught or presented to the students.
I fully understand that some skills can’t be taught. For example, nobody can teach you how to approach a problem, divide it into smaller ones and think of a solution. You can learn these skills only with hands-on experience. I could contemplate why but it would distract the reader from the topic of the article.
Realizing this, during my 2nd year at the university, I actively looked for an internship during the summer. Even though I don’t know the exact number, I’m sure that I applied to more than 50 companies. I secured an internship during mid-November, but the company unexpectedly cancelled because of the COVID-19 crisis.
At that point, I got anxious about whether another company would hire me for another internship or not. I kept applying to every Software Engineering or Data Science internship I found online. I used a variety of tools such as LinkedIn, AngelList, WeWorkRemotely, Remote.co, and many others. To most of my applications, I didn’t even hear back.
I also used to listen to my favourite podcast, Feta Report. At some point, I had a question about the podcast and reached out to them through the website. I received an answer, and already knowing that the host works in the IT industry, I told him that I’m searching for an Internship. He gladly replied that he could help and we could collaborate on some project if I wanted to.
I gladly accepted, and we started working on the project a little time after. The project was some great open-source work that you can find here. Throughout the project, I got familiar with tools such as Git(Issues, Pull Requests, Commits), Python, CI/CD, tools that you most probably won’t work with during your studies. I also got better communication skills. Especially for software engineers, working in an English speaking environment as a non-native English speaker is crucial. Job descriptions don’t specify how important it is for the candidate to be fluent in English, both orally and written. If you’re not fluent enough, you won’t pass even the early interview rounds.
Later that summer, having successfully finished our project, my collaborator got back and offered me a paid internship at the startup he worked for. I accepted the offer and worked as an intern with the company for a month. The experience was great for me and my CV.
Having that experience before, I started searching for an internship for the following summer during October. Because of my previous work experience, the companies we’re inviting me for an interview more easily. I ended up accepting an offer from Citrix. My experience with Citrix was far better than I could imagine. Working in such a large enterprise environment is life-changing for a 3rd-year student. They have specially designed programs for interns so that they offer a great internship experience to them.
I want to clarify from the article that an internship gives you much more than some extra work experience on your CV. I usually state that you pass “From the ocean to a small lake” of candidates who have completed internships before and are more job-ready for graduate and junior positions.
My advice to every student:
- Organize your LinkedIn profile so that you have a very professional presence online.
- Even during your first year as a student, do your best to find a summer internship. Worst case, even an unpaid one if you can afford it. Consider it as an investment in yourself.
- Fight against your Imposter Syndrome. As a student, you most probably don’t have much knowledge. Employers know that. Let the employers decide if you’re qualified for the job or not.
- Make as many applications as possible. The more you apply, the better chance you get for an interview. There is the chance to impress the interviewer and eventually get the job.
- If you don’t feel confident with your English language knowledge, work on it. You may find Duolingo useful for that purpose.
To conclude, internships make you better both as a person and as an employee. My previous experiences from interviews and jobs make me much more confident to search for my next graduate/junior position as a Software Engineer or a Data Scientist.