Guest post by Harsh Goyal and Neil Patil
Each year, many computer science freshmen do an internship in the summer before their sophomore year. The aim of this document is to serve as a guide to help you be one of those freshmen.
Before we get started, let’s consider why you might want to have an internship, and why you might want to spend your summer doing something else.
Why have an internship:
- You get to know what it's like to work in the industry. An internship lets you work on larger scale projects yourself and gives you the opportunity to see what full time software engineers do on a day-to-day basis at work.
- It gives you a leg up when applying for jobs later. We've heard first-hand from recruiters that prior experience is a major factor in deciding to give someone an interview.
- It pays a lot of money. Internship salaries range from $12 an hour to $60 an hour. This money can go towards tuition, savings, investments or fun. However, getting an internship isn't a requirement by any means. It's equally important to realize that it's not imperative that you start working after freshmen year:
Why do something else over the summer:
- Most freshmen do not intern during the summer and it is NOT a blot on your resume to take that time to do something else. Do not stress yourself out too much — summer could be a great time to relax or travel. You have two more summers and the rest of your life to work.
- You could do research over the summer. One of our friends landed a job based on the research he did with a professor over a summer after his freshman year. Talk to a professor about this in spring. In case you still want to explore outside UT, you could apply to the NSF REU program or UROP programs at other universities in around March. Many of these programs pay.
Note: You would probably find a bunch of people with mind-bogglingly strong opinions about why one of research, internships or chilling is better than the others. No one opinion is "correct." Our advice is to try a little of each and figure out what works best for you.
Alright, so say you've decided you want to intern this summer. We're going to lay out a series of steps that are necessary for obtaining an internship - if you follow them, you should have a better chance at finding an internship!
1. Make your resume
This can be the most time-consuming part of the process. The career fair is on September 14, which may mean you don't have much time to make a resume. However, do not fret! Some advice:
Creating the Document
It's often really helpful to just start with a resume template. This is the resume template that I (Harsh) like to use1. This requires use of LaTeX. If you don’t know it, that’s great because it 1 is a super useful thing to know for anyone in a STEM field. That being said, it's not necessary at all to use LaTeX to make a resume. Google Docs is a
perfectly good alternative and has some great resume templates to use - or you can create
your own (as Neil did).
Make sure your resume has these:
- Contact information. We've heard horror stories of our friends having great conversations at the career fair, but then realizing that they put the wrong email on their resume. Don’t let this happen to you! Check that you put the correct email, phone number, and links to Github and Linkedin (if you have one.)
- Past experience. If you have worked in a related field before, do mention your experience. (Though as a freshman, if this field is sparse it probably won't be held against you.)
- Personal projects. Put any relevant projects that you have worked on in your own time. These do a great job of showing what you're good at and enjoy doing outside of class. Again, as a freshman, it is okay if this field is sparse.
Here is a link to some solid advice from the CNS career services. You can find a lot more online.
Send our your resume to any friendly upperclassmen you know, and they can give you some helpful feedback.
Some companies and student organizations also hold resume feedback sessions. Consult the UTCS calendar to get to know about such events.
2. Apply online
This is arguably the easiest part. Once you have your resume ready, you can apply through each company's online application portal pretty easily, and it's a simple matter of entering your name and personal information many times to apply to a bunch of internship programs online. This is a massive list of online applications that you can go through. As a freshman, don't feel obligated to apply to only the big companies (Google, Facebook, Microsoft, etc). Lots of them have deadlines that come and go really quickly. Additionally, many of these companies only accept online applications, and many have internship programs specifically targeted at freshmen and sophomores. Some of them include Google Engineering Practicum, Facebook University and Microsoft Explorers program.
3. Upload your resume to resume books
Many UTCS sponsored student organizations have a resume book containing resumes of all their members, which they can share with their sponsors. If you are a part of a student organization, try asking their corporate representative how you can upload your resume to the resume book. For Turing Scholars, you can email your resume to firstname.lastname@example.org.
4. Go to the career fair and corporate events
The career fair has over a hundred companies looking for computer science majors like you to come work for them — it's one of the best ways to meet with lots of different companies..
Similarly, many organizations hold corporate events, which provide opportunities for companies to get to know students on a more personal basis (eg. TSSA for Turing Scholars, ISSS for those interested in security etc.) Try to attend these events (and make sure to carry a copy of your resume!)
If you hear back from a company, you'll be going through the interview process. There are two major kinds of interviews:
Don’t fret much about these at all. These usually ask you about what you're interested in, projects and work experience in the past, and occasionally questions like "tell me about a project you were challenged on" or "tell me a time you had to work with someone to get something done." If you can talk normally to someone without raising obvious red flags (eg. holding discriminatory views), you will make through this round. That being said, it can help to prepare by going over answers to common behavioral questions.
This round of interviewing consists of the interviewer asking the interviewee a series of questions to test their problem solving skills and comfort level with programming. These vary a lot by company. Some ways in which they vary are whether they are in person or over the phone and whether they ask you to use pseudocode or real code. You are also expected to know the projects that you have mentioned on your resume in and out.
Here are some things to keep in mind while preparing for a technical interview:
- Everything on your resume should be accurate and something you can talk about. It is not okay to embellish your accomplishments with false details.
- Make sure that the first programming language that you have mentioned on your resume is one that you are comfortable being interviewed in.
- To prepare, make sure you code out solutions to a reasonable number of problems that you are looking at. For this, it might be helpful to find friendly upperclassmen who are willing to mock-interview you.
Getting good at technical interviews takes practice - take the time to look up information about technical interviews, and make use of online and textual repositories of sample interview questions. The book "Cracking the Coding Interview" is the classic first introductory resource. Leetcode and Hackerrank also have great questions to practice with.
Alright, this was a long post - it's a braindump of the experience we've accumulated throughout the years in college and five internships that we have between us.
Most importantly: don't stress! Take care to follow the steps above and don't worry too much from there. Please feel free to contact us at email@example.com. Whether or not you are a part of TSSA, we would be happy to answer any questions. Reach out to your
POD leader and UT CNS career services — they are great help.
Here's to an amazing semester ahead!
About the authors: Harsh Goyal is a Junior in the Turing Scholars program at UT Austin, and has worked at Google and Truecar in the past. Neil Patil is a Sophomore in Turing Scholars, and previously worked for Google, Indeed, and Atlassian. Both are corporate representatives for the Turing Scholars Student Association (TSSA).