Recently, I got a chance to talk with Mr. Ashish Kedia who is a former Google Intern at SF, he has also been a research Intern at Indian Institute of Technology-Bombay, does competitive programming and besides all he is a very kind person to talk to. So this is how it went.
Me: Hi Ashish, Welcome! It’s so good to have you here. You’re my and many mores ideal, I must say.
Ashish: Thank you, Deep.
Me: So, let’s jump in. Ashish, it seems that your career started from Research Internship at Indian Institute of technology-Bombay, after training at Globsyn Finishing School. What would you like to share about your research internship at Indian Institute of Technology-Bombay?
Ashish: I’ll share my experience. IIT Bombay internship was my first exposure to cutting edge technologies. It really helped me learn quite a bit about programming and computer science in general. It taught me self learning. At IIT Bombay, I used to work in short sprint Towards the end of the internship, the pressure escalated and I had to work for 14 hours a day. In the end, I am glad that I came out as a much better programmer.
Deep: And how did you like Mumbai city?
Ashish: I think, Mumbai is a city of dreams. We had too many night outs, hangouts, crazy parties and much more fun.
Deep: Seems you had a lot of fun along with learning a lot of new things. And after research internship at IIT-Bombay, you got an internship at Google which is like almost every computer science student’s dream. So, how did you apply for google and what according to you should be taken care about resume before applying?
Ashish: I applied for google online on their careers site. And considering the number of resume review requests I get, I am thinking of making a part-time job out of it (kidding). Jokes apart. There are some points to be taken care of before sending out resume.
- Try to make the resume in LaTex.
- You must include all your achievements and not to try hide your GPA.
- You should include only best of your projects and not all of them. Try to include links for all projects and do not hype.
- Make the resume concise and short. One page resumes are the best.
- Avoid using tables because they don’t work well with automated resume parser which are used by many companies.
- Avoid your universities logo, your image, the logo of the past company, etc. It’s totally irrelevant and unnecessarily increases the size.
- Do mention your level of expertise for each, if you have too many languages / skills / frameworks in your resume.
- I usually prefer not to use colors instead Use font weight to highlight stuff. 12pt font size is usually good. Say No to Comic Sans Please.
- Change your resume depending on the position you are applying. Try out this awesome tool – https://www.jobscan.co/
In short, you have to ensure that your resume creates the first impression. You are supposed to write a summary of your entire career in one page and convey to the recruiter in 10 seconds. Plus, it would be in your benefit if you get your resume reviewed a lot of times before actually applying with it.
Deep: Well, this is pretty awesome! I think, this makes it all about resume stuff and I don’t think, someone having impressive work experience following your tips would get unnoticed through recruiters eyes. So Ashish, now we know how your recruiter was impressed through your resume. But, what happened next? How did the Interview go?
Ashish: I had two technical interviews for internship at Google in October 2014. Those were among the toughest I have ever faced – it was even tougher than full time interviews I faced this year. Google interviews are based solely on data structures and algorithms and they tend to ask more basic questions and their questions are *always* new. It was a great learning experience in itself.
Deep: That sounds pretty tough! How did you overcome this toughness? What challenges did you came across while preparing for interviews? What would you advice us for getting through the challenges?
Ashish: The biggest challenge in a technical interview is definitely coming up with an acceptable and working solution. Good news is that it’s okay to fail, but it’s not okay to let go without trying. I have cleared interviews even without solving the given questions. I made a good attempt but the time wasn’t sufficient and there were too many parameters to consider. The interviewer did realize that it was a difficult question and thus reviewed me accordingly. It is very essential to keep calm. If you are having multiple interviews, one after another then it can cause stress, which leads to sub-optimal performance. Remember the company wants you to give your best. Be prepared and don’t be nervous.
Deep: Well, that’s a pretty strong advice Ashish. Still, sometimes even a good programmer gets a hard time cracking an interview. What according to you, are hard-to-spot pitfalls that are critical to avoid in an interview or while preparing for an interview?
Ashish: Considering tech interviews, here are some mistakes people often make.
1. Awkward silence – Just, avoid it. Ensure that you speak as much as possible. Think loudly. Ask for clarifications. Discuss your approach before coding. You should always think of an interview like you’ve already been hired and you are having a casual discussion with a colleague. If you are doing an onsite interview then along with talking, try to do a visual demonstration of your approach using diagrams and charts. Talk about the reasonable assumptions you are making. Talk about the general flow of algorithm
3. Coding style – Write good code. Use descriptive variable names. It’s okay to make a few syntax error if you do not remember the exact signature of a library function. Indent your code well. Handle corner cases. Always dry run your solution with some sample test cases of your own. It’s okay to take your time. There is no hurry but try not to get stuck with not so important details.
Deep: Thanks Ashish, this is some real advice. So, what technical challenges did you face while technical interview and what are some important concepts one should learn to ensure they won’t face technical challenges ?
Deep: And what online resources helped you the most while preparing for technical interviews?
Deep: Yes, I know about Cracking the coding interview. It has proved to be one of the best guide for technical interviews.
Ashish: Of course.
Deep: So Ashish, what do you think about open source. How did you start contributing to open source moreover how any beginner can start contributing to open source?
Ashish: You can refer to this Quora.
Deep: Well, how about competitive programming? How competitive programming can help one finding for internships/jobs ?
Ashish: Competitive programming will help you learn data structures and algorithm. It helps you build your basics. It gives you confidence to code and makes you a better problem solver. You will learn how to decompose a difficult problem into a set of easy problems which you can easily solve. So, overall competitive programming is immensely and directly helpful in cracking Google interviews. But let me add this, that I wasn’t a very good competitive programmer. I just did a little bit of it.
Deep: What about your college, how was your journey at NIT-K, what do you do to spend extra time?
Ashish: I’m pursuing B.tech in National Institute of Technology, Karnataka Surathkal, Mangalore. Again, recruiters do know about good institutions. A good brand name is helpful. My GPA is 9.47 / 10.00 after 6 semesters. GPA are important in resume screening phase. GPA isn’t a necessary thing but it does helps a lot. I spend time listening to music, watching movies and TV Show Marathons. I watch close to 2 ~ 3 hrs of TV shows daily on an average. These days I am spending a lot of time on Quora.
Deep: Yes, I read a lot of your answers on Quora which I find very inspiring. I feel, everyone following you would find your answers remarkable. (small pause) Ashish, I’ve seen a lot of resumes, profiles and all of them have something in common, being open source or competitive programming or some projects. According to you, what can one do instead of these things that might help to get them a better exposure.
Ashish: You can follow personalities and news on Quora, Reddit, Hacker News which will increase your awareness. You will know what to do and what all options available for you. You can get your own opinions throughly examined. You get a better picture of yourself and what you want to do. Don’t be always technical. You will live your life only while you’re having fun. Don’t let your career steal away life from you! (smiles)
Deep: What final advice would you give to our readers, that might help achieve their goals?
Ashish: Well, NITK was a backup for me after I failed to get CS at any of the IITs. I never had a very great social life in my institutions apart from a few other coders like me. People hate me for a variety of reasons. In a society that profits from your self doubt, liking yourself is a rebellious act. People will try to pull you down. The professors in my institute (my department) are not good as I expected. There is so much of politics and bureaucracy. It’s hard to do something good and learn. But giving excuses isn’t enough. One should overcome them. Challenge yourself. You are given the most complicated problems because god knows you can solve them. If you are truly passionate about computer science, you will automatically work hard without knowing. Best wishes!
Deep: Ashish, thank you so much for taking time and answering all the questions. I wish you achieve all the success you’re aiming for!
Buy Cracking the Coding Interview, one of the best books for Interview preparation.