Getting To Know Karan Parikh
April 22, 2015
Talent is LinkedIn’s number one operating priority and we have no shortage of talented individuals in technical roles across the company. These are the folks that create, build and maintain our platform, tools and features - as well as write the posts for this blog. We’re going to start giving some of the people and personalities that make LinkedIn great a chance to introduce themselves.
Karan Parikh is a Senior Software Engineer currently working on the distributed graph database team. He also sets up repositories for LinkedIn’s open source projects on GitHub and does technical reviews for our engineering blog.
Name: Karan Parikh
Position: Senior Software Engineer
Background: Graduated with a B.S. in Computer Science from the University of Illinois at Urbana-Champaign in May 2013. I've interned at Riverbed Technology (Summer 2011) and LinkedIn (Summer 2012) in the past.
What is something not found on your LinkedIn profile?
I LOVE music! My musical tastes span a bunch of different genres, including indie rock, indie folk, and progressive metal. Since moving out to the Bay Area I've tried to go to as many concerts as possible.
What are your favorite things to do when you’re not at the office?
I enjoy reading books and research papers. I used to read quite a bit when I was in high school but for some strange reason more or less stopped once I went to college. I'm trying to get back to my old reading habits now.
What’s your favorite thing about working at LinkedIn?
The caliber and intelligence of all the people I work with. My co-workers are some of the smartest people I know. I feel like I learn something new from them almost everyday. I attribute my growth and development as a software engineer to my stellar co-workers. I also like that even though we have a pretty big engineering team we still move quickly when it comes to development and release of software. The perks – food, a gym, Safari Books Online, to name a few – are excellent as well. :-)
What do you do best at work?
I think I’m good at quickly prototyping ideas to see if a proposed solution to a problem would work or not. While these prototypes might not solve the entire problem, they provide a good estimation on whether we should iterate further on the solution it or abandon it entirely. This is very useful when the best solution is not immediately obvious. Writing code really helps in validating (or in some cases invalidating) solutions you come up with.
What do you love most about software engineering?
The feeling you get when text you've written is transformed into a product that people can interact with, use, and love. Bridging the gap between an idea in your head and a product/prototype via code is a lot of fun and intellectually stimulating.
What tools do you use every day at LinkedIn?
I use IntelliJ IDEA as my IDE when I'm writing code in Java or Scala. For everything else I use vim.
What is the most challenging part of your job?
I think that writing bug free code for complex systems with many components and interactions with other systems (that might be owned by different teams) is quite challenging. Apart from bugs in logic you also have to keep performance and scalability in mind. Sure, everything works fine right now but how will your system deal with millions of QPS and users? How does your system react if a downstream dependency is down? How do you prevent memory leaks in your Java code? Answering questions like these is difficult. But, it is also what makes my job fun! We write extensive unit, functional, integration, and performance tests for our systems to ensure that they always behave as expected. All our code is also peer reviewed before getting checked in.