samwincott / Internship-Guide

A guide to getting an internship

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Internship Guide

A list of links with a little bit of advice sprinkled in.

Feel free to make a pull request with updates!


Contents:


Just keep in mind...

  • It never hurts to apply to any internship in the area you're wanting to go into (eg. Software Engineering), the worse that can happen is that the company never replies or responds with a "Sorry, we're looking for more experienced or students who are further along their academic careers" etc.
  • Don't pay attention to the requirements or qualifications (most of the time). If you're pretty comfortable with Java and the internship you're applying to requires C# - a language very similar to Java - still apply! If you're willing, some of your Java knowledge can transfer to C# without a problem. Even if it was a language C++ or C, you can still learn and manage along the way since knowing 1 language makes it a lot easier (but not guaranteed to be easy).
  • In cases where you should pay attention to the requirements, if you only know HTML, CSS, JS, but you're applying for an internship that requires you to know C/C++, expect a no reply at all or something similar to above.
  • If you get an internship, congratulations! Don't stress about not knowing anything of feeling like you don't belong. It's pretty common. The company knows you're inexperienced and don't know much. You're not expected to go away for 5 days, then come out solving all of the bug issues and be heralded as a hero (but if you do... that's damn impressive). Working as a Software Engineer for any company usually involves a lot of cooperation between co-workers. So this is your time to find out how well your soft skills are and improve upon them! Better soft skills, means better communication, which leads to less confusion in the future.
  • Internships and experiences vary from company to company. Internship at Big Company A may not apply to Big Company B. And even within the same company, intern at Company A in their office in New York will have a difference experience compared to the intern at Company A in their office in San Francisco.
  • Whenever you need help or feel stuck, don't be afraid to ask a question, whether it's your manager, co-workers, etc. They've (most likely) been in your position before and understand how it feels.

Resume

Projects

Personal projects

Demonstrate your coding skills, these can be put on your resume and will be discussed in your interviews. Ideas:

Open source contributions

Another way to demonstrate coding skills that recruiters love. Here are some links and guides:

Making a resume


Applying

Make a spreasheet of companies that you'd like to apply to. Have columns such as company name, website, application status, and similar. To find companies to apply to have a look at these websites:

Some companies will have a form online, but some you'll have to cold email. Apply to as many as you'd like, preferably 30+.


Interview prep

General

General guides and tips:

Books

Here are some great books on the subject:

Study plan

You need to know your stuff before your interview (obviously).

Algorithms

Algorithms to know:

Here are some resouces to perfect your algorithms knowledge:

Data Structures

Data structures to know:

General links:

Big-O

Practice

Now put all that you've learned to practice! I've found the best sites for this are:


Resources

Here are some general resources with brilliant communities and information:

About

A guide to getting an internship