Recently, Manish Mittal from NSIT completed his summer internship at Amazon, Gurgaon as SDE intern and got a pre-placement offer. We congratulate Manish Mittal for working hard during the intern and getting the PPO. Here are his experiences during the internship.
Position : Software Dev Intern, 2 months
Location : Gurgaon
Stipend : 40,000/- per month
Other Benefits : Sudexo Food Coupons, Travel
Special 2 Day Bootcamp in Hyderabad
Crucial Evaulation Skills Amazon Looks for
Leadership Skills Amazon Looks for
Deep Dive - You have to think deeply about problems and your logics.
Enthusiasm - Enthusiastic about your work, can think of new things
Ownership - You have take ownership of code, including testing and debugging.
Passion - Passionate about your work.
Manish’s Internship Experience at Amazon
This experience of working as an SDE intern at amazon was one of the best experiences of my life. All thanks to Coding Blocks Launchpad program and Prateek Bhaiya, under whose guidance I could learn so much in such short time and could get an internship offer from amazon. Truly speaking, those 2 months of last year, were the time when I actually started up with competitive coding and studied Data structures and Algorithms properly.
Coming to my experience of the internship, I was part of the Seller Experience team in Gurugram. My first week of the internship was probably the best time because Amazon treats its interns with most of the facilities(and work of course :p ) as that of an SDE. We interns were given laptops, food coupons, our email-ids, our own desk and desktops, etc. Initially I was told by my mentor to just grab up everything I could. They gave me some links to videos which showed how softwares are put into production at amazon. The second day itself my manager called me and told me to attend the SDE bootcamp. I thought it would be organised in some other room on a scheduled basis. To my surprise, the bootcamp was held in Hyderabad for 2 days. So in the first week of the internship, I went to Hyderabad to attend the bootcamp and it was a good experience.
In the second week, all of us interns attended a new hire orientation program where we were told how amazon is a customer-centric company which works on 14 principles. These included Deep-Diving in concepts, ownership of your work, etc. From the second week onwards I waited for a main project. I was initially given a debugging task in an existing tool. The debugging required me to read Java and JSP code of a tool. My manager told me to study Factory pattern design so that whenever I begin writing code, it may be in a good style (easy to read, debug, good exception handling, modular and declarative). They also told me to read about Spring framework in Java and Angular JS for interactive frontend.
The debugging task was done by me in around 3 days, and it took another 4-5 days just to read code, trying to access database(permissions problem), learning to use git, understanding and actually pushing the code changes into the cloud, checking out logs(and which particular log file to read). These basic tasks of setting up the system and becoming used to it took more than half of the internship’s duration. These tasks consumed a lot of time and were latent i.e. they were not the actual code which someone would see but all the preparations behind to set up the environment. So, it would be great if you have some idea of technologies used in development. For amazon I think its better to have some prior knowledge of Java, JSP, JS, and Factory design pattern along with knowing fundamentals like git.
Around the mid of internship, I was given my project which was to execute some rules(basically lines of code) on a user given input, and to give a comparative study b/w the actual output and the user-given expected output.
I had a great mentor during my internship. They gave a good amount of their time in teaching me how to write industry code. They also gave me some packages(in Java and JSP) to read and understand their code. They taught me that code reading is a good habit to learn how to write code. All the members in the team where I interned were very knowledgable and helpful. Some of them had their own areas of expertise and if you try to develop a habit to listen and discuss your problems/solutions with them, then you can get solutions which are far better than your expectation. The work environment was great over there, and definitely you are treated like an SDE and work on good projects which enhance your knowledge.
The project which I was given contained multiple side cases which came across as the project proceeded. My mentor told me that as an intern we were expected to find solutions to problems(maybe you could not find the solution, but the approach that you take towards the solution matters the most) , give time and come up with data-structures/algorithms which could work in real life cases, learn as much as we could, code in a way which is up to industry standards(modularity, readability, easy debugging, encapsulation, exception handling), and definitly have a flexible behaviour so that we could work efficiently under pressure.
The final two weeks seemed very long because of the pressure of completing the project on time and getting it reviewed by the team. The work pressure was high at times but if you focus on your work and regularly interact with your mentor and manager about your progress, they will definitly see that you are trying from your side. Having a good mentor helps a lot in your internship and by God’s grace, I had a great mentor. At the end of internship, I had to fill a self-review doc where I had to write down all the key points about the project works, and also how as an intern, I have shown some qualities which they look for in an SDE (Dive deep, Ownership, Problem solving, Data structures, Algorithms, Coding, etc.). This document was further filled up my by mentor and manager and it became the basis on which the Bar-Raiser(person who converts an intern to a full-time SDE) gave me a PPI(Pre-Placement Interview).
Deciding about my PPI/PPO
I was given a PPI because I was expected to write more modular, encapsulated and robust code which could handle all possible exceptions. So, my interview was focused on these particular aspects rather than Data-Structures/Algorithms and finally I was given a Pre-Placement Offer from Amazon 2 days after the interview.