Saturday, May 6, 2017

Google's Secret Recruitment Portal, SIPB, Hyades: A Network Load Balancer, and more...

I haven't written a blog post in a while so I figured I would take a moment to document my life during this period.

A couple days ago, I stumbled upon a mysterious popup when I was googling terms related Google's computing infrastructure. "You're speaking our language. Up for a challenge?" it said. I was both spooked and excited. It turns out I had entered the world of Foobar, Google's secret hiring portal.


Foobar posts a series of coding challenges. Apparently when you get past level 3 or 4, it asks for your contact information and recruiter reaches out to you to offer an interview. After listening around, I found out that someone I knew got past level 5, was contacted by a recruited, and reached the project matching phase of Google recruitment process. I decided to give Foobar a shot... and it turned out to be a lot of fun.

I'm currently on level 3 and I have one challenge left to pass before advancing to level 4. Most of the challenges were fairly straightforward but I really struggled on one that asked for an implementation of Dijkstra's algorithm with a twist... something I had never seen before. Although I passed it eventually, I had to learn a lot along the way.

Foobar really highlights the art of writing good, clean code. Through doing some of the earlier challenges, I learned about Generators, and more python syntax such as "yield", "continue" (in a for loop), and "enumerate" (which can replace the ugly "for i in range(len(x)):"). I also had to consider complexity when one of my initial solutions for a challenge didn't pass because Foobar put a time limit on runtime.

Here are some screenshots of Foobar:


Outside of Foobar, I received SIPB membership a month ago for organizing SIPB CPW. SIPB is the MIT Student Information Processing Board that a friend on hall introduced me to at the beginning of the year. It was MIT's first computing club established in 1969 and is the home base for many computing enthusiasts. The SIPB office has since become a hackerspace where people come together to work together on projects.

As part of SIPB, I am currently working on Hyades, a network load balancer, with a group of other SIPBians. Hyades is our attempt at creating an open-source version of Google's Maglev [1] to use for MIT's services and beyond. Our team has been meeting every Saturday to work on it and I've learned about what it means to organize and work on a large scale technical project in a group dynamic.

The most difficult part of Hyades is understanding design choices based almost solely on information gathered from the paper Google released in 2016 describing Maglev. Equally hard is breaking these design choices down into modules that our team members can each work on to piece together the project as a whole in the end. I've learned a lot, not only about the nitty gritty about how networking works, such as how to design and implement a load balancer health checker, but also how to design and break down large technical projects into pieces that a team can work on collaboratively.

Overall, I'm having a really great time at MIT and I'm looking forward to working on machine learning at Dell this summer. Since it's getting close to the end of the year, I will probably write an article sometime later detailing my reflections on my first year at MIT.

When bogged down by psets and grades, sometimes I forget how lucky I am to be at the greatest technical institute in the world, how lucky I am to able experience on a daily basis an institute famous enough to attract regular tourists. Life is good.

[1] https://research.google.com/pubs/pub44824.html

0 comments:

Post a Comment

Leave a comment!