A farewell to our dear engineering interns, the flyest of the fly!
Dearest Sonar users, how is it mid August already? This summer has flown by us, and what a summer it’s been! Today is the last day of two of our illustrious engineering interns, Shyam and Jack. We’ve so enjoyed their company and will be so sad to see them go! These kids killed it this summer and really impressed us with their smarts, hard work, and good humor. Here’s a quick note from the boys themselves on what they worked on this summer, and how they’ve made it to the Sonar Intern Hall of Fame.
My name is Shyam and I’m an Electrical and Computer Engineer at Carnegie Mellon University. Academically, I focused on a lot of hardware related topics, such as nano-device fabrication, and coming into this summer internship I didn’t really have that much software engineering experience, so I was a little anxious before I got here. Since then, I’ve gotten the opportunity to work on some pretty awesome projects and learn a ton along the way. The work environment at Sonar really encourages you to learn by just jumping right into things and personally, I love that about this internship. The projects that I got involved with are all related to analyzing big data to better understand, and thus better serve, Sonar’s user base. For example, one of the analyses that I got involved in looked into determining who from a user’s social graph was one of their coworkers. Maybe a user wants to send out a Sonar status to all of their coworkers in the area to find someone to eat lunch with - we can help with that. This was a topic that I was really interested in because I could immediately see how the analysis that I was doing was shaping Sonar’s interaction with its users. While working on these projects, I had to learn a few new technologies along the way, which was an intimidating task at first, but a great experience that was made much easier by all the Senior Engineers that helped me out. For me, the hardest technology to get a good understanding of was Scalding, as it combined the concept of Hadoop/Cascading and Scala, both of which were completely new to me as well. We used Scalding as way of running complex data analysis workflows on Hadoop based clusters without having to worry about all the small complexities that are normally associated with writing MapReduce jobs in Hadoop. When I wasn’t at Sonar Intergalactic HQ, I was off exploring NYC as much as possible, or hanging at home being a basketball/soccer junkie.
As an intern at Sonar, I come prepared each day to learn something new, even from the first day. My first day I installed a lot of software, and spent much of the day grappling with Scala, a functional programming language. I was already familiar with several computer languages, such as Java and C, but Scala was very different. The idea that I was not supposed to modify my variables, that they were immutable values, how would I do any sort of programming like that? On top of that, since Sonar has a lot of data, we had to use Hadoop and Scalding, two popular ways to analyze data. Hadoop is open source software developed to help many people run jobs that analyze large amounts of data. Scalding was developed by Twitter, and they use it to analyze their own data. These methods use map-reduce to divide one big task into many small tasks, and distributes them to many computers in a cluster, and thus parallelize the program using multiple computers to run large jobs that would otherwise take way too much time or memory to run. These are all things I had never done before. It took a while, but I gradually became more familiar with new technologies, enough to write my own code to do analyses. One analysis I enjoyed working on was one we called “real social graph”, in which we tried to figure out who in your social graph you really hang out with. Currently, we figure your social graph to be all your friends on Facebook, your friends in Foursquare, people you follow on Twitter, and your connections on Linkedin. Though you’re connected to all of them, we figure that you only hang out with a couple, those to be in your “real social graph”. We can prioritize friends in your “real social graph” by analyzing which friends check in at nearby locations at similar times, and including these as your top friends and people which may be most interesting to you. At Sonar, by doing all these analyses, I’ve learned some of the technologies we use here and have made really useful contributions to the team, even as an intern. Not to mention the fact that I’m surrounded by wonderful teammates that support each other, which makes this internship one of the most worthwhile experiences I’ve had. =]
We’re so proud of these two! And yes, we’re blushing now. Thanks to Shyam and Jack for all their hard work this summer. These guys are fierce and will be sorely missed. Group hug!