Programming, Tips

How to get an software engineering internship (part 3 – the resume)

Resumes are confusing. Most students don’t have much experience going into internships, and somehow you need to fill a page up with qualifications. Given how easy it is to apply online, it is hard to fathom how many resumes each recruiter will review every recruiting cycle. Honestly, I don’t know if college applications or recruiting is more mentally taxing. They both take similar amounts of energy (since the software timeline is more compact).

Here are my thoughts on resumes, which may or may not be helpful. Most will be anecdotes from other resumes I’ve looked over or suggestions my friends have given me:

Put what you did, not what you were apart of

If someone said they participated in FRC robotics, that doesn’t automatically mean they did anything during that time. I constantly think back to a quote about how 80 percent of the work is done by 20 percent of the group, which definitely applies the most to high school clubs. If you spend 20 hours a week on anything and only put one line on it, recruiters can quickly glance over it without thinking more about what you’ve accomplished.

I think this matters, especially when your resume has fewer experiences.


Everyone has been telling me that recruiters use image recognition technology to extract details from resumes and immediately filter out those without specific keywords. Allegedly, this occurs before a human even gets to glance at the resume.

Whether or not that is a widespread technique, it’s still good to ensure that the words you put in your resume are good:

  • Keep the resume consistent with your use of punctuation and tense.
  • Mention programming languages and technologies that you have used by name (not just “backend” or “web development”).
  • If you seriously consider graduating early and starting work, put the earliest year down you’d feel comfortable graduating in. This recommendation is specific to companies that are prioritizing the hiring of new grads.
  • The formatting of your resume should be easy to read by ‘machine.’ Adding text in random places can potentially mess up the scanning. (Perhaps, your resume will get a second glance if an AI can’t read it, but I highly doubt that.) If a company is going to read your resume, you can count on them to read it thoroughly; otherwise, it’s probably not worth it to stress out about it.
  • If a friend reads it and is confused, that’s not good.

Prioritize prior experience.

I realized that my personal projects mattered less if I wanted to apply for non-technical roles. But we are applying to software engineering internships. I think the best coders (to develop) are curious and self-motivated. Projects that you are excited to talk about can help show that curiosity and passion.

For internships, projects and technical accomplishments are far more interesting than what clubs you were a part of. Furthermore, proactive responsibilities at prior internships/work show more into who you are than what you accomplished.

My ranking on importance:

  1. Prior software internships/work experience
  2. Projects (could be final projects from classes that have some form of creativity/uniqueness)
  3. Education (GPA + school) + research accomplished
  4. Programming Languages known
  5. Clubs (for leadership / personality)
  6. Classwork (honestly, classwork gives very little information on knowledge)

Simplicity + Flow

I think a simple one-page one-column format is the best. While I wouldn’t say this to be true in all industries (like UI/UX), black and white with standard fonts can be easy on the eyes. I prefer the following order: 

  1. Name + contact info (no need for phone number or address)
  2. Education
  3. Experiences (jobs, internships)
  4. Projects
  5. Skills and Interest

Note: references don’t seem to be expected in computer science.

Note++: cover letters are even less relevant. No large tech company has cared about my cover letter. Maybe smaller companies or freshman/sophomore programs care more about that, but at that point, why not just call the candidate? Writing ability most definitely doesn’t correlate to coding ability (I am a prime example). Furthermore, cover letters take information and scramble it all over the letter. I think it’s better to have all the information needed in the cover letter in your resume and keep the cover letter as short as possible (if any at all).

Be able to communicate what you accomplished.

I failed at this. I worked on a few projects that I was incredibly proud of. Unfortunately, it had been a while since I worked on the project, and I could no longer describe what I was trying to accomplish during a behavioral interview. :(

Extra: Referrals puts your foot in the door

Over the years, I’ve become increasingly disappointed in what referrals represent. Luckily software referrals tend to have less sway than other internships. But even then, getting referrals can usually expedite the process and bias companies into giving you an interview. Also, I’ve never had a company ghost me after someone referred me. Usually, it was a polite rejection email, but that’s so much better than being in a state of limbo for three months. Finding people in the same clubs/organizations can be extremely helpful in securing a referral. 

FYI: most referrals can only be submitted while students are still interns, so ask during the summer! It’s as simple as sending an email with your resume. Or ask upperclassmen who are now full-time.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.