With several of the core General Institute Requirements out of the way, sophomore year was really the dawn of my computer science life at MIT. Impostor syndrome started to take a backseat, and taking CS classes I enjoyed and did reasonably well in was a confidence booster. Soon enough though, I had to start thinking about internships, and I couldn’t help but feel the creeping approach of “not-enough”ness.
As career fair drew closer, resume workshops and interview tips began to dominate my inbox. Companies were hosting multitudes of events on campus, drawing us in with tech talks and lotteries for electronic swag, which we could usually enter by submitting a resume. I didn’t have a resume, and when I solicited some sample resumes from my friends, a clear difference emerged. On theirs: Github repositories populated with a multitude of extracurricular code, polished websites, sophisticated projects. On mine: a spatter of somewhat relevant classes and side projects I felt were too simple to be worth including.
After speaking with some friends at Alpha Delta Phi, I consulted with staff at MIT’s Career Development office. Around the period of the fall Career Fair Week, the office let students book quick appointments for resume reviews, interview tips, offer negotiation tactics, and so on. I met with a nice lady who encouraged me to include my Olympiad and writing experiences from before MIT, as well as compensate for my relatively low CS experience by emphasizing one of the bigger projects I’d implemented in an MIT class. All of a sudden, I had something of a resume, but it still felt inadequate.
Career Fair came and went in a blink. I stopped by for less than an hour and quickly left, after an enormous buildup of anxiety took over. I spent the days and weeks that followed caught in the usual MIT routine, and put an internship search on the backburner. It wasn’t necessarily feeling like I couldn’t land an internship. A combination of (to my ears) an adequate but relatively average resume, insufficient experience, fear of interviewing and the constant workload MIT unraveled each day put me in a state of complacency career-wise.
Then one evening, I received an e-mail about a talk Google was having on campus. It was right after one of my classes, and I figured it couldn’t hurt to check it out, and at the very least, grab some free swag.
Most of the swag had vanished when I arrived (although I did manage to grab a nice pair of socks) but I came just in time to hear one of the Google engineers speak about his route to the company, starting from his freshman year in college with virtually no experience. He spoke passionately, and after the talk was over, a small ball had knotted my chest, a familiar ball that meant I was on the verge of doing something potentially nerve-wracking.
I got back to my dorm, and immediately filled out an application for Google’s Engineering Practicum Internship Program. It was designed for college freshmen and sophomores with little experience in Computer Science, and seemed like just the perfect thing I needed. Boosted by this, I sent out my resume to several other companies (which would result in several rejection e-mails) over the days that followed.
A few weeks after I’d sent out my resume, I got contacted by a recruiter to set up two back-to-back phone interviews, each of them roughly an hour long. They constituted my first coding interviews, and as such, I was incredibly nervous. I remember the twenty minutes or so prior to the first call. I was in my room, spread across the bed, and playing some Taylor Swift music, trying to get into a state of calmness.
Breathe in. Breathe out.
The interviews had a straightforward structure: the interviewers, current Google engineers, would spend a minute or two talking about themselves or about you, but pretty quickly, they’d get into the meat of the hour. You were given one or more challenges, which you solved by thinking aloud and writing code on a shared Google Doc, each keystroke and backspace visible. The first interview went pretty great; the second felt like a trainwreck in which my brain just decided to turn to mush and forget everything I knew about coding. I ended up having to do a third interview, which went well. Shortly afterward, I was accepted into the program.
I interned twice at Google, first in 2015 at their Los Angeles Office as an Engineering Practicum Intern, and again in 2016 at their Boston Office (right across the MIT campus) as a Software Engineering Intern. Although the former program had a greater deal of mentorship, both summers essentially consisted of working Monday through Friday reading and writing code.
Spending the summer of 2015 in Los Angeles was magical. I left the perpetual variability of Boston’s weather and stepped into a wonderland of mid-seventies stability. The apartment hunt was quite frustrating–although Google helped out a great deal by providing interns with a housing stipend and giving us access to a document detailing how previous interns had gone about looking for housing. I ended up sharing a two-bedroom apartment with three other Google interns. It was unfurnished, and our only furnishings that summer were a small carpet that looked rather comical on the floor of a large, empty living room and a set of chairs. I purchased an air mattress that had a funny way of deflating when I was deep in sleep, so that I’d always wake up to my face on the ground. However, splitting that apartment four-ways, combined with the stipend, made it very affordable. Plus, with us on the twelfth floor, we had a sweeping view of the Los Angeles skyline.
Before starting off work in LA, I spent a week at the Google Headquarters in Mountain View, an incredibly large campus I could see myself still getting lost in even if I were there for years. Orientation Week was fast-paced and intense, as we were introduced to the company’s culture, code base, practices, guidelines and sweet, sweet food. Interns were represented across multitudes of schools and from all over the country. We wore brightly-colored Noogler hats and probably had this look of constant wonder on our face. That week invoked familiar images of being new to the United States and to MIT, that overwhelming sense of utter fascination, of getting lost in a sea of brilliant minds. Innovation was happening quietly, in buildings all around us, and even if we couldn’t see it right then, we could feel it.
And for those summers, in our own ways, we could be part of it.
The binoculars-shaped LA office was designed by Frank Gehry, the same architect behind MIT’s distinctively shaped Stata Center.
Its uniqueness was a fitting metaphor for everything that followed; my traditional notions of what an office typically looked like were met with Google’s own imagination of a workspace, the sort of bright-eyed, in-the-clouds imagination that MIT got me familiar with. The designs were thematic, incorporating features of the office locations into its structure.
The perks were incredibly enticing too. Across both offices: free massages, an onsite barber, cafes serving breakfast, lunch and dinner, a gym, a music room, a game room, a library, fire poles down which we could slide, rock-climbing walls, and on the list goes. I remember thinking how the heck anyone got work done.
And the work itself was the heart of my internships at Google.
After spending endless hours speeding through MIT’s roulette of classes and labs and problem sets, getting to translate that to an industrial setting was quite the experience. Google has defined the entirety of my CS industry experience, and is thus my only reference point, but going behind-the-scenes into the company’s codebase, for me, bordered more on Harry-Potter-style magic than on technicity. As an intern, I had access to the vast majority of the company’s internal codebase, to which I could now add.
For both summers, the early weeks of the internship were defined by reading through heaps of code and extensive documentations (Googlers will often complain about the variable quality of their code documentation, but it’s largely thorough, perhaps intimidatingly so). I felt a bit lost both times, just by the sheer newness of everything, but as the internship progressed, familiarity took over.
I got to learn new languages, and then learn Google’s version of those languages. I got to learn their process of code review (every line of code gets reviewed before being checked in), code rollback, style guides. I got to learn about strange, powerful technologies implemented by their engineers, tech that made researching and processing large amounts of data seamless. I got to see the magic of Computer Science at a wider scale than I had in the past.
My Los Angeles internship was a great mix of research and coding. The description that follows is about as high-level as I can get, but hopefully it paints something of a picture. For Google’s advertising customers, the team I worked with (Brand Insights) was interested in measuring and classifying some metrics. For the first half of my internship, I researched on and documented possible different algorithms for which these metrics could be computed, and ended up choosing and implementing what I considered the best one. Then, using Google’s MapReduce system, I was able to compute and classify metrics for billions of existing data points. The team also had an internal UI prototype, to which I made a slight expansion by adding a time-range selection feature for which metrics could be computed.
The 2016 Software Engineering Internship in Boston was decidedly more involved, and was a Machine Learning project. I had to preprocess data from multiple internal sources to extract features for thousands of entities, train the data on a classifier using classic machine learning algorithms (Adaptive Boosting, Winnow, Random Forest), and sort of play around with the parameters until the accuracy was satisfactory. Then I had to integrate the trained classifier into the pipeline that fetched these entities, so that it could generate and classify new unlabeled data. I also got to take a 20-hour ML course to complement my coding work, making for a very engaging summer.
Beyond reading and writing code, I also had to give presentations, create documentations, attend team meetings, and quite memorably attend the company’s weekly TGIF meeting, which actually takes place on Thursdays. It occurs live in the Mountain View headquarters, and streams to other Google offices worldwide. Larry Page and Sergey Brin, the Google co-founders, often lead the meetings, and talk about the state of the company. Different teams also talk about their products and give demos.
At my first TGIF meeting, with my bright Noogler hat on, I grabbed some wings, sat somewhere in the back, facing huge screens streaming from Google HQ and a ripple of chatter. I remember thinking, This is really happening.
And being a Googler didn’t end when I wrote my last bit of code for the day. Whether it was with my team, or with other Googlers drawn from different teams in the office, we were often united in non-technical endeavors.
About a month into my LA internship, I joined several Googlers at Venice Beach for a few hours. Dozens of footprints in the sand tracked our path as we picked up as much trash as we could and disposed of them. The people in my immediate vicinity on that afternoon constantly shifted, whether it was Emilia, my Engineering Practicum Host, or other interns or engineers I hadn’t met before that day. Conversation shifted with them, but it felt light and easy, comfortable.
I also ended up spending a few hours one week just patrolling the Los Angeles Office. My eager self had signed up to be part of a group of Googlers giving high school kids a tour of the building, and at that point, I was still getting lost. So I learned where the cafes were, and the numerous microkitchens, and the Game Room, and the huge Google Earth device that let you see any location in the world on multiple large screens surrounding you. The tour went great, although at one point I was certain I would emerge with some of the kids into some strange new room and suddenly have no idea where we were, forcing us to spend an eternity in that subsection of the office. On the bright side, no matter where we were, we wouldn’t have to walk for long to find a microkitchen stuffed with snacks.
One of my favorite memories from that internship was probably the nugget eating contest my Brand Insights team had. The goal was to eat fifty McNuggets in sixty minutes. The reward, aside from all that free food, was immortalization–your picture would go up on the team’s Hall of Fame wall. We sat outside, surrounded by boxes of Nuggets and napkins and drinks. The timer was set, and we went in immediately. Fifty nuggets in an hour seemed like nothing to me, a confidence that didn’t waver until about 15 nuggets in. Then, my pace slowed, but I kept on, relentless. About forty-seven nuggets in, I gave up. Yes, I only needed three more nuggets, but I was pretty sure I’d explode at that point if another molecule of food found its way into my mouth. Emilia, my project host, absolutely destroyed all fifty of her nuggets, in a display of effortlessness that still amazes me to this day.
That summer, I would also attend the Special Olympics with Googlers at the University of Southern California. I would spend some Saturdays walking dogs with fellow engineers (I got attached to a very energetic Beagle). I would take part in a karaoke contest with interns in which my inner Taylor Swift came roaring out, unleashed. And I would share some of my writing with Googlers. Those unexpected e-mails of “Hey I read this and thought it was wonderful” always made my week.
My internship at Google was about good code and putting what I’d learned at MIT to great use. It was about newfound confidence, bolstered by a chance they took on me and the support my project hosts gave me. It was about rediscovering Computer Science, and realizing that when you put together a band of the brightest minds in the world, what you create more closely resembles sorcery than machinery. It was about people who loved their work, and were more than their work. It was about excellent food, and new friends, and going to bed each night feeling incredibly content.
One of the things that especially stood out to me was the mostly clean separation between “work” and “life”. At MIT, even when you weren’t doing problem sets, the specter of undone work, unmet deadlines hung around you at every moment. 3 P.M. was just as potential a time to be doing some work at 3 A.M. But for both summers, while I did occasionally have to work overtime, as soon as I logged out and left, there was no lingering specter. It made for a great balance that sometimes gets missing at MIT.
There were off-kilter moments at times, whether it was from noticing how few engineers of color were around (although Google’s efforts at diversity are immense and well-documented), or just from my own anxiety kicking in right before a presentation. However, the memories of that summer are imprinted in a hallway of all my best life memories. And just before my last internship ended, when I received the e-mail about interest in moving forward, I already knew what I wanted to do.
In September 2016, I accepted a full-time Software Engineering job offer from Google. I’ll be starting sometime in September of this year, in their New York Office. Needless to say, I am beyond excited.
In just a few days, I graduate from MIT, a crazy fact I still haven’t quite processed yet. But as the chapter on the Institute reaches a conclusion that part of me isn’t entirely ready for, a whole new book awaits. And I can’t wait to turn the page.