Kaitech

What year are you?

Although all students can apply to internships regardless of their year, there is still a distinction between lowerclassmen and upperclassmen.

Freshmen and Sophomores

Usually, in freshman and sophomore year students explore their interests and take general courses to get familiar with the fields here.

But…

If you have already decided that you are going to CS or you want a future job requiring CS than in my opinion you better focus only on CS courses. Some fundamental courses like data structures, algorithms, and discrete math are essential and I highly recommend studying them meticulously - all other courses will be built on top of these fundamental courses. Additionally, tech interviews will thoroughly check your knowledge of these fundamental courses, so now you have at least 2 reasons to study them.

However, the learning part of your journey lies outside of the class. For example, passing the Algorithms class doesn’t mean that you will be solving all algorithmic problems easily during interviews. It merely means that you were given a structured way to learn the basics of the subjects. It is a good habit to work on the areas you want to improve off class as it will pay itself in the future. The reason for my concern is that you will be asked to solve algorithmic problems under some time limit, while also communicating with the interviewer. It is not an easy task, and it is dangerous to underestimate its difficulty. Therefore I think that studying Algorithms, Data Structures, and Discrete Math have to be accompanied by solving problems (like Leetcode) in order to solidify your problem-solving skills and be better prepared for algorithmic interviews.

Finding internship as lowerclassman

Finding an internship in the first 2 years is going to be very hard, I have to admit. It is because companies are usually looking for people who are in junior or senior year as they can be converted to full-time employees right after graduation. Some companies don’t explicitly state these requirements, so if you were rejected, it doesn't necessarily mean that you are not capable - it merely means that you have to wait till your junior year. However, in my opinion, you still better apply to companies, so you can gather a lot of experience and you will be more than ready for your junior year - the period when companies are more likely to take you as an intern.

Some internship programs and scholarships are specifically aimed at freshmen and sophomores so you have to search for them. Usually, they are hidden under usual job openings or you need to go to different sites, but applying to them is worth it.

Here are some that I can get of top:

Also as a student of KAIST, you can also apply to CUop program, which is a partnership between university and companies to offer internships to students.

Junior and Senior

I consider the junior year to be a golden period as you have still one year to graduate which means companies are more likely to accept you. Also, by this time you are likely to be experienced in CS, compared to your freshman and sophomore years.

During this time you can also start thinking about what you are going to do after graduation. If you are going to continue your studies by going to a Master's or Ph.D. program you still can go to internships. However, if you plan to start working, you have to prepare yourself beforehand. Usually, it is a good practice to apply for full-time positions 0.5-1 year before the start.

Important note: Whenever you open a job board of a company tries to search for 'New grad' or 'Fresh grad' positions as they usually indicate that they are recruiting people who have graduated 'recently' from the university. 'Recently' is a bit of a loose term, but usually, you are considered a 'fresh grad' within a span of 1-2 years after you have graduated university.

Useful resources

So You Want an Internship - For those seeking software engineering internships

Edit this page on GitHub