• Stars
    star
    121
  • Rank 292,258 (Top 6 %)
  • Language
  • License
    Other
  • Created over 8 years ago
  • Updated over 6 years ago

Reviews

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

Repository Details

A guide on how to get an internship in technology as a student.

How to get an internship

Do you want to get better at programming while improving job prospects and making some good money on the side? You should do an internship in technology!

I have had 3 internships -- one at a company doing web development, one at a really cool startup in San Francisco called IFTTT, and one during the school year doing big data-related things at a company called ResearchNow. I am currently interning at Uber for the spring semester, and I will be at Google in the summer.

In this article, I will be talking about how to land these jobs.


## Where to apply to

You should visit your school's career fair if you want local internships. This is a great option if you haven not had an internship before.

Hackathons are better than career fairs, however, because it shows that you have passion for what you do.

Make a list of apps and other kinds of services that you use normally, and get the companies associated with them. E.g. if you are a League of Legends fan, apply to Riot Games. It really helps to know the product beforehand, as during your interview you can even show what you would do to improve it or what you like about it.


## Skills

Make sure you have the skills you need for the job.

For Dallas-area companies, usually it means you have written code before. Learn the skills that are required of the position you are applying for.

For SF Bay Area companies, it is tougher, especially for the more popular companies like Google and Facebook. You will have to study algorithms, as they often ask coding questions at interviews. Read Cracking the Coding Interview and practice the questions. Consider contributing to the github solution repo in your language of choice here.

Know the skills listed on your resume in detail. If you can not talk about the skill for 5 minutes, you probably should not have it on your resume.

Read Getting a Gig for more details.


## When to apply

It is ideal to apply in September to October, as that is when most companies start hiring summer interns. That does not mean you cant apply in the spring though -- startups especially hire year round.


## Your resume and cover letter

I would explain this, but Cassidy Williams has already written a pretty good guide on this here.


## Getting the interview

Getting the interview is one of the hardest parts, especially if you haven not had an internship before. I have listed some common techniques on accomplishing this.

Use connections

Do you have a family member that works at the company? Great -- you can ask them to refer you. Make sure this family member knows how good you are so they give a good referral.

Build good relationships with your professors. Chances are they know people from major companies in the area. If they like you, they will help you land interviews at companies.

If you have friends that have interned at places you would like to intern at, let them know. They can refer you internally.

Furthermore, if you have friends that live in the area you would like to intern at, chances are high that they know other people in technology in that area. You should ask them if they know any companies that are looking for interns.

Get connections

Connections are very useful -- you should meet as many people as you can in your industry. They can help you land interviews and improve the company's opinion of you (and vice versa).

Collegiate Hackathons

If you do not have connections in the first place, hackathons are a great way to meet companies from the area. Many Dallas-based companies sponsor and attend HackDFW, so make sure to interact with everyone that you may be interested in working for.

If you are looking for companies outside of Dallas (e.g. Bay Area companies like Google) you should attend out-of-state hackathons as well. Large companies tend to sponsor multiple hackathons, so it would be very useful to know people from different parts of the company.

You should make your skill set clear to sponsors and show them why you would be a good fit for their company. If they have a prize, try winning it -- they will be more inclined to interview you if you have shown them that you are capable. Do not forget to exchange contact information.

Non-collegiate Hackathons

Often, at non-collegiate hackathons, people from companies will be participating. Make sure to meet the other people around you. If you are interested in potentially working with them, get their LinkedIn or business card and follow up after the event.

Meetups

Local meetups are full of people interested in technology. These kinds of people are always looking for motivated people to work with, and simply showing up to the event and being interested in the subject shows your drive.

Attend meetups of what you are interested in. If you are an app developer, look for Android/iOS meetups. If you are a web developer, look for JavaScript meetups, and so on.

The more niche the technology, the better -- an Erlang user group probably has a much harder time looking for people than a JavaScript one does.

Be sure to exchange LinkedIn's or business cards, and again, follow up.

Conferences are also great to attend, and they often have student discounts. They are also really fun, especially if they are in Las Vegas (e.g. Defcon). Go with friends!

Cold emails

Emailing employees directly can get you far. You can find emails from places like LinkedIn, or you can use tools such as SellHack to find emails.

Often it is as simple as [email protected], so you can try that if you cannot find an email anywhere.

You can also send someone a LinkedIn request with a short message explaining who you are and why you want to work there, then send them a message afterwards. However, this can be seen as spammy and you should be careful about this method.

Large companies

I do not recommend cold emails to larger companies. Likely, you will end up annoying the person more than making them want to hire you.

Startups

Since there is not much overhead, employees have a lot of influence over who is hired.

If the startup is over 100 people, you may want to email employees working on the team you are interested in joining and describe why you really want to work on that team. You can even suggest a project that you could work on.

If it is smaller than this, you can probably email the founders directly. Again, suggest a project and explain why you would be a good fit for the company.

I recommend not sending emails to more than 2 people if it is a startup, as they will think negatively of you if you have emailed everyone that works there.

Apply online

If all else fails, apply online. Make sure you write a good cover letter specific to the company you are applying for.


## Interviewing

There are a lot of guides on this, but I believe Cracking the Coding Interview is the best.

Make sure you can back up what you put on your resume.


## Other reading

There are too many to write down, but these are some of my favorites:


## Conclusion

There are a lot of ways to increase your chances of getting an internship. Do not simply upload your resume to their website. Good luck on your search!


## License

CC-BY-SA

More Repositories

1

preston

Serve Mongoose models on a RESTful API.
JavaScript
160
star
2

resonance-finder

Finds the resonant frequency of objects. Inspired by the XKCD comic.
Python
123
star
3

motivate

Posts a daily motivational message in your terminal.
JavaScript
113
star
4

dotfiles

My dotfiles.
Nix
25
star
5

injecta

Inject JavaScript libraries into your current page.
JavaScript
19
star
6

sysadmincraft

Admin your server in Minecraft!
Scala
18
star
7

resume

My resume.
HTML
18
star
8

node-skyscanner

Skyscanner's public API for Node.js.
JavaScript
16
star
9

SNESJS

[DEFUNCT] Super NES emulator written in Javascript based on BSNES.
JavaScript
14
star
10

archie

NOTE: This was made before Yeoman came out. I suggest you use that instead. Simple archetype system for Node.js.
CoffeeScript
10
star
11

github-hack

Hello @mojombo followers!
8
star
12

shrug

Provides a way to shrug.
JavaScript
8
star
13

node-ctci

Cracking the Coding Interview questions implemented in Node.js
JavaScript
7
star
14

cloudgame

A minigame framework for the Bukkit API.
Java
7
star
15

IEEE754Converter

An app to convert IEEE-754 format to different representations.
Java
7
star
16

TeraSpout

[DEFUNCT -- Spout is dead] An alternative client for the Spout engine based on Terasology.
Java
7
star
17

macalinao.github.io-deprecated

My personal website.
HTML
6
star
18

koa-joi-schema

Koa middleware to validate input using Joi.
JavaScript
6
star
19

rarmy

A collection of Python scripts to create and manipulate multiple Reddit accounts.
Python
6
star
20

tripblaze

Trip creation app built for the Sabre Hackathon
JavaScript
5
star
21

studyblue-bypass

JavaScript
5
star
22

school

My school notes.
5
star
23

texembed

Embed TeX in your documents easily.
JavaScript
5
star
24

functionize

Turns an object into an object that can be called as a function.
JavaScript
5
star
25

ish

ian shell. A really crappy shell written in C++.
C++
4
star
26

ian-website

Personal website v4
TypeScript
4
star
27

licedate

Command-line license date updater
JavaScript
4
star
28

ajaxdict

AJAX dictionary that hooks into the Wiktionary API.
CSS
4
star
29

PersonasBanker

A simple banker for Personas.
Java
3
star
30

node-quizlet

Node.js Quizlet API interface
CoffeeScript
3
star
31

quicksort-js

JavaScript
3
star
32

voxelscript

[DEFUNCT -- Spout is dead] Javascript modding platform for Spout.
Java
3
star
33

s3-maven-details

Find out the structure of the dependencies in an S3 Maven repo.
Haskell
3
star
34

spillway

Go
3
star
35

node-evalin

Eval.in API reverse engineered for Node.js
JavaScript
3
star
36

bukkit-bootstrap

Bootstrap for a new Bukkit project
Groovy
3
star
37

yo-reddit

Sends a Yo whenever a new post is made in your subreddits!
JavaScript
3
star
38

react-swipe-cards

JavaScript
3
star
39

Personas

Personas is a Bukkit plugin that brings NPCs to Bukkit.
Java
3
star
40

SavageGames

Mirah
3
star
41

mirah-hello

Testing of the Mirah programming language for Bukkit.
Mirah
3
star
42

hexo-theme-simplyian

The theme to simplyian.com, based off of yuche's hexo-theme-kael.
CSS
3
star
43

PersonasAPI

The API for the Personas framework. Personas is a Bukkit plugin that attempts to make NPCs more accessible to plugin developers.
Java
3
star
44

mercedes-hackathon

Java
3
star
45

ideas

Collection of ideas to work on when I'm bored
2
star
46

Flaggables

Java
2
star
47

albkit

Just another Bukkit utility library.
Java
2
star
48

up

Extremely simple file uploader
Shell
2
star
49

cyantranslate

JavaScript
2
star
50

codeview

JavaScript
2
star
51

stanford-corenlp

Github mirror of Stanford CoreNLP by Stanford NLP team.
Java
2
star
52

ExoSuit

...this code was found via archaeology too.
Java
2
star
53

json-to-scala

Create Scala case classes from a JSON sample.
HTML
2
star
54

remembrall

Clojure
2
star
55

simplyian.com

My personal blog.
HTML
2
star
56

osx-prank

A harmless prank that can be put on a Mac. Make sure to run it in screen.
Shell
2
star
57

ModTheModAPI

The ModTheMod API.
Java
2
star
58

2graph

Visualize your 2d equations!
2
star
59

normaleyes

JavaScript
2
star
60

stats-cheat-sheet

A collection of useful equations for statistics. Used for UTD CS 3341.
Shell
2
star
61

mrchung

JavaScript
2
star
62

SuperPlayer

General Minecraft commands to use in your server.
CoffeeScript
2
star
63

keypool

Key pooling library to circumvent rate limits.
Go
2
star
64

todo-preston

Todo app using a Preston-powered backend.
JavaScript
2
star
65

mongoose-password-bcrypt-nodejs

Mongoose plugin providing a password field using bcrypt-nodejs
JavaScript
2
star
66

icarus

An Android application that allows you to carry artificial intelligence on your Android device.
2
star
67

kanjidic-index

https://kanjidic-index.ianm.com/
TypeScript
2
star
68

snakey

Snake with ncurses and bloopsaphone.
C
2
star
69

VRTransit

Public transit visualization application for Samsung Gear VR.
Java
2
star
70

speedway-bricks

JavaScript
2
star
71

CrimsonIRC

The IRC plugin for CrimsonRPG.
Java
2
star
72

httputil

Go
2
star
73

cookie-ai

Your personal assistant for cooking.
JavaScript
2
star
74

mips-hangman

Simple Hangman game implemented in the MIPS architecture for the MARS emulator.
Assembly
2
star
75

SpawnCountdown

A spawn countdown timer.
Java
2
star
76

co-optionals

The Option type, compatible with tj/co.
JavaScript
2
star
77

cpp-cs-concepts

Learning data structures, algorithms, and concepts written in C++.
C++
2
star
78

atom-dotfiles

My Atom configuration.
CoffeeScript
2
star
79

hackdfw-backend-old

The backend to HackDFW.
Scala
1
star
80

deque-js

Deque implementation in JavaScript
JavaScript
1
star
81

modapi-core

The Mod SDK.
CoffeeScript
1
star
82

PlasmaMachineGun

...I don't want to lose my code again.
Java
1
star
83

list-schools

Python
1
star
84

1plus1

JavaScript
1
star
85

hottrade

Find the hottest stocks to trade!
Java
1
star
86

mtm-js-loader

Javascript loader for ModTheMod.
Java
1
star
87

qirc

Quick, robust IRC client.
JavaScript
1
star
88

safewalk-api

SafeWalk API
JavaScript
1
star
89

tokengen

JavaScript
1
star
90

hubmaster

Hubmaster is a tool for interating with Github API in terminal.
Ruby
1
star
91

CommandTimer

A plugin that makes command warmups, cooldowns, and restrictions easy
Java
1
star
92

heavymetalnames

HTML
1
star
93

liblol

A library containing LoL data.
CoffeeScript
1
star
94

weaved-for-ifttt

Python
1
star
95

todomvc-preston-angular

TodoMVC for Preston/Angular
JavaScript
1
star
96

courselookup

UTD course suggestion tool.
JavaScript
1
star
97

PermClasses

Permission-based class system.
Java
1
star
98

mozart

Runs docker compose
JavaScript
1
star
99

Revenge-for-Bukkit

Java
1
star
100

visualsort

Visual representation of various sorting algorithms using HTML5.
1
star