Sujeet Gholap is a 4th year B.Tech student in the Department of Computer Science and Engineering. He enjoys coding, socialising, photography and watching movies. He worked at Facebook in Menlo Park as an intern this summer. Read on as he narrates his experience.
The selection process
Of a total of 9 interns from India selected for the internship, 4 were from IIT Madras alone. The selection procedure was rather unconventional with an initial online coding round hosted on Interview Street along the lines of a programming contest. When it comes to getting selected on this round, CGPA does matter. The next two rounds consisted of online technical interviews conducted by Facebook hackers. For the most part, the questions were of a low to moderate difficulty level and anyone with a fair grasp of algorithms and data structures could solve them. The interviewers were friendly, encouraged the candidate to thinlk aloud, and helped out in reasoning process. After joining Facebook and talking to the recruiters, we found out that during the interview, apart from whether the solutions are correct, what matters is whether the candidate uses meaningful variable and function names, whether the candidate splits the code into manageable and meaningful functions et cetera (unless of course you solve a N^2 problem in N*log(N))
The internship experience
The sheer diversity and enormity of the work done at Facebook makes it impossible to single out any one course from my curriculum as the most important one. But as far my work here is concerned; Principles of Software Engineering is the only relevant one. And although depending on the project other courses may gain importance, the aforementioned course is simply indispensable. The associated lab, if done with sincerity and interest, helps immensely while working here, where wading through millions of lines of code and pursuing apparently bizarre bugs is the rule of the day. The concepts of modularity, object orientation, separation of concerns and orthogonality of modules taught in class come in handy when you want your code to get shipped as quickly as possible.
Making a mark
The biggest plus point of working at Facebook, in my opinion, is what I would call “instant gratification by amplification of impact”! To put it simply, within a week of joining, the code which you have written goes live and the mere fact that around 900 million people are using your code and potentially benefiting from it makes your chest swell with pride. My internship started off with fixing tiny annoyances here and there on the site and making minute changes. These small tasks helped me get comfortable with the code base and at the same time, gave me a sense of getting some work done.
I was given a choice of working on either a C++ backend project or a frontend project involving PHP, CSS, HTML and JS. Having seen how frustrating working with C++ can be, I chose the latter. My project was split roughly into two loosely coupled sub projects. Halfway through the internship when I was done with the initial prototype of my project, we came to know that another intern from the photos team was working on a project exactly the same as the first part of mine! Boom! The approach taken by our team was to build the feature from scratch, while the photos team had some tools already built up, which they intended to use for the same purpose. And just like that, I had to throw away my code, forget about the first part and jump onto the second part of the project.
Of events and listeners
Not all work and no play
Apart from the main routine of code – get reviewed – ship – code, one can easily arrange for a colossal waste / quality investment of time here at Facebook. There are arcade gaming machines, tables full of chessboards, cabinets filled with interesting technical books, a slew of board games and not to mention, a foosball and a pool table! Every floor of each building has several places called micro-kitchens where you can find racks full of various chocolates and chips, fridges overflowing with soft drinks as well as energy drinks not to mention some three various types of milk and seasonal fruits. At the same time, it can get quite frustrating for vegetarians when many of the times you get sick of the bland veg food and end up eating pizzas all the time! Yep, they have a free pizza shop and burrito bar which come to rescue of poor vegetarians like me.
Continuation or a breakpoint?
Unlike other tech companies, Facebook does not have a separate procedure for offering jobs to interns. There are no additional interviews or tests to be written. You are judged by how you have worked during your internship here, how your code is in general, your level of enthusiasm and your tendency to take initiatives. If they are satisfied, you will be made an offer you can’t refuse. That’s it!
The US of A
Initially it took time to get over the feeling of everything being so expensive. It was quite some time before I could stop thinking “Oh my God! A sandwich for 500 rupees!”. But once you get over the habit of converting everything into rupees, life in the US is pretty smooth. If you have a bike, you are all set to go! Roaming around in the sprawling lush green campus of Stanford University, hanging out in San Francisco and window shopping in huge malls keeps your mind at calm and at peace. Silicon valley and especially Menlo Park is very neat and beautiful. Clean and broad roads, flowers everywhere, huge trees and noise free traffic make you want to keep on biking. Facebook sure knows how to pamper the interns. They housed us in an expensive corporate housing which costs around 3.6k USD per month! Another thing I found to be noteworthy and sorely lacking back in India is that tap water is potable here!
Pascal said – what BEGINs must come to an END
So let me conclude by narrating an interesting incident. It was late at night and we were coming back from the theater after watching “The Avengers”. Aboard the Stanford shuttle (insti bus), a man suddenly started talking animatedly to us interns! (I was the only one from IITM gang present, most other interns being from Canada) He said, and let me quote, “Do you know, in India, there are these schools called IITs, damn talented people I tell you! There was this guy from IIT Madras, genius! Went back to India to help his people after studying here and now he is a big shot there. What Stanford needs is more IITians…” That was my proudest moment as an IITian!