Internship with the Site Speed team at Facebook!
I’m thrilled to announce that I’ll be joining Facebook’s Site Speed team in Palo Alto, California on September 26, 2011 for a 12-week internship!
After almost two months of being in contact with Facebook, I finally got the liberating call with the verdict yesterday evening: I’ve been accepted!
Backstory
For those of you who want to read it, here’s the full backstory.
Excitement
On February 24, I was contacted via the contact form on my website by Jason Sobel of Facebook. He’s a member of the Site Speed team and mentioned their article about BigPipe (which is the technology they developed to make Facebook load twice as fast). Apparently he had come across my master thesis and my website (i.e. this website) and was interested in my work on making websites faster. Jason asked if I was up for a chat some time to find out what I’ve been working on and so he could give a sense of what the Facebook Site Speed team does. There even was a mention of possibly joining Facebook: “maybe our team would be an interesting opportunity for you?”.
I’m sure you can imagine that when I received this e-mail I initially didn’t believe the sender’s e-mail address was real. It turned out to be legitimate… (I checked the e-mail headers and looked up Jason’s LinkedIn profile for verification.) By the end of the e-mail, I was literally hopping around uncontrollably like a schizophrenic kangaroo.
A couple of days later, I had an informal video call with Jason Sobel. It became clear they were interested in interviewing me for a full-time position. I explained that I’d first have to complete an internship to collect the final credits to complete my studies.
That’s why I proposed to do an internship first instead. They liked this proposal, so now I was interviewing for an internship instead!
First technical interview
My first technical interview was on March 21st and was taken by Benjamin Billings, a Software Engineering manager at Facebook whom is also a member of their Site Speed team.
Since I’d been working hard on finishing as much as possible of the various courses I’m enrolled in right now, to ensure I’d have enough time left to finish my master thesis by the end of May, I didn’t have time to prepare for the interview. A few hours in advance, I started looking up some algorithms, scanning them quickly, to get at least some of the details in my head.
Unfortunately, this first interview didn’t go too well. I was extremely nervous and solved the problems he asked me to solve very slowly.
At the end of the interview, I asked how I did and Benjamin confirmed my suspicion: my performance was not great.
Algorithmic Skills Sharpening
I was afraid this was going to happen. After all, it had been three years since I’ve had to deal with the details of sorting algorithms, tree traversal, single-source shortest-path finding of graphs, data structures and so on.
It had been one year since I’ve worked with relational algebra, database algorithms (such as calculating logical cost-based query execution plan selection), expression power of query languages, distributed computing algorithms and data structures (such as B+tree indexes).
My current master year has proven to be very ‘applied’: IT project management, information visualization, current trends of databases, basic accounting, bio informatics, legal aspects of ICT and entrepreneurship. The reason for that is that our university is trying to prepare us to enter the business world, either as an employee or business owner.
I explained Jason that “for me, it’s a matter of being immersed in a specific problem field again to regain the associated method of thinking”. Jason responded that they expect their engineers to be generalists and to be proficient across a wide variety of programming tasks. This is of course completely understandable — it’s in fact an excellent requirement for hiring software engineers.
So I decided that an opportunity of this magnitude was worth some sacrifice. I simply postponed all my university work to sharpen my algorithmic skills.
Over the next week, I processed ±1500 pages of knowledge acquired in the past of which my recollections had become rusty, plus I made some exercises. I re-studied the following courses:
- Algorithms & Datastructures (time complexity, inherent time complexity, sorting algorithms, data structures (linked list, stac, backtracking…)
- Operating Systems (OS architecture, FS architecture, CPU scheduling, multi-threading…)
- Technology of Multimedia Systems and Software (compression techniques for images, video, audio and data in general)
- Distributed Systems (techniques for building distributed applications that keep in sync, can recover…)
- …
Second technical interview
Clearly, I was prepared far better for my second technical interview on April 4, which was conducted by Yuri Putivsky (whom is not a member of the Site Speed team). He’s a C/C++ programmer, and if memory serves, he said he did and still does some fairly low-level programming. I told him I’d been working with C++/Qt a lot for my master thesis (he knew Qt), so he proposed I’d answer his questions in C. I agreed with this, but was slightly worried that he’d overwhelm me because of his “low-level C programming” history.
However, mostly thanks to the re-studying of the Algorithms & Datastructures course and the practicing, the interview went very smoothly! I answered far more questions than the first interview, most of which were harder, in the same amount of time.
The verdict
I was anxiously awaiting the verdict for just over two weeks…
On April 19, around 20:45, the verdict was finally shared in a liberating call. When I finally heard Laurie Young (responsible for university recruiting) utter the words “Congratulations! You’ve been accepted!”, I was incredibly relieved to know the answer, but most of all, I was incredibly excited :) As mentioned at the beginning of this blog post, I will start on September 26, 2011 in Palo Alto, California!
(I was later told by my (amazing!) girlfriend that I squeezed her hand quite firmly as I was being told the good news :P)
Drupal
I’d like to thank Dries Buytaert once more for his letter of recommendation and the chances he offered me over the past few years. In particular, I’m grateful for the opportunity to build Mollom’s e-commerce system back in 2008, when I only brought open source Drupal modules as prior experience to the table.
If I look at the grand scheme of things, I even have to thank him to open source Drupal. After all, if I wouldn’t have come across Drupal in my search for a CMS to rebuild DriverPacks.net, then I would never have written the article about Drupal’s page loading performance. If I wouldn’t have written that, I would never have written my bachelor thesis about it. Next, I’ve only been able to come up with the concept of my master thesis thanks to the preceding bachelor thesis. Finally, Facebook has only found me thanks to my bachelor thesis and especially my master thesis, about which I’ve written on my website that is powered by Drupal!
It’s clear that I owe a great deal to Drupal, the Drupal community and Dries.
Thanks, Dries! Thanks, Drupal community!
Hasselt University
Of course, this was not only possible thanks to Drupal. Clearly, I also owe a great deal of gratitude towards my university, Hasselt University and its many excellent professors.
In particular, I’d like to thank Prof. dr. Wim Lamotte (a great professor, my bachelor thesis promotor, but he didn’t stop there: he also reviewed my master thesis literature study and helped get approval for doing my internship at Facebook, amongst others), Prof. dr. Jan Van den Bussche (my master thesis promotor and an amazing speaker — he manages to make the most dry topics funny), Prof. dr. Kris Luyten (also a great professor whom teaches many multimedia and HCI courses, while always looking at the newest technological innovations) and many others.
The future
My father and brother have also been very supportive over the course of my university studies. As have my girlfriend and parents-in-law to be over the course of my master thesis implementation (which is still ongoing).
It feels strange, knowing that a great opportunity awaits you in the not too far (yet not very close either!) future. I’m very excited to start at Facebook, and hopefully I will be able to continue to work there after my internship. (If I’m good enough and it can be combined with my personal life.)
Right now, I’ll just have to focus on finishing my master thesis implementation. (I had it put on hold for the last 1.5 month while interviewing with Facebook and while I was trying to advance other courses as far as possible, so I can get a long uninterrupted time to work on finishing my master thesis).
I don’t plan to leave the Drupal community any time soon, in fact, I will be building a new Drupal 7 site for my my table tennis club during the summer. Some of that work should flow back to the Drupal community, as usual :)
After this last multi-month summer vacation, I will then start in Palo Alto. But today, I have other things to do!
Comments
Congradulations!
Congrats my old hotel room partner! :)
That’s awesome news! It just goes to prove that doing great work gets rewarded!
You’re going to have a blast in Palo Alto. I actually just moved to Palo Alto earlier this year. Great place. Great weather and lots of really interesting people doing really interesting stuff.
Awesome
Awesome story! No hamsters in it, but still awesome :) What a great opportunity! You deserve it, as you always presented the most impressive projects at university.
Thumbs up, I wish you all the luck!
Congrats
You really deserve this great opportunity!
This is my fourth H L Mencken
This is my fourth H L Mencken quotes time coming by your blog.I just stumbled upon your blog and wanted to say that I have really enjoyed browsing habit quotes your blog posts.
congratulations
Exciting story Wim! Interesting also to hear that the good old basic algorithms and data structures skills are highly valued by the American computing companies. Also thanks for thanking me, I don’t think I have done much, except perhaps to gently force you to think a bit deeper from time to time.
Congratulations
Amazing story Wim. You really deserve this and I know you’ll do great in Palo Alto !
Wow!
Wow! Awesome news! Congratulations! You’re going to have blast over there!
Congratulations
Congratulations, Wim! Well deserved.
Congradulations! May the Force be with U !!!
You really deserve this ! You helped me a lot on the past and i wish you to find everything you are searching for @ Palo Alto !
Excellent!
This is excellent news, Wim! I’m almost as excited as you are! ;-) I am very confident that the FaceBook team will benefit from your eagerness to solve tough problems. Have a great time!
Congratulations. One
Congratulations. One question though. With your level of expertise why dont you start your own consulting firm, or some kind of a product which would push you much more to the edge in every sense, from expertise to money.
Woot!
Great news. Excellent opportunity. Go for it!
You certainly deserve this awesome opportunity
Your contributions and serious approach to solving problems have paved the way! I am happy you have found recognition and hope you will enjoy what will clearly be a fabulous learning (and teaching) experience!
Victor
Congrats!
That is awesome! You are gonna rock even harder than you already do :)
Yeah!
Great news Wim! This also shows how the ‘open source’ attitude you have -sharing your knowledge with the world- pays of. I’m happy that your university supported you with that; and that Facebook seems to acknowledge it too.
Dude! Congratulations! Not
Dude! Congratulations! Not sure what else to say. I’ve obviously seen you kicking around this place for ages, and it’s awesome to hear that you’re going to be doing some amazing things, outside this little world :)
Nice one :-)
Awesome, Wim!!! Enjoy :D
Wow, hearty congrats, Wim.
Wow, hearty congrats, Wim. Go teach them a thing or two, and see about converting them to Drupal. ^_^
Congratulations!
So good to read the good news about Facebook internship and future. My best wishes to you there, I know you will do an excellent job there. A great way to start your labor carrer!
Best regards, Nestor
=)
Excited to have you joining Wim!
Congrats!
Congratulations again, Wim!
Steve Yegge has a nice blog post where he emphasizes the importance of studying data-structures and algorithms again before an interview. It’s mostly targeted towards interviewing at Google, but will also apply to Facebook and the likes, I guess.
– Jo
Awesome!
Congratulations, Wim!
You’re a brilliant person to talk to and work with, so I have no doubts that Facebook will look into working further with you after the internship.
Also loved to read the full backstory, well done!
Great
Great for Facebook, but hopefully you will not be lost for … Drupal.
Awesome!
Congratulations Wim!
What an excellent opportunity, enjoy your time in California!
Pls someone tell me how to
Pls someone tell me how to apply for this…. Wim pls. help me for the application….
California
Hi Wim, it produces a warm feeling that someone from my old region is getting this fantastic opportunity. Take the challenge. Go West young man!
Welcome to California (soon)...
Hi Wim,
Congrats on the internship with Facebook. My office is close by. Let’s plan on having lunch or something after you arrive.
Ciao,
LKG
Congradz, proud of ya!!
Congradz, proud of ya!!
Hi,
Hi, Congratulations on the selection. I am sure by now you have started at Facebook. I was living in California before I moved to NY and loved the environment there (1 may either hate it or totally love it there). Nice to know the drupal folks going places. All the best for everything and hopefully see you at Drupalcon 2012.