If you never apply for an internship you have zero chance at getting an offer. It's that simple. Everyone is ready and you have nothing to lose by applying. Companies receive thousands of applicants every year and getting rejected one year will not effect your chances later on. So, how can you increase your chances?
Your options are definitely limited as a Freshman, but you should absolutely still be applying. Some general tips are that there are internship programs setup specifically targeted for Freshman at companies such as Google, Microsoft, Facebook, etc. These are worth applying to, but don’t rely on getting them or even hearing back. They’re highly competitive and you should keep looking after applying. However, some lesser known options are companies outside of the Software Industry. Insurance companies, Automobile companies, and Government agencies all hire Software Interns. You can also try local companies in your area. Even if they don’t list an internship application, sending an email can’t hurt.
Many students don’t make an effort to get an internship until their Junior year, but once you’ve taken or are taking Data Structures and Algorithms you have all the knowledge you need to start. At this point you hopefully have some side projects on your resume, if not then make something. Having side projects are key to answering behavioral questions in an interview and attracting attention to your resume. Have your friends, family, and school career center review your resume, then send it off to all the companies that interest you. The subreddit /r/cscareerquestions reviews resumes every Tuesday and Saturday and the subreddit is also a great resource in general.
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, but more practice is required. If you wait till a company schedules an interview with you, it’ll be too late. Get on LeetCode and learn how to study effectively.
As a Junior, companies are going to expect you to know your Data Structures and Algorithms inside and out. Many companies have a similar or the same interview process for Junior-year internships and New-Grad full-time employees. You must practice your technical questions, both on LeetCode and on a whiteboard. With that said, even if you don’t have the technical questions down its still smart to apply as applications open. Its better to be early and fail a couple interviews than to wait till 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 and every interview should be taken as a learning experience towards your next one.
Thanks for reading! Click the Newsletter button in the sidebar to hear when we release new Software Engineering resources.