Tuesday, May 7, 2013

In the market for a non-academic job after a CS (or possibly an EE) PhD?

Anyone reading this title may immediately say: "Why on earth are you looking for a non-academic job, if you enrolled to a PhD program?" That is an entirely valid question and I have a couple of arguments as a reply, one of which starts like this: "Some of the current problems in the industry often requires computer scientists with a PhD level knowledge." Another one starts with: "In the industry, product groups are likely to face problems that can benefit from the research background of a PhD graduate." One may also ask: "Is an advanced graduate degree a must to tackle difficult problems?" My answer is simply no, it really is "not" a must, but it doesn't hurt.

If you made it past the previous paragraph, you probably expect this paragraph to also talk about the pro's and con's of a graduate degree, its relation to industry etc. I am sorry to disappoint you, but this paragraph will talk about something else. Although I believe that getting your PhD will help you in the industry, when you start applying to industrial positions, you will quickly realize (as I did) that the application as well as the evaluation process is much different than the academic processes. The difference is completely fine, yet after finishing my grad school, I needed some time to brush up on my undergraduate CS fundamentals. Also, I experienced that solving as many coding questions as possible is really really helpful. There are a ton of online sources, so I am not sure how helpful this post will be. However, for what its worth, I wanted to share some of the sources that I found particularly helpful.

It is probably a good idea to have an easy start, so the following link with easy to medium questions was a good start point for me: http://goo.gl/34lpH

Once you are through these easy to medium questions, you may want to take a look at more challenging examples that repeatedly appear as interview questions. A good friend of mine, Arden Dertat, has a really cool website that I benefited a lot. Here is the link: http://goo.gl/s7NpG

Also, if you want even more examples and challenges, here is a link to a set of 50 questions prepared by Xiu Zichuan: http://goo.gl/yrKVd These questions come with answers, the code of the answers, suggested time to solve the questions and even the difficulty level of each question!

In case you want something more organized and something that talks about the entire industry job search process, then I can recommend the following books: "Programming Interviews Exposed"
and "Cracking the Coding Interview". Here are the Amazon links: http://goo.gl/oYAGI and http://goo.gl/fF3SJ

I am not sure how helpful it is to solve each and every one of these questions, so I only solved the ones that I thought were possible candidates during the interviews. So, in case you want to get a feel of the latest questions that appeared in the interviews, www.glassdoor.com and www.careercup.com are quite good and up-to-date sources.

I hope this post can help a little bit and good luck with the job search!