Archive of articles classified as' "work"

Back home

Facebooking like It’s My Job, part 1: the Appeal of Industry


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.


Summer 09: SURF-IT in Santa Cruz


The obligatory “what the hell was I doing all summer” post. Now that I’ve sent off my final paper and travel reimbursement, I am starting to feel like my summer is kind of over and I can reflect and report on what happened.

I was in Santa Cruz working at UCSC as part of the SURF-IT program, an NSF-funded research internship for undergrads in Computer Science and Engineering. I was lucky to meet and hang out with 16 other fabulous SURF-ITs in the forest, overlooking the bay, that was our campus.


UCSC is also super cool because the mascot is a BANANA SLUG. Yeah, unbeatable.

Sri Kurniawan was my advisor — she’s probably one of the most upbeat and energetic people I’ve ever met. I learned a lot about her overzealous vegetable garden and fruit trees, strange neighbors, and that she’s very chill about inviting people over and making experimental food, 99% from her garden. My grad student advisor, Sonia Arteaga was the most involved with my work (I was working on a pilot study for what she plans to do as her PhD project, essentially) and was nice enough to give us rides around to places like Sri’s house, Thai food for lunch, or Watsonville/Salinas where we did a lot of our user studies.

The other undergrad on SURF-IT I worked with was Adrienne Woodworth from St. Lawrence University in New York. She is the kind of person who has a story about every possible topic of conversation (usually quite amusing). It was also convenient that she is as much (if not more) of a night owl than me… we would often be working in our rooms on our project at 3am and be emailing/IMing each other about it then.

The project we did was to make a prototype mobile application that used interactive games to motivate teenagers to be more physically active. Sort of think a Wii on an iPhone. These are games that involve physical activity in some way (walking around in the real world to try to get somewhere on a map, or fighting games where you swing the phone like a sword, etc.) We made an iPhone/iPod Touch app that recommended a list of games and logged your playing time.

My part was mostly to make the game mode structure, that would recommend, display, and let you play games. Adrienne made a personality test for the beginning of the app, since it was supposed to cater to different personalities, and she made some characters (agents) who would say motivational phrases like “You’re doing great!” and Sonia made the database for keeping track of play times and user profiles.

We then found real live actual teenagers (whoa!) to test the app and tell us what they liked and what they didn’t like. Our mileage varied with different parts of the app, and we have a better idea of what to do in a “real” version of such an app to improve it.

Probably the most fun thing about the user testing was that we met the same group of 6 kids or so multiple times over the course of a month, so we got to know them fairly well. They were really interesting to talk to and interview/observe/study and it actually impressed me how not-flakey they were about showing up at random Friday afternoons in the summer (though I guess they had to be serious about it to receive their Forever 21 gift certificates).

I think all these different things kept my summer pretty interesting — I wasn’t only coding all day. Although I was indeed writing iPhone apps, I was also working on grants, transcribing interviews, driving out of town to meet teenagers, playing iPhone games, learning about Sri’s overly productive garden… (plums, tomatoes, lemons, oranges, zucchini, etc etc. that desperately needed to be eaten by someone). Since all of my work was iPhone coding or something else completely laptop-based, I often worked outside, downtown, on the bus, etc etc. which I mostly took advantage of by hanging out at Pergolesi and Asana Cafes.

At the end of the summer we had presentations and a poster session with all the other SURF-ITs. Here’s my poster, I thoroughly enjoyed making it (especially choosing exactly what shade of pink I wanted to use):


During the middle of our project, we wrote a paper and were published in the June 2009 SIGACCESS newsletter!

By the time I turned in my final paper for SURF-IT of course we had finished the project. It’s over here at my page on the SURF-IT website.

Aaaaand that’s my summer!

(And of course, Dannyland. Which all SURF-ITs have become quite familiar with.)


one day in CS173 section


Yesterday was my last day as a TA (for the time being, at least). After two semesters teaching discrete math, I have to say the thing I will most miss (other than free whiteboard markers, of course) is having office hours, which have unreasonably fun this semester, mostly due to the size and regularity of the attending group. Teaching in front of a group is much higher risk and you end up feeling either really great or really terrible afterwards.

Anyway, yesterday’s class was an abnormal situation — normally I teach 17 students, but since the other TA who splits the section with me was out of town, I ended up having to teach the whole group of ~30 students. So class was going fine, we were about 25, 30 minutes in, talking about chromatic numbers of graphs, fun times… and then suddenly, this guy who I’ve never seen before walks into class. I don’t know all of the students I don’t normally teach, so I just assumed he was a latecomer who is normally in the other section. Except, this guy is totally and completely confused, and is like, “WAIT?! WHERE AM I?” Um… So we all informed him that he was in CS173 discussion. And then this apparently is even more confusing to him, and escalates to, “Wait, what time is it?? What DAY is it??”

At which point, I was pretty convinced that this kid was from the future. I mean, when else do people you’ve never seen before walk into the room and ask you where and WHEN it is? (And no, drugs were not involved here).

So we start asking, “what YEAR is it?”, “Who ARE you?….and WHY ARE YOU HERE??” and this guy continues to be completely perplexed and we’re totally not helping.

Eventually we concluded that he’s actually a CS173 student himself! So he sat down, and decided to roll with it, and learn with the everyone else (why not, a little extra discussion section never hurt anyone…)

So class continues… planar graphs, mappings, yadayadayada,… and about ten minutes later, when we’re in the middle of some problem, the guy exclaims, “I figured it out!” Like, his existential dilemma has been miraculously resolved! We all wait, expectantly, and he tells us that his previous class (linguistics) must have gotten out early and he didn’t realize it, so he accidentally arrived at CS173 about half an hour early. Things would surely become familiar in another fifteen minutes when the 2:00 section started and all of my students would be replaced by his classmates.

But really, I’ve never been so convinced I had just met a time traveler before. Maybe next time.