Summer 2012 – Part I: The Internship

This Summer I was a Software Engineering intern at LinkedIn in Mountain View, CA. I worked on the Presentation Infrastructure team under CORE. You can find out more about what I worked on here.

What was really unique about my internship (apart from the amazing people I worked with, the excellent food and the ridiculous perks) is that I got to spend nearly equal amounts of time working on application and infrastructure development. Application development is something that I had “done” before, in that all hackathons I’d taken part in I’d essentially built applications. But I’d never gotten a chance to work on applications that function at “LinkedIn-scale” before and getting an opportunity to do so was a great learning experience. What I’d never done though was infrastructure development and I really enjoyed working on infrastructure components this Summer. The whole concept of “building applications used to build applications” really appealed to me.

I also got to code a little bit in Scala this Summer. I’d read about Scala and had gone through a few “Hello World”-ish tutorials before but had never actually built anything in it. I have to say, from whatever little work I did in it and from the code I saw others had written, that I really like Scala. The OO + functional form of the language appeals to me. The language has a lot of beautiful concepts (like pattern matching and objects) and, from what I’ve heard, it performs well too. Another concept that I really like are Actors (though I never got to write any code that used Actors this Summer). Side note: one of the reasons that I wanted to learn Scala was to learn a language that uses the Actor system, which I first heard of while looking into Erlang. This Summer got me quite excited about Scala and I will definitely try to learn the language properly, i.e. delve more into advanced Scala topics like the Parallel Collections, writing DSLs using Scala, Actors, Views etc. My experience with Java, Python and OCaml helped me get really good at Scala over the Summer and I want to retain this skill. I also want to build a complete application in Scala; I have this idea to build something similar to Scrapy using Scala + Akka, though I don’t see when I will find the free time to do so.

Overall, my internship was excellent. It was all that I wanted and more. Thanks for an awesome Summmer LinkedIn! 🙂