So you’re looking to land a computer science internship. But with so many options, it can be hard to know where to start. You likely have a lot of questions: How do I find internships to apply to? How should I prepare if I’m offered an interview? What can I expect to do once I land the job?
That’s why we’ve created this comprehensive guide to the computer science internship process. Here’s how to find and land your dream CS internship and what to expect once you’re hired.
Finding an internship
The first step to getting a CS internship is, of course, finding one. The recruitment cycle for summer internships begins before the school year starts, around mid-August. I highly recommend applying early whenever possible, as some positions are filled on a rolling basis, so the earlier they see your app, the more likely you are to get accepted. There are a ton of options out there, but they can sometimes be tough to find and even harder to land, at least for some of the big companies.
Here are four tips for finding the right internship:
1. Get your foot in the door by attending career fairs. Most colleges hold career fairs on campus throughout the year. Some of these fairs may even be CS-specific. Meeting a recruiter face to face, being able to ask your questions directly, and presenting yourself well will go a long way in securing a spot at their company.
2. Reach out to your computer science contacts. Referrals are super helpful if you know someone in the company you’re applying to. Has a classmate done an internship with your dream company before? Do you have a family friend who works in tech? Search through your LinkedIn contacts and don’t be afraid to reach out.
3. Get free job search and application support from an industry mentor through Edlyft’s intern development program. If accepted into the program, you’ll be assigned a mentor to support you through your internship application process. They’ll take a look at your resume, conduct mock interviews, and maybe even offer a referral.
4. Consider applying cold. There are job posting sites all over the internet: Indeed, Google Jobs, LinkedIn, and Handshake, to name a few. Most, if not all, tech companies are hiring interns, and while the search process can get a little tedious, scrolling through these postings and applying to all of the ones that appeal to you is a good idea.
Bonus Tip: Don’t neglect smaller companies or start-ups! You don't have to work for the Googles or Amazons of the world. You may even prefer working at a smaller company. Do not overlook an opportunity because you don’t recognize the company’s name.
The interview process
So now you know the best ways to get seen by companies. But how do you prepare for their response?
The first, and most important part of your application is your resume. There are so many opinions and guides on resumes out there that I won’t also go too in-depth into them here. However, an important note is to show any relevant experience for the specific position. Read the job listing thoroughly and highlight any club involvement, leadership roles, personal projects, or related coursework that’s relevant to the skills listed in the job description.
Bonus Tip: Recruiters may not read the entire page, so make sure you have the important information bolded and easily readable, so they can quickly scan through it and learn about why you’d be a great fit.
If a recruiter likes your resume, you'll be invited to the next step of the recruitment process, which varies between companies. A common next step is the Online Assessment—a timed test of your coding knowledge, where you’ll have about an hour or two to solve a few interview questions.
These problems will be similar to the ones on Leetcode, and difficulty can range from position to position. The best way to prepare for these is to invest time into completing practice problems. If you apply to a bunch of internships, you will probably receive many of these (they are different for each company). Companies often give you about a week to complete the assessment. Make sure you budget out time in your week to complete these and don’t overwhelm yourself with too many at once.
If you pass the OA, you will likely be invited to a technical interview. This interview will be similar in content to the OA, but you’ll be solving it live (whether in person or over the internet), not only coding the solution but explaining your thought process. This can feel more stressful than the OA, but I prefer to think of it as a better way to showcase your knowledge, by verbalizing your thought process and showing your understanding of what you’re doing.
One thing to note is that not all companies require a technical interview. Some companies may use a more traditional interview approach—asking behavioral questions to get a sense of how you work. You may have just one type or the other, a combination interview, or even both. For instance, my internship last summer’s interviewing process was only behavioral, but I had to do a few, with different managers.
What to Expect on the Job
So you got accepted! Now, you’re probably wondering what the position will entail. Most CS summer internships run from 9 to 5, Monday through Friday (40 hours a week), for around 8-10 weeks. Your supervisor will lead you through onboarding and answer any questions you have.
Roles and responsibilities will vary greatly across both companies and positions. You’ll likely attend meetings and events, do independent work, and be assigned a mentor to guide you through your time there.
Don’t be too worried about not knowing exactly how to do what you’re supposed to when you start. You will probably learn most of what you need through training on the job, and hopefully gain a lot of insight into your future career.
Alternatives to the CS internship
The CS internship application process can be grueling. Competition is fierce, and you’ll likely face rejection from some companies you apply to. But that doesn’t mean you should take a break from CS this summer. Personal projects are a great way to fill your summer if you don’t get an internship. Plus, they will greatly improve your applications the next cycle around. Similarly, getting a research position is a rewarding experience and a great resume boost.
For more computer science internship tips and advice, check out Edlyft On Track