This week at Facebook
On Monday, I worked on getting my code committed and tied up many loose ends. I got very positive feedback from my manager! :)
(This is the feedback based upon which I would or would not get an offer).
I then struggled until about midnight with getting a subtree of one
git repository merged into a new subtree in another
git repository. Because this other
git repository (Facebook’s) was many gigabytes in size and this was a non-trivial task (at least for somebody who’s not a
git-adept), I had to undo my changes a few times. Thus I had to wait several times for many minutes. Very frustrating to say the least.
I also created a list of the things that still needed to be done for a MVP (minimum viable product), as my manager had requested.
The next day, I went over the MVP list with Okay (my manager) and created a 8-step battle plan. That may sound doable … but it required the use of Facebook’s automatic service deployment system. That in turn required my code to be in Facebook’s repository, Qt’s
moc to be committed to a directory in another repository that contains all build tools (made difficult because most build tools come with their own source, but
moc is part of Qt’s source…) and to be able to build it with Facebook’s
make alternatives (that guarantee that code is always built in the same manner, regardless of the libraries installed on your GNU/Linux instance). Not simple.
And then I still needed to add some new (minor, fortunately) features that are necessary to being able to actually use my project given the more limited capabilities in the environment in which the MVP would run.
So the plan for my remaining time was simple: working on getting as much as possible of that list done as soon as possible.
On Wednesday, I updated GUI compatibility with the “back-end” (the “engine” of my project, if you will) so I could show it in the presentation I had later that day. This presentation was for two people of other teams who were interested in my project. The presentation went great: they were very excited and will use it in at least two projects. Hurray! It is now pretty much guaranteed that my work will continue to be used and developed, which is a great relief to me. All my hard work has not been in vain!
After struggling the entire Thursday with getting my stuff to work with Facebook’s build system, I finally succeeded. By using hacks — The Facebook Way.
On Friday, I finished off everything else. The only things that still needed to be done next week (last week!) were:
- get my project merged into Facebook’s non-www code repository (it was developed in a private GitHub repository)
- merge the code upstream (after getting approval, of course)
- get several pattern miner jobs up & running
- make the presentation
The end was finally in sight!
Overall, this had been a week with little sleep. Worse, little waking time was not spent working. That’s the price I had to pay for wanting to finish off my intern project in a relatively nice way — although not as nice as I had aimed for. And yes, of course I continued to work like this, even though any work from now on would no longer influence my evaluation.
Time to relax…
That Friday evening, there was the Facebook Holiday party; because the holidays were coming up and because Facebook was moving to new offices in Menlo Park. This party wasn’t just any party though. As my girlfriend described it (she wasn’t there, but she saw the photos): “it’s like a James Bond movie!”. Really.
Facebook simply rented the entire San Francisco city hall for the night. It was obscenely fancy. The road in front of city hall was closed. They put an enormous tent on the square facing city hall. Fancy christmas trees, Facebook’s “f” logo projected on many walls, boatloads of drinks, endless piles of desserts … you really couldn’t wish for anything more!
In the weekend, I took things slowly in preparation for a last few days of hard work in my last week. But not too slowly: I continued to work on finishing my work in the evenings.
On Saturday, I went to a French bistro, which a fellow Belgian recommended to me right here on my blog. I had their crêpes with Nutella & bananas, while video calling with my (awesome!) mother-in-law. I almost felt like I was back home for a brief while … just one more week!