How I landed my first tech internship (and how you can too)
By: Shailesh Vasandani
Tags: Job Search, Internships, Coding, Interview

Pre-pandemic presentations really hit different | Photo Credit: Austin Distel

I think by now everyone with a LinkedIn account has seen at least one post announcing an internship or job offer. For people who’ve been searching for ages and sending out resumes into what seems like a bottomless void, these posts can seem like a slap in the face. But no longer — today, I’ll be talking about my experience applying for a job internship, and how you can take actionable steps to increase your chances of getting an offer too.

Every post I’ve seen so far that talks about getting an internship (and I’ve seen many) have always said the same things: code up some projects, don’t get discouraged, write a good resume, prep for interviews, so on, so on. I think we all now these tips by now, and this post is more about what else you can do. Of course all these things are important, but there are a lot of factors that can affect one’s ability to, say, code projects: low motivation, too little free time, or even just a lack of good ideas. (With respect to that last one, keep an eye out for a post I’ll be writing in the future about some good project ideas that aren’t just clones of already existing apps.)

So, what can you do to improve your chances? Let’s find out:

Find someone who knows that they’re doing

While it’s possible to have a long and successful career without ever having a mentor, there’s a reason this type of professional relationship is so popular. Mentors don’t just help with what you’re doing now, they also serve as a useful guide for what your future may be. Many mentors are themselves professional working software engineers, so they can also prove to be useful initial points of contact in the professional world. You’ve all heard about networking — having a mentor is your chance to tap into a useful subgraph (get it) of contacts. If your mentor is well-respected, and they can vouch for your ability, you may even be able to get into direct contact with recruiters, which bodes very well for your chances of at least landing an interview.

Two white men apparently symbolizing a mentor relationship | Photo Credit: NeONBRAND

That’s all well and good, but how might you even go about finding a mentor? It’s easier than you think. For students at universities, a significant portion of your tuition is about the network and the contacts you build. Reach out to professors and ask if they know any past students looking for mentorship opportunities. Even if they aren’t explicitly looking to be mentors, many will jump at the chance to pass on their knowledge and help a younger student break into the professional scene. Aside from professors, look to your peers, and don’t be afraid to ask. Send lots of cold emails — some people won’t ever respond, but you only need one good response to make it all worthwhile.

For people outside of universities, but in bootcamps or similar programs — ask your instructors. They may not be able to mentor you, but they very well may know people who will. If your program brings in guest instructors for certain sections, speak to them to, and cold email if you have to. The anxiety that comes with cold emailing might be crushing, but people reply more than you’d expect, and again — you only need one.

Finally, for people with no program or university to rely on, it may seem like finding a mentor may be impossible. This is not the case. You’ll probably get more unopened emails and rejected opportunities, but in the age of the internet, you can definitely still find an engineer or senior figure willing to share knowledge with you. Find a coding blog you like and reach out. Email the instructor of a coding course you enjoyed. If you’re genuine about your interest and can show that you really engaged with what people have to say, they’re usually more than willing to help. Even if they can’t be your mentor, they can definitely point you in the right direction.

As a student at university, it was definitely easier for me to find a mentor; I met mine through a research professor that I reached out to via a cold email. Keep in mind I was only a sophomore at the time, and had just barely taken a class on Data Structures. Because the professor could tell I was truly interested in the subject, he reached out to a former student and professional engineer, who gladly accepted me as a mentee. On that note, another way you can increase your odds:

Projects are good, collaborative projects are better

Need I say more? We all know the importance of contributing to open source, but even if it doesn’t go that far, try finding a partner or group to make a project with — almost every useful project online is the result of many ideas and contributions. Nobody can master everything, but by working together, you reduce the number of bases you need to cover.

This advice extends to research groups too. This largely applies to university students only, but if you get the chance to conduct research or development with a team, don’t hesitate to take it. Your part might be as simple as writing a small program to clean up some data, but: a) you can list the entire project that you contributed to on your resume, b) you can develop some team-based skills, and c) you can possibly find contacts for your network in that team.

If you’re not a university student, don’t worry. Maybe you don’t have access to research opportunities, but reach out to fellow developers (either through Github, Twitter, your bootcamp) and see what they’re building. Any contribution is a meaningful contribution, and essentially all widely-used pieces of software were written by a large team of people, not just one developer.

Working on a team is all well and good, but what can you do by yourself to stand out? Well, that’s what the third and final tip in this post is for.

Maintain an online presence

Chances are, you’re going to need to put your website or your email on your resume. Perhaps the recruiter will click on these links, perhaps not. What is significant is how these links look, and how you present yourself on the internet. It’s a very good idea to have some sort of presence — that can be as simple as a single-page portfolio, to a full on website with a blog and some other good stuff (e.g. what I’m attempting to do with my blog). Whatever the case, spend some time doing up your virtual face. After all, websites are essentially ubiquitous, and if you’re not too familiar with how they’re made, learning about static web development can help your resume both in the skills department and the projects department.

This tip is one where you can engage with it as much as you have the energy and time to. Having a simple website is good. Having a custom domain (I’m quite proud of mine, which is literally my name) is even better. Having a blog presence can take you further still. No matter how far you choose to take it, make sure to nail the fundamentals. Take advantage of semantic HTML. Always design for accessibility. Use SSL. Make sure everything works on mobile and desktop. Use responsive images. By nailing these, you’re showing the recruiter and anyone else who sees you on the web that you care, and that you’re willing to dedicate the time to really get the details right.

How did I use these tips to get a tech internship?

I was offered an internship position for Summer 2021 after applying to several dozen companies — I only ever received interview offers from a handful. The reason I even got those, however, was due to the tips I just outlined. My mentor helped proofread my resume and cover letters and, when I was offered interviews, helped me prep for those as well. If I ever had any questions about how to approach a recruiter about an issue, he helped me with advice. Without a mentorship figure, I never would’ve known how to react to different situations.

Another significant reason for my offer was the extensive experience I had working on different teams. Sure, I had a few individual projects, but by showing recruiters and interviewers that I had experience working on teams on larger projects, I signaled to them that I would be a good fit for their programs. It also didn’t hurt that I had more projects on my resume; even if I didn’t build every single one from scratch, I still contributed meaningfully to each of them. Like I said before, software is almost always built by a team working together, not a superpowered developer writing thousands of lines a day.

Lastly, and perhaps the most evident, is the online presence I’ve slowly been curating. My website is simple, but it’s fairly polished, and I’m not ashamed to display it on my resume and across my online accounts. With the tech blog alongside it, I’m also signaling to any interested recruiters that I’m truly passionate about what I do. I can’t say for sure how much this helped, but I’m almost certain it had some positive influence on my chances.

And that’s a wrap!

Let’s go over all those tips really quickly just to wrap up:

Tip 1: Find a mentor or a mentorship figure who has experience in the field.

Tip 2: Work on projects with people, and learn to work well in a team.

Tip 3: Maintain a strong online presence with a strong focus on the fundamentals.

I hope that some of these tips were useful, and made you think a little differently about how to approach the tireless business that is applying for internships. Do you have any other unusual tips for getting ahead in the internship race? Let me know in the comments. If you’re still searching though — and I’m sure you’ve heard this advice lots — try not to get too demotivated. You’re doing great. You’re still on track. You’ve got this.

As always, don’t forget to follow me for more content like this. I’m currently writing on dev.to and Medium, and your support on either platform would be very much appreciated. I also have a membership set up, where you can get early previews of articles and exclusive access to a whole bunch of resources. Also, if you’ve particularly enjoyed this post, consider supporting me by buying me a coffee. Until next time!