Skip to main content

Internships

Why

Internships allow you to gain practical work experience before graduating, usually over summer break. They provide exposure to development at a specific company, whether that be writing code, performing tests, or doing research. Having internships on your resume will make you much more competitive for new grad roles when applying. Furthermore, if you do well during an internship, you can get a return offer which will allow you to continue working at the company after the summer, either to intern again over the next summer/fall/spring semesters or to get a full-time role at the company.

Also, note that the experience you have can tailor you to specific roles. While some companies match you with teams after applying to a general "software engineering intern" position, you should try to build up projects/research in areas that you would like to focus on, whether that be web development (frontend/backend), embedded development, machine learning (many subfields here), DevOps, or something else.

When

One of the biggest mistakes students make is when to apply for internships. Applications open very early, generally in the fall (August/September/October) for summer internships. Most of the bigger companies will finish their recruiting by Christmas/New Year. You should start applying as soon as possible.

Many of the larger companies will have dedicated internships for freshmen/sophomores such as Google's STEP program. These programs are a great way to get your foot in the door at a big company.

How

You should have an up-to-date resume ready. Your resume should be succinct and at most one page. NYU offers some tips and templates you can take advantage of. Other resources like a LinkedIn profile or GitHub account can also be helpful but are not required for all applications.

Furthermore, when you have limited experience, you will likely need to apply very much - don't just aim for FAANG companies. Your goal is to try to get any paid work experience that provides mentorship. It's easier to build up work experience to more prestigious companies than to apply straightaway. With that being said, you should still apply to these large companies. A referral can also be very helpful when applying, though its effectiveness varies based on the company. Regardless, take advantage of any connections you have to get referrals, whether that be family connections, your professors, or other students.

Sidenote: Unpaid Internships

Unpaid internships are generally not worth it. There may be exceptions where you have a personal connection with the people in charge of the internship such that you know you will get targeted and useful mentorship. In all other cases though (aka. just applying online and finding a remote unpaid internship), it is not worth it. You will likely not be given the proper guidance to grow as a developer, rather just being seen as free labor. If you are unable to find an internship, it is better to do a fellowship (such as MLH or GSOC) or do research with a professor. Internships worth their salt should pay you.

References: