September 20, 2019
Table of Contents
LinkedIn is the world's largest professional network with nearly 660+ million users in more than 200 countries and territories worldwide. LinkedIn is headquartered in Sunnyvale, CA, and was founded in 2002 with the vision to create economic opportunity for every member of the global workforce, and the mission to connect the world's professionals to make them more productive and successful. In December 2016, LinkedIn was acquired by Microsoft.
In Summer 2019, I interned as a Software Engineer at LinkedIn in Sunnyvale, CA. The internship lasted 12 weeks and there were around 300-400 interns just at the Sunnyvale location. LinkedIn pays interns very competitively with the other top tech companies (e.g. Yelp, Facebook, Google) and provided free housing to interns in Sunnyvale. LinkedIn is an incredible company with amazing culture; very friendly and helpful coworkers; one of the top cafeterias out of all tech companies; fun events; and great perks/benefits. By far my favorite internship.
During my twelve week internship, I worked backend for the Profiles & Identity Team. I had the incredible opportunity to work on the Search Appearances feature, which generates "weekly search statistics" for each user consisting of: (1) the number of times they appeared in search, (2) where their searchers work (i.e. their company, or school), (3) what the searchers do (i.e. their occupation), and (4) keywords used in the search (e.g. software engineer, student, etc.). This was a great opportunity as the Search Appearances feature is something that I am very familiar with, which made it very cool to get to work on it.
Not only did I get to work on a feature I was interested in, but I also got to work with technologies that I had just been reading about in university and wanted to get to experiment with: stream processing infrastructure. At my last internship at Yelp, I got to work with some batch processing applications, so this was excellent experience for me to round out the other main type of Big Data processing. For a quick description: batch processing is processing that happens on large chunks of data that is stored for some period of time (e.g. processing a week's worth of transactions once a week). Hadoop's MapReduce is one of the best frameworks for processing batch data. On the other hand, stream processing allows for the processing of data in real-time as they arrive (e.g. classifying fraudulent banking transactions as they occur). Stream processing allows for a large number of applications to take place that couldn't have occurred with batch processing as data is processed as it arrives in the system, as opposed to storing it for a day (or week), and then processing it later on. Popular stream processing frameworks include: Apache Flink, Apache Storm, Apache Samza, etc.
My project involved building a real-time data streaming application for the Search Appearances feature using Apache Samza, which is a stream processing framework (developed at LinkedIn); Apache Beam, a data model that can process both batch and stream processing jobs that run on any execution engine; and Apache Kafka, the popular distributed streaming platform that can act as a pub/sub system and processes a stream of records (also developed at LinkedIn). I don't want to get into all the details, but my project was incredibly interesting; and I got to work with very relevant and important technologies and concepts. The LinkedIn codebase is incredibly clean and concise, and documentation is tremendous, which made the technical side of the internship an absolute amazing experience.
As opposed to my Yelp internship (which had intern events 1-2 times per week), my LinkedIn internship featured far fewer events. This was simply due to the sheer volume of interns (i.e. ~400 at LinkedIn vs. <40 at Yelp). The big internship event of the summer was our trip to Disneyland, in which all the interns took a shuttle down to LA one Friday night; spent all of Saturday in Disneyland; and then shuttled back Sunday morning. A list of some of the events can be seen below:
From world-class cafeterias to competitve compensation to fitness centers, LinkedIn has some of the best perks/benefits out of all the tech companies in Silicon Valley. Below are some of the highlights of getting to work at LinkedIn:
LinkedIn is headquartered in Sunnyvale, CA, but there are offices all over the world (with other offices in San Francisco, New York, etc.). The Sunnyvale campus consists of three main sets of buildings, each with a fitness center, a main cafeteria, and every workplace has a nearby microkitchen. It takes about a 5-10 minute walk to get between buildings, but each building has a number of bicycles to make transit easier.
I have interned at a number of tech companies, but LinkedIn was by far my favorite internship. The LinkedIn campus is beautiful and the food was incredible. Additionally, the housing provided was amazing and was only a five minute commute (with shuttles picking us up right in front of our apartment on the way to work, and picking us up on campus to take us back to our apartment). Moreover, I got to work on a phenomenal project with an awesome team under a great mentor and manager. I highly recommend interning at LinkedIn if you want to work for an extraordinary company and work on exciting projects (and no, I wasn't paid to say that).