Recently a lot of my friends have started their internship/job hunting, and we got to talk a lot about the topic. This week I want to devote a short essay to talk about my internship experience, and some of the advice I can give to those of you who are searching for jobs for summer 2017 or later.
I started looking for internship in my freshman year in college. To be honest, by the time I started this, it was mainly because I have too long of a summer break to know what to do to fill it. In the end I figured spending three months or so doing programming(also paid during the process) was a pretty sweet deal, and it is indeed.
I didn’t know what I was getting into, and soon I was hit pretty hard. By Christmas I was rejected by 11 software companies. I just wasn’t as good as they need for an intern. By February of 2015, I was pretty set about not getting an internship, and had to plan for four long months at home.
One day I was chatting with a friend from Imperial, who’s also doing job hunting at the time. After hearing my miserable situation, she said:”I am applying for Google now, do you want to try it too?” At first I thought she was joking. There’s no way that one of the biggest tech companies in the world would want a guy who’s rejected 11 times previously. But I filed an application anyway, because I still wanted to have an internship, and I was pretty desperate on it.
About a week later, a recruiter emailed me about setting up a few interviews. I put the interviews in March, and spent pretty much everyday before it cramming all the algorithm questions I read before, and practice them on paper. When the interviews came, they felt less real. Today I can’t remember much about what happened during those interviews. Luckily two weeks later, the recruiter called and told me that I had passed the interviews, and pretty likely I would get an internship position at Google for the summer.
The rest was less interesting. I did the internship, and Google gave me another internship in LA this summer, and a few days ago, I signed my third internship contract with Google for summer 2017.
Photo in Mountain View, summer 2016
What I felt during the time
One thing I felt throughout the intern experience is that Google lives up to its name. They have a really great recruiting process, and the work you do does really help you in the long term, whether you stay at Google or not. The only documentation required for an application is your CV; they don’t ask for cover letters, recommendations, and so on. From my perspective, whether one gets hired or not is mostly decided by the interviews. They want to see how you work and make their own judgements.
Also working at Google is a rewarding experience. It’s not really about the hype of free food, coffees, gyms or anything, although it is better to have them than not. To me, the work itself is the most valuable thing. Nowadays coding has become easier and easier to learn, with all the high level frameworks written for you. But what differentiate good programmers from mediocre ones is the way of writing code. I was fortunate enough to be among many of these great coders, and got to pick their brains about how to design a system to handle one of the largest database in the world, but also keeping bugs scarce as possible. It is really true that software engineering is a craft, like making ceramics, and greatness is more exponential than linear.
Advice I have for you
If you have skimmed through everything until this bit, I think this is where you will get a lot of practical help. For everyone currently searching for internships, or even full time jobs, I want to remind you that coding interviews are inescapable. But over the years, I have got to know a few things that can help you. Cracking the Coding Interview is the book I used when I was preparing for my first interviews. I have also heard that Programming Interviews Exposed is another good material on the subject. For those of you who want to practice more, Leetcode is the top choice, but I have also used CareerCup when I need to cram a lot of questions again right before the interview.
That’s so much for the interviews, but I think there’s something else more important. Before I say this, I understand this is probably against everything you have heard, and I am pretty sure this would angry some of you. One thing I feel like is very important is to know what you want to do. Are you going to do server back end, or front end web dev, or mobile dev, or data analysis, or etc? Most of you would say it is better to be open to everything, this way you have a higher chance to match to a project. I couldn’t disagree with that of course, but my feeling is once you have a taste of the industry, it is very important to know which area you are interested in or good at, and focus on that, instead of trying to embrace everything in tech. Again, a lot of you might think this is totally false, but I encourage you to at least think about this before you go into the industry.
That’s it for this week, let me know what you think in the comment section. If you have any personal question about this, feel free to contact me privately on Facebook, Twitter, or just email. Hope this helps you, and I will see you next week.