Monday, July 29, 2013

The Path to a Google Internship

I think one of the biggest misconceptions is that the path to an internship at Google is a linear progression.  That it happens just the way the recent Vince Vaughn/Owen Wilson movie made it seem: you apply, you interview, you're reviewed by a hiring committee and then you're either made an offer or rejected.  In reality, it's a lot more complicated than that, and Google is no exception.  There is a traditional progression, yes, but if Google only recruited traditionally, I wouldn't be an intern here.

The traditional path for a software engineering internship starts with submitting your application.  A recruiter reviews your resume, and then chooses whether or not you seem like a good candidate.  If you're a strong candidate, they offer you phone (or on-campus) interviews, and then based on the outcome of these, you enter a Google-specific process called 'host-matching.'  The idea at Google is that you aren't just offered a generic internship; they set you up with a Googler who matches your skills and interests and then you're offered that particular internship.  This is a tough process because even after passing your interviews, there is no guarantee of being chosen by a host.

I had a different path.  I submitted my application (more than once, I'm not embarrassed to a
dmit) and never heard anything.  At the time I was interviewing for another internship, and figured that Google wasn't interested;my resume is pretty design heavy, and struggles to gain traction with software companies.  However, when I heard they were holding an interview prep talk at my school, I knew I wanted to go and see what I would have to do to get a Google internship.  At the talk, they asked for volunteers for a mock interview and a couple of my friends went up; at some point, I decided that I wanted to volunteer if only because it might be the one time I could practice a real Google interview
A Google talk at Penn


At that point in the workshop, they were doing ‘Project Manager’ mock interviews, and considering I only had a vague idea of the job description, I struggled a little.  I worked through an application design problem, and as I left the stage, the engineer who was running the workshop shook my hand.  The next morning I woke up, and had an email that I had been given one of the coveted on-campus interview slots the following week.


I had been studying for almost two months at that point: I knew the space-time complexities of all the sorting algorithms by heart, I had been spending most free evenings doing algorithms homework since it was homework and also studying, and I had already finished four interviews with two other companies (one of which made me an offer, and one of which didn't).  By the time I walked into the on-campus interviews, I knew that preparation wouldn't be the reason I didn't get the internship.


I was nervous.  I typically wear dresses and skirts, but I knew Google respected casual dress so I wore a t-shirt.  I sat in a waiting room for far too long, my nerves completely on end, making far too many jokes that only a few of the other nervous potentials laughed at.  My first interview went really well; my interviewer gave me a question I had never seen, but was something I really understood.  I solved it quickly, and then blurted out the complexity before she asked.  She quickly made it harder and I almost begged to stay in the interview because I had just figured out the trick when it ended and I wanted to prove that I could code it.


A 2am study session for
my Google interview
My second interview was completely different.  When I walked in, the engineer immediately presented me with a question that relied entirely on a fact (not a concept, luckily) I hadn't memorized.  I knew how to solve the problem, but wouldn't have been able to write the details of a necessary helper function.  I explained how I would solve the problem, wrote out the code with the helper function and then when the time came to code the helper function, confessed that I would normally have to Google the information because I didn't know it offhand.  He then quickly gave me the information I needed and I wrote the helper function.  At the end of the interview, he asked me a few questions concerning my interest in Google, and then we discussed an algorithm I had learned in class.  I hadn't met anyone else (besides my algorithm’s professor and my homework buddy) who thought it was cool enough to talk about for ten minutes.

What I didn't know at the time of these interviews was that the engineer on stage, at that original talk, had been impressed that I had gone up, liked the way I approached problems, and had checked to make sure I got an interview. The week after I heard back that I had passed my interview, my recruiter told me that I had had six host matchings.  That meant six phone interviews, with six managers, all of whom were interested in the fact that someone who had such a significant art background had passed the technical interviews.  The skills that had originally caused me to struggle to get an interview were suddenly my greatest asset.  When the fifth interviewer called, he introduced himself; it was the engineer from the workshop.  We talked for a few minutes, he asked me a quick coding question which I first solved and then we discussed, we talked about my interests, and hung up.  The next morning, I had an offer in my inbox.  He chose me because I had taken a chance and put myself out there at a talk; he gave me an opportunity to prove that I could be a software engineer because of my willingness to try new things.  And because I had done all the work leading up to it, in studying for interviews, I was able to show him I could be a computer scientist.


There’s a lot of different stories of how people have gotten a Google interview and offer, and a lot of the time people tell me how unbelievably lucky I am when I tell them my story.  I think, what’s wonderful about Google and how you get an internship at this company, is to simply stop caring about trying to be what they are looking for.  I love art and I love computer science.  Most companies think that means I won’t be as dedicated an engineer.  I asked Google to give me a chance, and Google let me prove to them that my love of design makes me a better one.

That’s the end of my story.  It’s not a traditional pathway to an internship at Google, but I think it gives a good side to the interview process; it’s not always about how beautiful your resume is, or what your GPA says.  Sometimes it’s about making eye contact and taking a chance that you might look stupid, just to prove that there’s more to you than can be seen in a first impression.  And I think that’s something I would describe as very ‘Google-y.’


On a side note, but in the vein of talking about internships, I want to mention one of the things I find most interesting about Google, is that they have two programs geared towards younger college students.  This is not something I have seen at other major companies, and feel is something pretty amazing that Google offers.

Freshman Engineering Practicum: https://www.google.com/jobs/students/proscho/programs/uscanada/fep/
I really wish I had known about this program: it's geared towards CS (or CS intending) freshmen.  It's a fantastic opportunity to get a major internship on your resume early on in your education.  It also helps to prepare you for further opportunities at Google, which as a current intern, I wish I had been able to take advantage of at that age.

Engineering Practicum:
https://www.google.com/jobs/students/proscho/programs/uscanada/engpracticum/
This is similar to FEP, only geared towards sophomores.  It's practically identical to the SWE internship I am doing, and many of my friends here at the office are EP interns.  The main differences involve more social activities among the group of EP interns, classes to help teach coding skills, and a strong support system.

If you know anyone who is eligible for these, or are eligible yourself, check them out!
(Countdown to completion: 19 days)




Wednesday, July 24, 2013

Google Outreach : Diversity and Service in Coding

Google Scholars hacking at
"24 Hours of Good : NYC 213"
I decided to do a post about the opportunities I've been given here at Google to give back to the tech community--I’ll also be posting in the next few days about my stay here in MTV, but I wanted to wait until I’ve gotten a few fun pictures of the Googleplex to show you!


I have had some awesome chances to participate in outreach while here at Google: I taught Scratch to high school girls, have given tours to college students, and volunteered at the 24HoursOfGood hackathon. Not only were the programs easy to find and volunteer for, but I was intrigued to find that Googlers are encouraged to sign up for them, even when it means that they'll have to set work aside for most of the day.


A Scratch screenshot!
The TechGirls program is incredibly cool; twenty-seven high-school girls from nine different countries in Africa and the Middle East come to the United States for a three week period to meet people in the tech industry.  It’s designed to encourage diversity and allow girls to explore fields that aren’t as easily accessible to them in their home countries.  For my section of the day, I taught them how to make a quick game using Scratch--Scratch is an MIT developed program for teaching younger students how to code, by removing complicated syntax and allowing students to focus directly on the logic. I have used the program in my introductory course, taught it to my mother's elementary school students, and Google uses it for programs like this. Scratch uses a lego based structure such that students can 'drag and drop' chunks of code, quickly constructing working programs that have three components: scripts (the code), sprites (characters), and backgrounds. The program we made was simple, merely a counting game that tracked how often you clicked a character.

After the talk, I had the chance to have lunch with the girls.  It was such a cool experience to hear their stories about life in their countries, and I felt lucky to be able to share in their experience of coming to the states (most of them, for the first time).  They were so excited by all the things they had seen in NYC and DC, and even gave me a coffee tumbler to thank me for presenting!
Tech Girls 2013: I grabbed this photo from their FB page, wish I could
have found one from their day at Google!
24HoursOfGood was awesome in an entirely different way.  The idea is to match a group of  students with non-profits to create apps that help the non-profits succeed in their mission.  The students were mostly my age or older, and I was volunteering to assist teams technically: a slightly terrifying concept when you are an undergraduate intern being asked to help people who have already completed their degree.  However, it was a great time, and I was surprised that I had a lot to offer and was able to make a difference by being there.  After I helped one team work through some tricky JavaScript and HTML5, we celebrated with some delicious ‘bison burgers.’  Everyone had a great time, and even though the teams were competitive, the real prize was the awesome apps that were created for the different non-profits. 
24 Hours of Good Explanation

Google Scholars and technical volunteers
enjoying some delicious bison burgers!
(Countdown to completion: 23 days)

Thursday, July 18, 2013

The Google Coffee Break

My first espresso shot!
Coffee breaks are pretty common at any company; employees get up to stretch their legs, rejuvenate with a cup of something involving caffeine, and talk about their lives for a few minutes before getting back to work.

My first week or two at Google, I did coffee breaks all wrong.  Google NYC has coffee brewing machines placed at convenient locations throughout the office.  The machines don't make anything gourmet (although if you're willing to walk a few flights of stairs to the 5 Borough Bistro, there's always plenty of nicer options) but I'm from Seattle and the need for a quick jolt of caffeine at frequent intervals has caused my standards to be considerably lower than the average individual.  I always arrived a few minutes before my team, since I wanted to study what I had done the day before for a few minutes before anyone else showed up; I'd go straight to the machine, stand quietly next to it while it brewed me a cup of coffee, and then go to my desk to start my work for the day. I would then repeat this procedure for the next eight to ten hours.

One day I was running a little 'late' (or rather, on time), and got to my desk at the same time as my teammates.  Seeing my lack of caffeinated beverage, they invited me to go to a different floor to grab espresso with them.  All of a sudden a whole new world opened up; not only was this a daily routine, but it was a perfect moment to ask a question that would take more than a few minutes to answer, ask them about their lives and careers at Google, and tell them funny stories about my intern ('Noogler') experiences.  All of my co-workers have wonderfully fun and quirky sides to them, and it's during these coffee breaks and latte-making teaching-sessions, that those had time to come out.

After that, coffee breaks became my favorite part of the day.  I rarely get coffee without another member of my team, and when I do I ping (I have no idea if this is a common term, the first time I heard it was at Google--it just means 'to GChat' someone) another intern to go with me.  I've made a lot of friends--and a lot of lattes--through coffee breaks.  Google understands that you're not going to be at your most productive if you stare at a screen for eight hours straight and the company makes it easy to get away from the office environment.  It's amazing how much more I get done after taking a break in the rain-forest  or Lego micro-kitchen (yes, one does have stuffed sloths and the other has crazy contraptions built by Googlers on coffee breaks).

People might think that it's a weird work environment, and I've read more than a few articles that describe my friends in MTV (Mountain View) as working in an 'amusement park,' but that's just part of what makes Google so much fun to work for, their inability to take themselves too seriously.  It might be silly, but it's easier to connect with your team and other Googlers when you're making espresso in a room designed to look like a Times Square crosswalk, and I feel more comfortable asking a question when we're all sitting around the ball pit (although I'm usually the only one actually sitting in it).  The whimsical setting always ensures that I'm not worried that anyone will tell me my questions are stupid; if they were going to say anything was stupid, it would probably be the fact that I prefer sitting in the ball pit to sitting in a chair!  I love looking around and realizing that I would never lose the sense of joy I get while coding, when working here; the workplace is literally designed to make sure that you are always aware there is a world outside of your cubicle and that it's important to be a part of it.  It makes you a better engineer and a happier person, and so I always make sure I make time for a coffee break.

My first attempt, which I affectionately named
'The Smurf'
My first semi-successful attempt which I refer to as
'Grandmother Willow' since I was going for a leaf

















My only successful attempt which is just 'The Latte'

(Countdown to completion: 29 days)

Wednesday, July 17, 2013

Hello World, from Google NYC

So I've decided (albeit lately) to post a little bit about my internship, and the cool stuff I've been able to do since being here.  There have been a lot of questions surrounding the 'Google Internship' lately, what with the Vince Vaughn/Owen Wilson feature hitting theaters and the recent press about tech internships.  While it's made my experience here more interesting and entertaining, I do feel like there are a lot of misconceptions (many of which I shared until starting this experience) about the Google intern experience that should be addressed by someone who is actually a Google intern.


My team, seeing The Internship. The guy in the plaid shirt
is my host, and that's me in the Noogler hat!

My first day on my internship, my host sat me in front of a computer and walked me through how to put code live on Google.com, by far one of the most terrifying and thrilling moments of my computer science education.  All of a sudden, thirty seconds into my day (and I had barely even managed to find my desk), I was being asked to modify a product that I used every single day. I was terrified that I was going to break the entire site by typing a letter wrong.  The funniest part was that I did: a piece of text on Google started showing up as red instead of black, and part of my second week was fixing that mistake.  No one got mad (it helped that it was noticed before the code went universally live), and any jokes that I got were friendly; in fact the experience made me feel more comfortable writing code because I realized my team wasn't going to give me any tasks that would inadvertently shut down Google.




People stared. And wanted to know
where I got my hat.
I have met some of the most interesting people in my life since starting at Google, and am excited to have the chance to share my experience to the world.  I could write about it for pages (and believe me, I will in the next 30 days), but for the first post I'll stick to two moments that stand out to me as being indicative of a Google Internship (the real one, not the one that somehow involved a strip club and Quidditch). One moment was when I was sitting with my team, and the credits were rolling on ‘The Internship’ and realizing I had been given this incredible opportunity and yet no one (from Google) had said, ‘You should know how lucky you are to be here.’  Rather, Google made sure there was a balloon over my desk, my team invited me to join them in a 5K, and I was introduced to a number of people whose creations I had been using for years and who were willing to listen to my ideas and argue features despite the fact that I've been coding for only three years.  Google makes you feel like they’re the ones who are lucky to have you as an intern.



A group of interns playing in the ball-pit while my team is around us working.
This was on our lunch, and we spent the next ten minutes picking up balls
The first picture I took on the
first day.  I was so nervous, and
must have looked like such
a tourist.


The second moment was when the Knowledge team went to Montauk, and I met a guy who had just changed his job from coding for a financial firm to working at Google.  He told me that when he changed jobs to work at Google he suddenly understood what it meant to ‘love what you do’; that all of a sudden, his son thought his job was cool, he was able to focus on projects he had a passion for, and that best of all, he was in a career where he learned something new every single day.  And didn't have to wear a tie (this part was added as an afterthought, but the dress policy is definitely worth acknowledging as a perk of switching from a financial firm).
A view of the terrace where NYC Googlers can eat lunch


As someone new to the industry, these are the things that reminded me why I had always wanted to work at Google; people here love what they do and do it well and in turn the company makes sure that coming to work is something people feel excited about.












Feel free to post comments with any questions you might have, I'm excited to share my journey!
(Countdown to completion: 30 days)