• Stars
    star
    1,035
  • Rank 44,530 (Top 0.9 %)
  • Language
  • Created about 7 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

for those seeking software engineering internships

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.

Freshman

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!

Sophomore

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!

Junior

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 use 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!

LinkedIn

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

Resume Tips

More Repositories

1

codebytere.github.io

personal website
JavaScript
512
star
2

node-mac-permissions

A native node module to manage system permissions on macOS.
Objective-C++
175
star
3

node-mac-contacts

Create, read, update, and delete contacts from users' contacts databases on macOS.
Objective-C++
71
star
4

node-mac-swift-addon

Proof of concept for a Node.js native addon which allows for writing functionality in Swift and exposing it to JavaScript.
Swift
52
star
5

nodemessage

interact with your local iMessage database
JavaScript
42
star
6

dotify

command line dotfile installation and maintenance tool
Shell
33
star
7

node-mac-auth

handle and query for biometric auth on macOS!
Objective-C++
25
star
8

ViziMessage

Visualize your iMessage history and interactions.
TypeScript
21
star
9

electron-font-manager

Create native cross-platform font dialogs!
Objective-C++
21
star
10

talks

talks i've given about things in places
JavaScript
16
star
11

node-mac-userdefaults

A native Node.js module that provides an interface to the user’s defaults database on macOS.
Objective-C++
16
star
12

git-fns

My personal collection of custom git functions.
Shell
15
star
13

emoji-mashup-convert

Convert images from tweets into Slack-worthy emojis.
JavaScript
14
star
14

node-mac-displays

A native Node.js module for enumerating over macOS system display information
JavaScript
13
star
15

sentinel

Integrated CI testing as a service.
JavaScript
7
star
16

electron-prices

Simple Electron application that shows the current price of oil, gold, and silver using the STOOQ API.
HTML
7
star
17

dotfiles

codebytere does dotfiles
Shell
7
star
18

codebytere

6
star
19

chromium-codesearch-extension

Chromium search tools in the Omnibox
JavaScript
6
star
20

node-mac-notch

A native Node.js module to fetch information about the new camera notch at the top of some MacBooks
Objective-C++
6
star
21

electron-build-tools-autocomplete

Fig autocomplete extension for https://github.com/electron/build-tools
TypeScript
5
star
22

native-kde-file-open

open native file dialog on kde plasma desktop
JavaScript
5
star
23

github-issue-parser

parse github issue templates
JavaScript
4
star
24

hackerrank

algo implementation practice
Python
4
star
25

unicode-cli-converter

A CLI tool to automatically convert text between different Unicode styles.
JavaScript
4
star
26

slack-automation

automate signups to a slack team
JavaScript
3
star
27

gist-audit-maker

track and update Node audit log gists
JavaScript
3
star
28

npm-card

JavaScript
3
star
29

sentinel-oss

JavaScript
3
star
30

set-test-platform

Set the platform used for GitHub Actions CI testing
JavaScript
3
star
31

export-to-icns

Create and export .icns files from Sketch to a location of your choosing.
JavaScript
3
star
32

intro-to-git

3
star
33

nodejs-backport-auditor

3
star
34

resume

codebytere makes a resume
TeX
3
star
35

probot-test

2
star
36

node-mac-notify

Objective-C++
2
star
37

governance-check

Check Electron governance membership status and casing.
JavaScript
2
star
38

personal-map

personalized map location visualization app
JavaScript
2
star
39

sentinel-client

Client for the Sentinel Service used to run Electron apps against new versions of Electron in order to see early warning signs for breakages.
JavaScript
2
star
40

node-mac-location

1
star
41

node-backport-auditor

1
star
42

DiningHallSeating

Java
1
star