This year, like many third-year students, I’ve looked exhaustively for “the one” internship that’s supposed to crown your junior year or even your college experience in general. It’s been an arduous grind, but 21 interviews later, I’ve signed with Amazon to spend my 2016 Summer as a Software Development Engineer Intern. I’ve learned so much in this process, and I think some of my takeaways will be useful for others.
The Numbers
Over the course of 83 days, I participated in 21 interviews.
- Product Management Internships:
- Workday*: 3 phone screens. Received offer.
- Google: 1 phone screen, 2 onsite.
- Software Engineering Internships:
- PDT Partners: 3 on campus, 1 phone screen.
- Ebay: 1 coding screen.
- Google: 3 phone screens. Host matching. Declined host matching interview.
- Bloomberg: 1 phone screen.
- Tableau*: 3 phone screens. Received offer.
- Salesforce: 1 phone screen. Declined onsite.
- Amazon*: 2 on campus. Received offer.
I was rejected after the resume screen for 5 companies.
- Dropbox*
- Uber
- Lyft
- Palantir
- Two Sigma
*I had referrals for these companies.
The Trends
Referrals really work.
For the 4 companies I had referalls for, I received 3 offers. Coincidence? I think not! Dropbox was definitely an outlier, but more on that shortly.
Honesty helps you.
In 3 different interviews, I was asked questions I had seen before. Instead of pretending to initially struggle and then miraculously solve the question, I opted to just say that I had seen the question before and then offer a brief analysis of the correct solution. I found that strangely enough, the reception to my candor was not just friendly, but actually bonding. I know that’s a strange word to use, but I can’t think of a better word to describe the exchange: the interviewers shrugs, commends you for your honesty, and maybe jokes about the difficulty in selecting good, unique interview questions. Talk about a confidence boost!
The Takeaways
In most of my interviews, I immediately asked for feedback in the form of a fairly leading question: “Is there anything that I’ve said today that’s given you cause for concern or that I can clarify?”
I’m not convinced that this is a good strategy to use, as I’ve had mixed results. Some responses have been generic and actually noticebly negatively altered the closing tone of the conversation, but some responses have been useful. I’ll paraphrase some of the good stuff and add my own insight. In addition, I was able to speak with a Dropbox engineer after my rejection from the resume screen; some of his feedback may be of interest to you as well.
For PM:
- Separate opinion and fact. Be very clear on what you are hypothesizing or pitching, because bullshit without facts to back it up is just… bullshit.
- Balance your tech self and analytical self with the user. Don’t tunnel vision into market sizing and fancy sounding trends! You can never focus too hard on the end user.
For SE:
- Resume-wise, many top tier companies are looking for:
- A “strong internship” at another top tier company (Facebook, Google, etc.)
- A significant project, which means many many Github stars or thousands of users
- Stellar performance in the hardest CS classes your university offers
- Figure out what type interviewing-style your interviewer likes. If they want to lead and tell you exactly which steps you should do (Make a class and explain it to me. Now make a signature… etc.), let them lead. If they let you do your own thing, be proactive.
- If you find yourself rambling or your interviewer’s tone changes, regroup. Fail fast and cut your losses! When you spend 10 minutes of straight talking on a simple question and then your interviewer chastises you and provides a very simple solution, you’ve probably lost that interview then and there. It’s better to check in a few minutes into your monologue to make sure the house isn’t on fire.
- Think about optimal run times. If you have a ‘dumb’ solution but the space and time complexities match the optimal ones, maybe your ‘dumb’ solution isn’t so dumb after all. Fit the solution to the scope of the problem!
tl;dr
- Get referrals.
- Be honest.
- Draw a clear line between your BS and your knowledge.
- Read your interviewer.
- Fit the solution to the problem.
Bonus: Why Software Engineering?
I’ve heard numerous EECS students at Cal note that UC Berkeley EECS culture is very heavily biased towards feeding into Silicon Valley Software Engineering (compared to Stanford or MIT). I’m not sure of the atmosphere at other universities, but I’ve definitely felt the pressure from what feels like a vast majority of EECS students eagerly following the “script” (mapped out beautifully in my friend’s article): mid-size or small companies Freshman and Sophomore year, a large big-name company Junior year, with the sole goal of working as a Software Engineer immediately after graduation. Many students take almost identical courses without venturing far off the beaten path. We’ll all find particular areas we’re interested in, but Software Engineering is always a very safe default. But that’s not necessarily a bad thing - the boatloads of cash, great perks, and a developer-centric culture are amenities unheard of in many other career paths. However, I’m not enthused that most students choose this path, and I wish that there was a more diverse array of opportunites that are actively persued in larger volumes.
However, in the meantime, I do recognize the flexibility of Software Engineering. I’m not sure at all that I want to be a Software Engineer full-time for an extended amount of time, but I believe the skills I’ll learn as a Software Engineer are invaluable wherever I go. Do I feel mildly pidgeonholed into Software Engineering? Absolutely! Is this a bad thing? Maybe not. I want to be a Data Scientist, I want to found a startup, I want to be a PM… but the skills I’ll learn this summer will help me regardless of where I’m heading in the next few years.
Thanks for reading!
I hope you enjoyed learning about my experience this recruiting season - I know I enjoyed writing about it. Feel free to shoot me a message with your thoughts!
It’s been an exhausting, exciting job-hunt, but I’m glad to have learned so much about the process, the companies, and myself. I’m excited to learn, create, and grow this summer at Earth’s most customer-centric company.