Hello world, I’m at Facebook
I’m currently just past the halfway mark of my Software Engineering Internship at Facebook. People often ask me what it’s like working at Facebook, so I may as well start writing it down. For background, I’m on the Profile team and I’ve been here since the beginning of June.
So here we go, Chapter 1: WTF is so good about industry (other than $$)?
I didn’t really get the appeal of industry before this summer. Until now, I have been somewhat solidly in the academia camp. I did REUs at Carnegie Mellon and UC Santa Cruz the past two summers, both of which I enjoyed greatly. Work was fun, interesting, and laid-back.
However, back at school (UIUC), most top Computer Science students seem to have little interest in academia, which always sort of mystified me. I saw mostly similarities between industry and academia – like that you get to work on hard problems that you [hopefully] find interesting. Industry involves bigger bags of money certainly, but there’s no way that explains what I perceive as an almost complete disinterest in academia – most kids I know in CS are definitely not in it for the money anyway…maybe they just hate school?
So I considered my summer at Facebook partially an experiment to determine what people actually like so much about industry. Results: semi-conclusive.
I’m in Your News Feed
One afternoon around 3 PM of my 3rd week at Facebook, I was in the middle of some work and refreshed my news feed. The first or second story in my feed was from one of my friends in Sweden who had just updated part of his profile. I glanced over the story, and then basically did a doubletake. WAIT a MINUTE, that story seemed a little TOO familiar. I realized it used code I had written over a couple of days the previous week. And it was now on real, live Facebook…
It had never occurred to me to be concerned with how long it would take from starting work and getting code on Real Live Facebook… Turns out, it was about a week – half a week if you discount the few days of orientation at the beginning where I wasn’t writing code.
A week!? I had never even written or read a line of php before coming to Facebook.
“Move fast and break things” is the Facebook engineers’ catchphrase, but it’s also thanks to the release engineers / release infrastructure that we, as engineers, can actually do so. I am impressed.
Building Stuff People Use
Merely getting code shipped fast is not something I can see myself getting super-excited about though. The essence of the awesomeness I felt here was that I made something and a few days later SOMEONE I KNOW is using it, and bonus, I actually get to SEE them use it. This was so exciting and motivating, and I think it’s the key to industry for me – there was no moment in either of my previous two internships that had the same oomph, simply because there was no way to immediately and definitively see that what I was working on was USEFUL because it was being USED, then and there. Perhaps my work had the same or greater long-term impact, but there was no way for me to tell in a concrete, non-theoretical way. Hmm.
So this realization does sort of limit my employment interests to a couple of rows of icons of iPhone apps — I no longer am interested in working for a company unless I use their product a lot. But given that, and the fact that my level of Facebook addiction over the past 6 months may have, at some point, reached clinical insanity, I’d say coming here for the summer was probably a good call.