for those seeking software engineering internships
Branch: master
Clone or download
Latest commit 088c08f May 22, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information. minor copyediting May 22, 2018

So You Want an Internship

Shelley Vohr

Table of Contents 👇

Companies 🦄

Here are some of my favorite resources for finding companies to work for.

Are You Ready? 👀

Short answer: YES. Long answer: YYYYYYEEEEEESSSSSSSSSSS.


Your options are definitely more limited after only your first year in college, but you shouldn't let that hold you back from applying at all! There are a solid number of companies that have internship programs targeted to freshman. Some of these are:

  • Google (Engineering Practicum Internship)
  • Facebook (Facebook U Internship)
  • Microsoft (Microsoft Explore Internship)

These are absolutely worth applying to, but don’t rely on getting them or sometimes even hearing back. They’re highly competitive and you should keep looking after applying. It's also a great idea to to try local companies in your area. Even if they don’t list an internship application, sending an email can’t hurt. This was actually how I got my first software engineering internship!


Once you’ve taken or are taking Data Structures and Algorithms, you have all the knowledge you need to start. At this point, if you're looking for your first internship, you should work towards creating a side project or two. Having side projects are key to answering behavioral questions in an interview and attracting attention to your resume. The next step is to start preparing for interviews. This includes both behavioral and technical. Your Data Structures and Algorithms class is a good start to preparing for technical questions. See Technical Interviews for more!


As a junior, companies are going to expect you to know your Data Structures and Algorithms inside and out. Practice technical questions, both on an online resource and a whiteboard. With that said, even if you don’t have the technical questions down it's still smart to apply as applications open. It's definitely better to be early and fail a few interviews than to wait until the last minute and have all the spots be full. Chances are you won’t get an offer at the first company you interview with, but that's ok! Every interview can be taken as a learning experience towards your next one. Most big companies interview in a language-agnostic manner, but some smaller ones ask you to interview in a language they themselves you so be sure you're prepared for both options.

Technical Interviews 💻

You should have a fairly robust understanding of data structure & algorithms, as well as how to use them appropriately.

See this great repo for a thorough overview of what you should know.

More Interview Resources

Resume 📚

Building Your Resume

  1. Focus on accomplishments
  • Focus less on your job duties in your last job and more on what you actually accomplished, with an emphasis on tangible results (increased app sales revenues by 20 percent, developed software that reduced costs by 10 percent, etc.).
  1. Quantify results
  • Avoid saying general things like “improved customer satisfaction,” “increased company profits,” or “reduced number of bugs.”
  • Instead, provide quantifiable metrics that demonstrate how your work helped your company save money, reduce costs, improve customer service, etc.
  1. Target your resume to your career
  • If you're seeking a software engineering internship, your job as a camp counselor before college shouldn't be included on your resume.
  1. Don’t get too technical
  • Remember that not all recruiters are technical, so you want to make sure you balance describing your experience with making it understandable for less technical readers.
  1. Be concise
  • Your resume should never be more than one page.
  1. Be clear, and structure your resume well
  • Try to think like a recruiter when creating your resume.
  • Provide the information recruiters want so that they don’t throw your resume in the trash pile.
  1. Ditch the “objective.”
  • Use an Objective in your resume only if you are right out of college or want to bring attention to the fact that you want to transition to a new role (for example, moving from a position in software engineering to one in sales).
  1. Don’t be vague in your “summary.”
  • If you use a summary section, be sure that it’s filled with key accomplishments (backed up by hard numbers), not vague pronouncements about your detail-oriented personality, strong work ethic, etc.
  1. Include skills.
  • This section should list software expertise, programming languages, foreign languages, and other applicable skills, but it’s a good idea to skip basic skills (such as Microsoft Word) that many applicants have.
  • The key is to list skills that will help you land the job.
  • Don't include skill bars; if you really want to group by proficiency, group under one of several categories such as "proficient", "familiar", or "learning."
  1. Use keywords
  • At its employment web site, Microsoft advises applicants to detail on their resume how their experiences (leadership roles, work duties, school activities, etc.) helped them to grow as a person and as a professional.
    • This is a good approach, since you always want to show that you are evolving as a person and eager to learn new skills.
    • Also, use keywords that match those listed in the job announcement.
      • For example, if you’re applying for a position in e-marketing and search engine optimization, then your resume should include these terms.
      • This will help you get noticed by resume-scanning software and advance past the first screening stage.

Resume Design

There are countless options for designing a resume. Some of my personal favorites include:

You can also design your own instead of using a service, if you'd prefer. When I updated mine for summer 2017, I ended up redesigning it in Sketch.

Resume Feedback:

Cover Letters 💌

Unless a cover letter is required, there is no need to write one. It won't ever hurt you to write it, but recruiters generally don't read them or care if you do.

If you do feel a need to write one, be sure to cover the following:

  1. Who are you?
  2. What can you do for them or bring to their company?
  3. When can you start?
  4. Where are you coming from?
  5. Why are you interested in working for their company?
  6. How can they get back in contact with you?

Referrals 😁 ❤️ 😁

Referrals are major 🔑 if you can get them. They push you towards the top of the mountain of resumes that companies get every single day, and so they're more valuable then they first appear. Looking for relations you've built through school/classes, from past internships, or clubs is a great starting place. All it takes is a simple ask! You can most often get a referral from current employees, former ones, interns, or former interns.

However, there are a few things to keep in mind before you ask for a referral. You primarily want to keep your referral requests to people you know more than in passing. If they can vouch for you as a person as well as an engineer, they're far more likely to refer you than if they don't know you well enough to speak to either.

Fellowships 🚀

8VCFellowship - Application

The 8VC Fellowship is an enriched summer internship program designed to foster the technology leaders of tomorrow. Fellows will complete a software engineering internship at an 8VC portfolio company while attending weekly Fellowship events to meet and learn from notable entrepreneurs, executives, and investors in our network from Silicon Valley and beyond.

Code2040 - Application

As a Code2040 Fellow, you’ll spend an intensive summer career accelerator between June and August. You’ll intern at a top-tech company and participate in a series of evening and weekend workshops designed to equip you with the tools and resources you need to navigate the tech industry and build an exciting career.

And you won’t do this alone: Being a Fellow means building community with other Black and/or Latinx technologists, receiving support from mentors and managers, redefining the future and face of tech, and ensuring other technologists from their community have the opportunity to succeed in the innovation economy.

KPCB Fellowship - Application

Over the course of a summer, KPCB Design and Engineering Fellows join our portfolio companies, where they develop their technical or design skills and are mentored by an executive within the company. Participants in our new Product Fellows program will get the chance to spend a full year working at a Silicon Valley startup.

Fellows will also be invited to attend both private events held by Kleiner Perkins as well as by our portfolio companies, where they can meet other talented engineering and design students, network with luminaries in their respective fields, and explore the San Francisco Bay Area.

hackNY Fellows Program - Application

The hackNY Fellows Program is an intensive program designed to introduce students to NYC's startup ecosystem by pairing the best technical minds with great New York startups. You'll live in the heart of NYC with a cohort of some of the most talented and creative student technologists from all over the world. Local startups are carefully selected for the program and demonstrate both innovative tech and a strong mentoring environment. You will contribute meaningfully at your paid internship and learn from your work, our curated Speaker Series, and your fellow hackers. In an initiative led by our AlumNY and reflecting their community values, you will volunteer in programs for positive social impact in NYC. With a focus on increasing diversity and inclusivity in tech, you'll work within underserved communities by teaching, mentoring or using your technical skills for social good.

Venture For America - Application

VFA is a two-year fellowship program for recent grads who want to work at a startup and create jobs in American cities. Fellows learn important startup skills at our five-week Training Camp, apply for jobs within our vetted company network, and work for two years as full-time, salaried employees in one of 18 cities. When Fellows are ready to start a company — be it two years after college or ten — VFA has the resources (like a crowdfunding competition, accelerator, and seed fund) to help make that dream a reality.

Networking ⚡️

Social Networking Resources

Keeping Track of Your Applications 📝

  • Huntr - a web app that keeps track of every detail about your job applications - notes, dates, tasks, job descriptions, salaries, locations, company data and more.
  • Airtable - Airtable makes it easy to organize stuff,people, ideas and anything else you can imagine.

Portfolio and Profile 📢

GitHub :octocat:

  • Set up a GitHub account for yourself, so that you can showcase personal projects or school-related projects.
  • Open source is another great avenue for establishing a portfolio.
    • If you've contributed significantly to an OSS project, recruiters will want to know that!

Personal Website

  • Having a personal website is not a make-it-or-break-it, but it's a great way to show off some of your skills in a more fun way.
  • Oftentimes, a great personal website can be a project in itself!


  • You should have a LinkedIn account, and it should essentially mirror your resume.

Resume Tips