Hackweek at LiveRamp

Engineering

Learn from our challenges and triumphs as our talented engineering team offers insights for discussion and sharing.

Hackweek at LiveRamp

Engineering

Few times are more sacred on LiveRamp’s calendar than Hackweek, which occurs at the end of each engineering quarter. For the duration of Hackweek, engineers are encouraged to tackle tasks unrelated to their regular work pursuits. Some choose to create prototype projects they hope will become future team goals, others work on internal tools, while others still choose to get a head-start on next quarter’s goals, hoping to prove that without adult supervision 2-month projects can be completed in a week (and with time to spare!).

The intensity of Hackweek ramps up to Thursday, which is when we hold our free-for-all hackathon. Historically, Hackweek has seen not only the birth of open source projects, internal tools, and elaborate visualizations, but also the seeds of flagship LiveRamp products. For the curious reader, transcribed below (with dubious fidelity) is a selective chronology of this past week’s events.

 

Wednesday

11:30am: Andre, Thomas and I are waiting in a conference room to discuss our project. Piotr is late to our team meeting. I VNC into jukebox.liveramp.com, the command-center for our office music system. The system splits its time between Pandora and MOG, mostly under the oversight of Greg, our benevolent dictator of music. Logged in, I browse to Acapela Box, my favorite text-to-speech synthesizer. “Piotr-please-make-your way-to-the-Europe-conference-room-your-team-is-waiting” broadcasts to the entire office, with typical British authority, the voice of peter_uk_24k. Andre lights up. “Side project!” he exclaims. I suspected this might backfire.

1:30pm: For a serious take on things I catch up with Sean who is working with his team on bestowing advanced filtering functionality on some of our internal tools. Using a potent mixture of Delayed Job, dedicated servers and a LiveRamp variant of HighCharts, HTML5 graphs pop in and out of existence at a click of a button.

Abhishek and Ben P. creating filters

 

Thursday

11am: I visit the Roominator command centre, where Bryan has assembled an elite team of engineers and is carefully soldering a miniature water tower onto a circuit board. The water tower turns out to be a capacitor. Since I had last checked on the project it appears to have developed tentacles, which I am told are destined to become buttons. The project’s supposed goal is to create a display and conference room reservation system synced with Google Calendar, but I personally suspect it’s a thinly veiled excuse for the five members of this team to play around with Arduino.

11:30am: Taking a break from my confidential endeavours (these were frequent), I manage to get the Acapela Box trial API running, and dispatch a link to Andre. A few minutes later, Python’s SimpleHttpServer is running on jukebox.liveramp.com. the Python server shells out to curl to call the API, shells out to wget to fetch the generated WAV from the Acapela server, and shells out to aplay to play the file. For good measure, it also throws an exception upon completion to indicate success. We call it a hackathon for a reason.

Bryan, soldering in the Roominator Command Center

1:30pm: On my way back from lunch in the team area catered by Howard and 2nd’s Creperie St Germain, I run across Alex hanging from a ceiling, his natural habitat during Hackweek. Working with Nicole, he just finished installing photosensitive elements on an automatic, retractable shade that protects us from the San Francisco sun. Automatically.

4pm: I pass by the engineering couch area, which since its inception has become the office’s most coveted programming space after lunch. I ask Chris, one of our interns, for the status of his geocoding project. “Don’t use Perl”, he retorts.

Alex and Nicole working on a futuristic shade device

5pm: Hackweek isn’t just for engineers! Ron, our CFO, has procured a beverage fridge for the business area. Together with some newly decorated couches and a hip stereo system powered by turntable.fm, the business area is shaping up into something that will give the engineering side of the office a run for its money. Especially once their new aquarium arrives.

Friday

1:30am: Having realized that my Hadoop job will not finish running in time for tomorrow’s presentations, I try starting a new project with Thomas that involves the Twitter API and randomness. Unfortunately, my Ruby script keeps throwing exceptions (turns out you can’t call .first on nil), each of which I address individually as they comes up. “You practice the Exception Driven Development,” laments Andre.

3am: Around 10 people are still scattered around the office. I stumble into the adjacent conference room, where Benjamin looks distraught. Two weeks into his first full-time position out of school, he and Diane, an intern, set out to improve our identity merging algorithm. Unfortunately, at this late hour it is now becoming apparent that the project will require a few additional days of work.

Anneka pair programming

“Ben, it took us years to write this! Two weeks ago you didn’t even know what version control system we used!” I try to reason with him, but he is inconsolable.

8am: Emma stumbles by me, visibly discombobulated. She, Steve, and Alex all worked on giving Ronak, our mobile video-conferencing robot, a Web UI. Alex follows, flailing his hands in excitement: “…So I plugged in the red wire, but it didn’t think that was sufficient, so I upped the voltage to 13. I had to saw off part of the laptop battery, and then something exploded, but now it’s fine”. I nod in understanding.

10:30am: Placated with sandwiches, pastries, and coffee catered by Working Girls Cafe, all of LiveRamp gathers in the Team Area for presentations. The filtering team is visibly preoccupied with some last-minute technical difficulties, but the show must, and does, go on. I queue up “The Final Countdown”, and the presentations begin.

The team  area at lunch on Thursday

12:30pm: With immaculate timing, the presentations come to an end. All 15 projects are pretty damn great, as are the five or so that did not make it to a demoable state. Some projects are particularly well received by Phil, our GM of marketing, who is sitting beside me.

1pm: Hackweek is officially over, but the aftermath of the presentations generates a slew of new ideas and use cases. A great time was had by all, and the weekend offers opportunity to recuperate from the exhaustion and the productivity high of the past week. Until next Hackweek…

Ronak the robot (bottom right) during the presentations, terrorizing the populus