DEV Community

Matt Upham
Matt Upham

Posted on

How to get a Software Engineering Internship - step by step process

Introduction

So you want a coveted software engineering internship?

I'm currently a software engineer (web developer) in Silicon Valley. These are the strategies that helped me get my first software engineering internship in San Francisco, right out of my coding bootcamp. I break down some of the best ways to get an internship as quickly as possible, as easily as possible.

Whether you studied computer science in college, went to a coding bootcamp, or are self-taught, these tips will help you through.

Check out this video for more detail:


(excuse the lighting, the setup in my recent videos are much better. This was one of the first videos I ever made - although I still think the information is valuable)

Subscribe Here

I talk about tech, life in Silicon Valley, and self-improvement!
YouTube - Matt Upham

1. Start Early

The first main tip is to start as early as possible. Bigger companies who have the most internships available start early in August, September, an October with posting their internships. The earlier you start, the higher chance you have at beating the competition.

2. Use Your Network Effectively

The second tip, and probably the most crucial one is to use your network.
Using the back door to get your foot in is much easier than using the door that thousands of people are using (the automated online job portal). You can use LinkedIn, Facebook, and word of mouth to find people who worked at specific companies. On LinkedIn, you can use search queries like [Insert college here], and then use people filters such as 1st /2nd-degree connection, location, and company. This helps hyper-target your audience.

The best people in your network to reach out to are:

  • College/coding bootcamp alumni who work at the company you want to work at
  • Friends/classmates who interned at that company
  • Professors/mentors who might have connections with that company
  • Friends of friends who work there (use Facebook to search this — “friends of friends who worked at [X company]

3. Connect with Real People

The next tip (this is crucial, and will save you a ton of time). Don’t just send your resume off into a black hole (such as Indeed, Glassdoor, etc) and do nothing else. My rule is for every job app you send into an online portal, you need to connect with one real person as well. There are a handful of ways to connect with a real person at this company — use a Gmail plugin like Clearbit Connect, or Hunter io to find peoples’ work emails by company search (give them a quick Google — you’ll see what I mean). These are extremely powerful tools.

Then, send them a quick note:

Hi [person’s name]!

My name is [your name], and I’m an [type of engineer] in [location].

I’m reaching out because I applied to [company] regarding your [position].

I have experience with [this technology, skill, etc]

Following up, I’ve provided my resume and cover attached letter below.
Would someone on your team be open to chatting more about this role by 
[insert date to add time pressure]?

Thanks so much!

[Your name]
[Your email]
[Phone number]

Following up after they’ve responded:

...
Would you be willing to connect me to the hiring manager for this position per chance? 
I’d greatly appreciate it!

Thanks so much!

[Your name]
[Your email]
[Phone number]

The most important thing is to not be annoying. If they don’t respond after following up once or twice, try another person at the company.

If you’ve used the last 2 tips (network, reaching out) and have finally connected with a real person, you can ask them “How can I stand out in the intern application process for [X] company?”, or even better, ask to buy them a coffee and pick their brain about their experience working at the company, the company culture, and to see if you’d be a good fit.

4. Stand Out with Your Portfolio

Another way to stand out is to have an amazing portfolio. This isn’t absolutely necessary (at least for Software Engineers), but will help you stand out above the crowd. My tips here:

  • Host your projects on Github (clean up code, add ReadMe, etc)
  • Add your projects, with screenshots and descriptions, to your LinkedIn experience/projects section
  • Create a video outlining your design decisions, tech choices, etc (I did this when applying, and it definitely helped)
  • Deploy your projects to the web, and have a landing page which can direct people towards them

5. Prepare for the Technical Interview

The next tip is to prepare for the technical interview. If you’ve gotten this far but fail the technical portion, chances are you won’t make it further. They can give you any question, but your goal is to be familiar enough with basic concepts, so you can adapt on the spot. Using sites like LeetCode can help improve your technical ability. It also helps if you’ve seen similar questions to the interview ones — LeetCode will help you with this. Sites like Pramp help you practice interview skills live, which is another surefire way to get feedback and improve your chances at doing well. Take a few deep breaths before you walk into the interview, and you’re ready to go because you know you prepared!

6. Track Everything

The final tip I have (and one that sped up my job search tenfold) is to track EVERYTHING. There’s a Gmail plugin called Streak that allows you to track your job search in a funnel. Streak also allows to send template snippet emails, and you can see if someone has viewed your email. So handy! I customized the funnel by tracking:

  • Company Name
  • Position Name
  • Contact Name
  • Contact Email
  • Contact LinkedIn
  • Date of Last Correspondance
  • Job Source
  • Job Posting URL

If you’re not a fan of Gmail plugins, you can also use a spreadsheet like Excel, Google Sheets, and my favorite (spreadsheet/database mix) Airtable! Airtable is a solid option, because it allows you to link different tables, attach documents, and organize things with ease. An Airtable tutorial would take a whole other post, but I encourage you to check it out!

Final Thoughts

The job search is ultimately a game of failure, persistence, and triumph. You ultimately need to create your own luck, and this happens by widening your pool. Start applying to as many places as possible! These tips I shared above allowed me to apply to 150 jobs in 3 days! Most of the time I ignored the cover letter (do they really matter, anyway?) and focused completely on connecting with a real person. That’s what will ultimately start you on your journey.

If you enjoyed this article, please consider subscribing to my YouTube Channel! I talk about tech, life in Silicon Valley, and self-improvement!

Join our growing Discord community!

Subscribe Here

YouTube - Matt Upham

Are you trying to get an internship? If you have any questions or need advice, shoot me a DM on Instagram @mattupham

Thanks for reading!

Discussion (0)