... and why it sucks if articles are edited and published without consulting the author
The Fifth Estate - IITM's campus news body. I do realize and totally understand that our goals and motives differ and from T5E's point of view, the editing was perfectly justified. They want to provide concise, to the point and factual information useful to the reader community (mostly the students), while I want to insert poor jokes, ill conceived puns, double meaning titles, comp. sci. specific jargon and most importantly, self boasting in as many places as possible. Also, my excessive use of smilies and exclamation marks probably would not have been suitable for a "formal" article. But I kinda sorta believe that you should write the way you talk. And if you have talked to me, you would realize that text without exclamation marks and smilies won't at all sound like it came from me! ;) Obviously, the aim of this post is not to criticize T5E (and if it sounds like I am doing that, I apologize), they are perfectly right in their place, the goal is to get one more post on my long dormant blog, apart from the obvious aim of publishing the original article (albeit full of 'phart')! Having said that, along with the article, let me discuss what all was edited and why I liked the way it originally was. Blue's what was edited/chopped off.
They edited my intro!
They edited my intro!
Sujeet Gholap is a 4th year B.Tech student in Computer Science and Engineering department. Apart from his goal in life to crack worst PJs possible, he loves to code, socialize and watch movies. A wannabe photographer and blogger, he is an emotional fool struggling hard to get rid of that trait. When not biking around the campus listening to audio books for hours together, you can catch him in his room crashing off at unusual timings. After finishing his "official" internship at (now almost defunct) Yahoo! Labs last year, this year he is doing an internship at... wait for it... Facebook!
It was so exciting to write about myself in third person! Well, agreed that the part about me being a PJ maniac and an emotional fool and the useless info that I crash at arbit times (sleep at unusual timings) in my room was very well justified for removal; but C'mon! they even removed that I blog. Regarding the audio book listening habit, I believe it is an interesting piece of information, something which people might not have thought of before and would like to do. Sad that they had to remove it as well. After all, I spent countless hours biking around the institute's beautiful campus listening to audio books. Read great books while you burn away your calories, not to mention the dose of refreshing air! I listened to all the three Lord Of The Rings books and all the seven Artemis Fowl books that way. No denying the fact that reading books does not compare well with listening to audiobooks, but still one can look at it as a handy and useful optimization. I must agree that these guys at T5E are pretty good at chopping off narcissistic statements. As much as I would like to boast that last year, I did an internship at this awesome research lab they call Yahoo! Labs, it did not escape their scissors either.
Selection, sort of...
Looks like it should be a matter of pride for our insti[tute] that out of total 9 interns from India, 4 are from IITM! Being a part of the Internship Representatives team, I can safely say that the Facebook internship selection procedure was the most mysterious and quirkiest of all. There was an initial online coding round hosted on Interview Street along the lines of programming contests. Unlike the year before when they had given an NP complete problem and no one could get through, this year's problem was relatively easy... out of the 50+ participants, only one (Arijit, who represented India in the world finals of International Collegiate Programming Contest) could solve the problem! Surprisingly, his name was not there in the initial list of shortlisted candidates! Of course, once brought to their notice, they included it, but the mystery of the basis of selection remains. One can not but notice that none of the shortlisted candidates had a CGPA below 9, although nothing can be concluded from that (but it won't hurt to say that a good CGPA is always a plus). The next two rounds consisted of online technical interviews by Facebook hackers. For most of the part, the questions were of low to moderate difficulty level and anyone with a fair grasp of algorithms and data structures would be able to solve them. The interviewers were friendly and encouraged you to think aloud, and helped out in reasoning process. After joining Facebook and talking to the recruiters, we found out that during the interview, apart from correctness of the solutions, the key things they look for are whether the candidate uses meaningful variable and function names, whether the candidate splits the code into manageable and meaningful functions et cetra (unless of course you solve a N^2 problem in N*log(N))
Coming to the heavily edited second paragraph, they edited my favorite title! When you make "Selection, sort of..." into "The selection process", you have already lost a reference to our good old familiar selection sort! And the contents of this paragraph were, in my opinion, turned upside down. Again, I can understand them removing my attempted boasting about being an "Internship Representative"; but conveying something totally different than what was intended is something they should have watched out for. First, it was annoying when I got blocked on a small detail about the selection process. As much as hate waiting on others, after I had written the article, I waited for three whole days just to get confirmation of what I was going to put in the article was factually correct and not just a theory (as it turned out, it was a wrong theory and good that I waited before going ahead and submitting the article). All this was no use! At the end, the T5E version ended up concluding blatantly that "CGPA matters for FB internship". All I was saying is that "look, shit happens! And however rarely, when it happens, it might have helped us just a tiny bit that we had a good CGPA". To put it plainly, although for such kind of internships, your coding skills are of paramount importance, this year, due to various funny circumstances, Facebook ended up selecting based on an unknown and mysterious criterion. I know that this is no help for aspiring interns, but after all those are the facts. Also, it is not every year that a team from our insti competes in ICPC wold finals, something to be proud of, but alas! references to that were removed too.
The "main course"
The sheer diversity of the enormous amount of work being done at Facebook makes it impossible to single out a course from department curriculum as the most important course. 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 might 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, orthogonality of modules taught in class come in handy when you want your code to get shipped as quickly as possible.
Okay, agreed that "The 'main course'" is a pretty lame title, still, it had double meaning :P and the sacred word for every programmer : main!
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 benefitting from it makes your chest swell with pride. My internship started off with fixing tiny annoyances here and there on the site and making small small changes here and there. These small tasks helped me get comfortable with the code base and gave me a sense of getting some work done simultaneously. As far as my project and other projects which I am working on are concerned, all I can say is keep your fingers crossed! This brings me to another cool aspect of working here : you get to be on the bleeding edge of Facebook! You get to see the new and shiny features as they evolve, get polished, and ultimately shipped. For the last year interns, it was timeline, this year it is something, and next year it would be something else!
Here, again, the part about working on the bleeding edge features was completely dropped! In my opinion, even from a student's point of view, that description would have been exciting and enticing. Making one feel like doing an internship at Facebook. I seriously have no damn clue why it did not get through.
I was given a choice of working on either a C++ backend project or a frontent project involving PHP, CSS, HTML and JS. Having seen how frustrating working with C++ can be, I chose the later. My project was split roughly into two loosely coupled sub project. 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 same as the first part of mine! Boom! The approach taken by our team was to build the feature from scratch, while photos team had some tools already built up, which they intended to use for the same thing. And just like that, I had to chuck away my code, forget about the first part, jump onto the second part of the project, which later would be integrated into the Andrew's (the other intern) work... Good? Bad? Who knows! I was relieved! Half the workload!
Of events and listeners
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, tabels full of chessboards, cabinets filled with interesting technical books, a slew of board games, not to mention foosball and pool table, heck! they even have a piano lying around! And if you are into food, or for that matter getting as much food into you as possible, again, you are at the right place! Every floor of all the buildings have 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.
"Coroutines" made much more than just sense here... Y U change it??
Continuation or a breakpoint?The funniest part? The did not spot "... Having seen how frustrating working with C++ can be, I chose the later..."
Unlike other tech companies, Facebook does not have a separate procedure for offering jobs for interns. There are no additional interviews or tests to be written. You are judged by how you have worked during your internship here, how is your code in general, your enthusiasm level and your tendency to take initiatives et cetra. 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 damn expensive. It was quite some time before I stopped thinking like "Oh my god! A sandwich for 500 rupees!". But once you get over the habit of converting everything into rupees, life in US is pretty smooth. Once 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 trafic 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 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 in night and we were coming back from theater after watching "Avengers". Aboard the 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 big shot there. What Stanford needs is more IITians..." That was the proudest I ever felt to be an IITian! :)