Haven't interned in while, but these tips should still be relevant. Get asked this question incredibly often at Berkeley, and ended up having an email that I forward around incredibly often, so wanted to put this out so there was a resource people could check out. Can be pretty valuable in terms of meeting people as well.
I think pretty methodically / step by step, so laid it out in a way that I'd find helpful if I was looking for an internship. Been on both sides (finding an internship when I was younger / hiring interns now and when I worked at 1StudentBody). Was initially written up as a quick email, so feel free to submit a PR with any changes, albeit grammatical / step wise, that you think are necessary.
and tap the **Joined column to get sorted by most recently joined companies. Feel free to change the criteria based on what you're looking for.
##2. Find a few companies you like (~10ish) / are in your field of interest and start reaching out directly to the founders. Go to the founders profile and click through their social links / github links and you should be able to find an email. A simple google search also tends to come in handy. If the companies a bit larger (something like Reddit / Spotify), where you'd assume the founders don't have as much time to respond to your email in particular, reach out to Head of Products / PMs.
##2a. You can also use **crunchbase.com to find companies that have just raised money. Usually, companies are resource starved (in terms of engineers / team) right prior to raising money, and after closing a round are on the lookout to find good talent.
Usually right after a Series A / Series B is a good time to reach out to founders and right before is the worst time. Raising tends to happen either when cash reserves are low or growth is incredibly high. Work gets super hectic when raising (doing both normal work + taking meetings w/ venture firms). On the contrary, right after closing a round (in my case 1StudentBody's Series A), there's a big drive in terms of meeting new talent and trying to grow out the team in places that are lacking.
##3. Don't send your resume / ask for an internship in the first email, send initial emails along the line of
"Hey X!
Love what you're doing with (company name). I find (what they do) fascinating and you guys seem to have an interesting approach.
if(relevant_project): I worked on (relevant_project) doing (relevant_project.description + link), and would love to grab coffee sometime! else: I'm currently at (Berkeley) studying CS, and would love to grab coffee sometime!
Best, Y"
Remember to keep it short and sweet. From a company perspective, (esp seed/series A companies), we always get inbound emails from founders/product hunters trying to solicit their service to be used by us, and emails from individuals that actually use / find interest in our products is refreshing.
##4. Most won't respond, but a few do. If none do, repeat steps 1-3. Meet them for coffee and figure out what they do and if you like what they do.
##5. When in the meeting/coffee be insightful about their product & be yourself. At the end of the day, Silicon Valley is an incredibly small place. Regardless of whether you work with them you want to leave the meeting having given something (feedback / thoughts / etc) to the person you talked to and learned something. Ideally, you want to be in a position where they'll be trying to woo you to work for/with them. You'll be in a position where you're meeting a bunch of companies, so you'll be the one doing them a favor, not the other way around.
##5a. By the end you might be asked whether you have any interest in what they're working on. If so ask if they have any internship opportunities. Worst case - by the end of the meeting you'll have learned something and made a new acquiantence. Silicon Valley / Tech is small, meaning that there's a decent chance you'll run into / work with each other at some point.
Have any questions for me? @theashbhat / me@ashbhat.com / ash@tetherball.co