PlaceKode with Shubham Bhattacharyya placed at Goibibo
Going off with the mainstream crowd can set you apart!
The IT industry is ever-evolving. You can always switch away from mainstream Coding or Machine Learning and do what your heart desires. In this edition of Placekode, we have Shubham Bhattacharyya of the IPG-2016 batch, talking about his interview experience for GoIbibo. He did make full use of his 5 years journey, trying hands-on Android Development, Game Development, AR-VR along with making wonderful memories! Go check out this PlaceKode interview if you want to kickstart your journey in any of these fields.
To start with, Congratulations on being placed in such a renowned company. A new job means a fresh start, a new goal, a new world, and a new segment of life. What was your instant reaction when you came to know that you got placed at Goibibo?
Frankly speaking, it was a feeling of satisfaction as I have achieved what I dreamed of. The most precious phase, which is motivating us since the beginning, is our career. The long and awaited journey of almost seven years comes to an end when you get a job with a new commitment to improve yourself further. So, the main thing is its finally over now, and I can relax for some time.
Could you please tell us about your job profile a bit?
Goibibo is focused on travelling and tourism. There are many teams, and they cater to various categories like hotels and flights. I am in the flight’s team, so any changes which have to be made in the flight’s section of the Goibibo’s android app are done by my team. I was an intern there now I am converted into a full-time employee.
Could you please walk us through your entire interview process, about the rounds, the types of questions asked, and how were the interviewers? Were they helping you to come up with the solution?
First, you need to understand the hiring process. Companies’ hiring process involves reviewing the applications, shortlisting the potential candidates, testing the candidates through interviews. In pool hiring, every team in a company gives a list of available positions to HR. He conducts hiring drives in schools and colleges, selects the candidates, puts them in the teams, and they are not selected based on their profiles. But in another type of hirings, there is an opening at a company. Potential candidates from a particular profile are chosen for the specific opening. If you give an Android development profile interview, you will get selected in the Android development team. My referral got selected; on 2 Dec 2019, I got a call and the interview scheduled for 4 December. There were two telephonic interviews followed by a discussion with HR. In the first interview, there were two questions based on data structures and algorithms,
The first was on the basic BFS approach:
Breadth First Search or BFS for a Graph — GeeksforGeeks
The second was on a reverse linked list:
Reverse a linked list — GeeksforGeeks
The next was a technical round and the questions asked were how the code behind the for loop works in C++ (The actual question was related to Android development, this is a parallel question in C++)
What does the code behind a “for loop” look like? — Quora
and also asked about android architecture, android framework and application of DFS.
I received another call on 6th Dec, for the next interview, the interviewer, Damanpreet sir, asked me whether I am into competitive coding or development, and to challenge me as I was into development, he gave me a question, asked to code in java instead of C++, and also asked about Dynamic programming, Greedy algorithms and HYPS(Hyper-programming system). He also asked about DBMS(Database management system), basics of CN, OS, OOPS, and some questions related to android.
Next, I got a call for the HR round. It was a generic round. There were some questions like, where do I see myself in five years, questions related to my hobbies, and playing the guitar. They also asked me if I got an offer from a bigger MNC, would I leave Goibibo, so I said no, I didn’t know where they would put me, but in Goibibo, I knew what I would do.
How did you manage to tackle the nervousness during the interview?
The interviewer’s only motivation is to select you, so they are so friendly and set the environment lively and comfortable. In my case, I have never talked to those people before. Everyone was 8–10 years older than me. Still, they made the environment very comfortable, so when he asked me to code in java instead of C++, I told him I don’t do competitive coding in java, then he helped me a bit. In the end, I wrote the code in java. Also, these interviews are not time-bound. It’s a beneficial factor. In an interview, you have to be expressive, not panic, and the more friendly and lively you get, the easier it gets. If you cannot write the actual code for a question, you can try pseudo-code or tell them your approach. They want to see your thinking. In my Microsoft interview, I wasn’t able to remember an algorithm, so I showed them the concept on a whiteboard, and I cleared that round. So if any problem arises during a question in the interview, you should keep yourself calm and relaxed and target the next question if the previous didn’t go well.
As you are experienced in multiple internships in Android and Game Development. How did your projects and internships at Zoudiy private limited help you to crack this interview? And how did you decide what to put on your resume?
The internships and the projects help you a lot in placements. I have done several internships in android development. Zoudiy private limited is a company providing service for various clients. I need to develop apps according to the clients’ requirements, so while working in a small company, you need to work on each aspect of the app. So lots of areas right from scratch will get covered while developing the app. Instead, in big companies, you will be dealing with a small fragment of the app. Internships are a great way to apply knowledge to real-world experience. It gives you an understanding of the working environment.
Regarding the resume, you need to make a separate resume for every profile. For Android development, web development, game development, the resume should not be identical. Your resume should be company-specific. You should mention the technologies used and unique things from your projects. Never mention the unfamiliar technologies in the resume because if they ask tricky questions, you will be in trouble. Mention only relevant things in the resume.
Can you tell us what your strategy was for the preparation of the interview? Like there are ample amounts of online resources available, how did you sort out best among them? Can you tell us some hand-picked resources you followed?
Honestly speaking, I didn’t prepare for the interview because I was hoping to apply for the placements in January or February, which came in November itself. Still, I had an idea about android development because I had been doing it for two or two and a half years. Keeping android aside, the best approach is to solve the interview questions on LeetCode. At that time, I was also preparing for GATE, so all subjects like OS, DBMS, and OOPS were covered. In short, the gate preparation helped me with the internship preparation. There is also a youtube channel of Ravindrababu Ravula, which is very famous among gate aspirants. Apart from the coding perspective, you should pick any one development domain and do at least 10–15 projects to know how the field works. If you want to learn any type of development, just go to the FreeCodeCamp Youtube channel. They have 1-hour crash courses for almost everything.
If you want to learn any type of development, just go to the FreeCodeCamp Youtube channel. They have 1-hour crash courses for almost everything.
And the other thing is how you can study OS, DBMS and other basic subjects. GfG has excellent articles like whole categories made for each subject. For first-year students, I would advise that Leetcode has 1000 or 1200 questions on the entire website, and if you do only five questions a day, you can like complete them in 4–5 months. If you haven’t started coding yet, you can begin with HackerEarth’s Codemonk and Hackerrank’s 30 days coding challenge.
Did you have any checklist for last-minute preparation?
For subjects, GeeksforGeeks have last-minute notes(LMNs), consisting of one page summary for each chapter. You can revise them. For coding, I had written my own notes for basic algorithms. I went through them once before the interview. For development, GeeksforGeeks have excellent articles, you can refer to them, but there are many articles, so going through them at the last minute may not be possible. Googling top questions related to development will indeed have the upper hand.
The future of game development is very promising. Games serve as a proving ground for most of the future technologies and trends. What do you think is the future of game development in India?
The gaming industry has a promising future ahead. India is the next playground for game development. There is a lot of scope and an ample amount of opportunities available. As all the gaming companies moving from China are going to be reestablished in India. Rockstar Games, UBISOFT, Epic games, Tensent, EA games, all five major gaming companies have started their offices in India. Even games are developed in our country. Its quality may not be up to mark. Still, it’s a start, and in the coming 4–5 years, the animation and gaming industry will evolve unquestionably. Yet, at the same time, the gaming industry is far more demanding and challenging than the software development industry. So hiring will be the best of best from the pool; working in the gaming industry is not everyone’s cup of tea.
Virtual reality (VR) and Augmented reality(AR) are considered essential technologies, giving scope for an extraordinary jump for adverse fields. In your view, What sets VR and AR development apart from each other?
The terms virtual reality and augmented reality get thrown around a lot these days. They are two very different concepts. In simple words, a digital world is created while developing a game. Augmented reality is a perfect combination of the digital world and the physical elements to create an artificial environment. In AR, the user always has a sense of presence in the real world. You cannot just code a game in AR because it involves Deep Learning along with several factors to keep in mind. In VR, that is, virtual reality is a computer-generated effect of an alternate world. It is used in 3D movies and video games. It helps to create an effect similar to the real world and immerse the user using sensory devices like headsets. VR needs a powerful computer system, so making VR accessible is another different headache altogether.
Coding is fun for many but not for all. As you are more into android and game development, how did you find you have more interest in them?
When you open CodeChef and see a question in competitive coding, there are two possibilities. First, you don’t get anything about the problem and second, it is easy, and you can write code for it. When you write the code and run the program, all the test cases were not cleared, so it takes a lot of time on a single question. After thinking about the right approach for a question, you have to code it and have to handle the test cases. I didn’t like it and felt it was cumbersome. On the other hand, in android and game development, even if you do a small thing like in a game, you press ‘W’, and your character starts moving forward. These things used to make me happy, and also you could show and share them with your friends while you couldn’t do the same for your code. In development, you could see the result instantaneously, and instant gratification was also there.
What are the fields that one should explore who is not interested in competitive coding?
It depends on one’s interests. Deep Learning and machine learning is significantly trending these days. Everybody is doing it. VR, AR or blockchain, three are also common nowadays. You can try game development, generic .net and C# based software development. Development for smart tv’s, watches, fitness wears, and android auto is also coming into the picture. You can explore how interactive devices, e.g. Bluetooth, actually works, how to write codes for them. You can learn about CUDA, which’s a technology from Nvidia. Aim for unconventional technologies, new but not mainstream. You might have an edge among all of your batchmates. Going off with the mainstream crowd can set you apart. If Samsung is hiring and finds one guy who can make an app for their smart tv, that bracket is so small that your hiring chances increase exponentially.
As you mentioned, Development always has been a great driving force for you. What advice would you like to give to students who are stepping into this area?
When you make any app, don’t stop working on it. When the app’s primary purpose is fulfilled, you should keep one thing in mind. It should be unique from the market. There should be an element of your own, and when you end any project on web, android or game development, it should be like a startup, a finished product. You should add like, share, feedback about us, FAQs, every subtle feature should be there. It should be a deployable product. When you have finished your project and uploaded it to GitHub, you should also make a proper Readme for that project. If someone visits your repository on GitHub, he should know how to install and run that app. You should also upload some screenshots of your app. People leave the projects midway, and they do not complete them to the fullest extent. You should also work on a single project at a time because if you are working on some projects simultaneously, your apps’ quality can suffer.
We all know that you have been a very active member of SAC and managed various cultural events in our college. In your opinion, what impact do extra-curricular experiences and managing skills have on the interview?
Active participation in clubs and extracurricular activities gives you a strong foundation of stable leadership, constructive teamwork and confident communication, which are effective life skills. If your resume comprises your soft skills, then you will have the upper hand in HR rounds. The interviewers or hiring managers will understand that you are capable of standing up and taking responsibilities, and not the one who is just sitting in a room in front of a laptop doing the coding. These activities indirectly train your subconscious mind to create backup plans on the spot for the obstacle and give you the ability to withstand stress. To be honest, if some company is hiring a student for android development, participation in clubs and extracurricular activities is not at all crucial for them. I have been a very active member of many clubs, including the music club, because of my self-interest. I used to manage the time for club events and android development.
Lastly, college life is not only about jobs and placements.
You need to enjoy it to the fullest. You need to develop good bonds with your seniors, batchmates, juniors which will last forever.
Like one and a beautiful phase of your life, ‘the college life’ is over now, and you are stepping into a new phase of your life, so, how do you compare to yourself five years ago?
It is very disheartening that college life is coming to an end. 2–3 months are still left though. Before coming to college, there was only one thing going on in my life, JEE. After coming to college, I decided not to carry my past with me. As there were no friends from my school, it was a new beginning for me. I was an introvert and a very reserved person, did not like to speak that much, not into any sports. I used to play the guitar, but only at home, so I thought I have to develop my personality. College is the only place for it, the office does not provide you with this opportunity. I thought I would catch up with everyone, explore everything. In this, I learned so much, witnessed 2 Infotsav, 2 Aurora , did something in every fest, managed clubs, and got involved in everything. I learned so much by interacting with others, taking responsibilities. The things that bother you in the first-year don’t bother you in the fifth year. You understand what is essential and what is not.
What advice do you want to give to your juniors?
Don’t leave anything for the future. Nobody knows when another pandemic comes. It is not that if you don’t do coding from now, then the world would be over. If you do coding from now, then you would have an edge. You should focus equally on enjoying college life, should take part in everything, and explore yourself. You all are at home now, so organise video calls with friends, play games, and if any of your friends live nearby, plan meet up with them, have fun as much as you can at this moment, no one knows what the future brings you.
Interviewed by Aniket Gautam and Shivrani Jadhav
Coordinated by Shambhavi Shandilya