US is a country of dreams. I could see it shining right through everyone’s eyes. I met one person in taxi who played piano and released his own music album. The other guy Chad writes pilots for TV series and is a good photographer. There was another guy who had done some coding. He knew what python and C++ is. He wanted to work at Amazon or Microsoft. Another guy was a lead manager in an MNC and drove Uber just for fun. They don’t care much about the social status. They do what they love to do.
A really nice country where people greet you and don’t expect anything in return. Everyone you meet is so much open to talk without holding any grudge. Believe me, I had some of the best conversations in just a span of 30 minutes or so.
Redmond = Microsoft
I had heard that Microsoft has humongous office in its headquarters, Redmond. Well, it was true. I was amazed by seeing the area in which it was spread. If I say Redmond is Microsoft, it won’t be wrong. 135 buildings.
Microsoft, US culture
Unlike India where people tend to stay late in offices, Redmond is just the opposite. People come early and leave early. You would hardly find anyone staring at work monitor after 6. People are punctual and highly efficient. Well, I could see where that efficiency comes from. They don’t talk much and confine their conversation to mainly professional stuffs. The hours they put in work are really productive. The culture is so well defined that if you stay late, you would have a feeling that you are working in a zombie village. I, personally liked this culture and I easily embraced it. I had free evenings where I could catch some friends over dinner in classy sounding restaurants.
The world is small
It really is a small world we live in. It is not very unusual that while dining or taking a walk in busy streets, I stumble upon someone who happens to know me. Well, it has happened many times in India. But when you face the same in US, you start thinking that the world is really small. I met an old friend while crossing a street in Redmond, stumbled upon another known face in Seattle while dining with a college friend and had a short chit chat with a guy on shuttle, I used to see in dance classes in Hyderabad.
One of the exciting thing about Seattle is incessant rains. Rainy season is something people either love or hate. You will hardly find anyone being neutral on it.
If you’re a Windows user, you must have noticed the tall tower with a big circular head on lock screen. What if I tell you, it is much more beautiful when you look it closely? Well, it is a marvelous piece of human architecture. Standing tall at a height of 184 meters, you can see the whole Seattle view from the top. I could manage to get some pics from my DSLR even though it was freezing cold. My finger nails had turned bluish.
The head of tower
The Seattle view point
Standing on the top of Space Needle and experiencing this view was a treat to eyes.
I always wanted to dine at Skycity Space Needle restaurant. Well, who won’t? After all, dining at such a height has a unique magical feeling. You are sitting and eating exquisite food while the restaurant rotates to show you every angle of the city. Sadly, I couldn’t get a booking. It had 2 weeks waiting time.
Chihuly garden and glass
You can’t miss Chihuly garden and glass if you love art while being in Seattle. This place is mainly famous for its exceptional glass arch, mostly attracted by photographers. I met many photographers there and got a chance to flaunt my skills. Visiting Chihuly wasn’t easy due to shortage of time. The place opens at 11 in the morning and I had return flight on the same day at 5. On the top of that, it was raining like crazy. Well then it’s Seattle. Rains are not supposed to crash the fun. Thanks to Hotel Marriott for making special arrangements.
This picture has its own story. Chihuly Garden and Glass attracts a lot of tourists due to its marvelous, eye popping glass arch. I had a chance to interact with many photographers there and it was fun discussing about various aspects of photography. I wanted to capture whole 25 feet long arch in one frame and for this, I had to wait 30 minutes to capture this due to the huge crowd. Funny to say, due to my corporate ID hanging out of my pocket, few of the tourists asked me if I worked there.
1/50s at f/5.6, 18mm, ISO 1000
Situated at a distance of 30 miles from Redmond, North-Bend is a bliss to eyes. No matter if you are a nature and mountains lover or love long driving on beautiful roads or a shopping spree, North-Bend has got a charm in its own. Built near mountains which are covered with snow in winter, there are many shops where you can enjoy buying stuffs.
The cheese mountain.
I clicked this amazing shot in North Bend, US. Seattle is a beautiful city. Incessant rains, chilly wind, snowy mountain and golden sunshine. A serene heaven for photographers.
It was a sudden plan. The moment I arrived there, the sun was about to set and its dusky golden rays falling on the snow over the top of mountain was giving a perception of molten golden cheese all around.
I am quite fond of keeping a collection of perfumes. When I saw Perfumania shop at the North-Bend, I got a chance to try out all the perfumes I had been researching for years. At the end, I got one of my favorites, one what everyone in US uses, and one which was the choice of the woman who sold me all this.
Heroes of my wardrobe Recently I have got an urge to keep a collection of perfumes.
From left to right:
Caroline, Armani Gio, Invictus, Playboy, Calvin Klein
A trip to US is not complete until you get chocolates for your loved ones.
To be continued…
In the next part, I would be writing about my trip to Los Angeles and San Diego. Please stay tuned.
First written test was conducted by some third party company. It consisted of 15 objective questions from C, Sorting, Data Structures, Big O, compiler and state machine. We were given 30 minutes. Cut off was 12 out of 15 questions. 77 out of 400 students made it.
Written test 2 (Coding), 60 minutes
Three problems to be solved in 60 minutes with no use of compiler. One problem on Linked List, second on heap and third on array. I coded all problems from scratch including main method. I also wrote flexible methods that could work on any kind of inputs (instead of deleting nodes from 4 to 6, it would delete nodes between ‘M’ and ‘N’ ) and handle all corner cases. The result was announced after 20 days. 30 out of 77 made it.
F2F Interview #1, 60 minutes
We were interviewed in groups of 6. Each one of us in a group was given same problem to solve. I couldn’t code the perfect solution in an hour. All I had discussed 6 different ways to solve the problem. I was afraid that I might be rejected in first round. The interview lasted for 60 minutes.
Every evening on the roof top of my hostel in Delhi, I used to see the shining airplanes going off into the thin air and wondered when I would get a chance to fly in one of these with my own capability. While that dream was fulfilled the moment I joined Microsoft, I started wondering to fly to United States in the best of airlines to feel how is it like to be in the most powerful country in the world..You can say that my dreams always get upgraded.
Being at Microsoft has its own benefits
I owned an important piece of project in Microsoft. There was a talk going on to fasten the velocity of work we were doing. Given the complexity of the project, its architecture was written in many layers few of which was coded by team at Redmond. Due to time zone difference and the critical timing, we had to act on it quickly to enhance quality of product. They decided to send me over to interact with people, understand different layers and their communication.
A sudden plan
I hardly remember traveling somewhere in such a big rush. It was 4 O’ clock in the evening when I was checking flight tickets and changing date in the calendar on the online portal to finalize which day to travel. 6 O’ clock, my friends found a flight that was to take off the next morning to Seattle and I spent next hour mentally preparing myself to fly so unprepared. It was just hard to believe that I would be traveling to US, one of my dream destinations without any preparation. My parents were asking me every other day if I bought winter apparels. I usually prefer to plan everything in advance and this time, without have a flight ticket in hand, I didn’t want. With support from my friends at Microsoft, I finally decided to give it a chance. There are few things in world for which you need not to be prepared. After all, traveling somewhere without much thinking has its own share of fun. And this was not somewhere. This was what I dreamed of long enough.
It all started with a joke. I was worried I was not getting any ticket in good airlines next week. I was tired, exhausted not a clue on what to do. “There is a flight next day at 4 in the morning. You can catch that.”
“Holy cow! This would be too early. How on earth would I be able to catch that?”
I knew they were serious when my manager said. “Actually, I think you can go.”
“But I haven’t done any shopping”, my forehead was shining with worry lines.
“It’s alright. What are the things you need? You can borrow them from me.”
My friends helped to prepare an itinerary. I literally got only 2 hours to dine and pack my bags. I usually never take more than 30 minutes to pack, but since this was my first trip to US, I didn’t want to take any chances.
It’s Emirates, baby
The moment I stepped into the flight, I got the answer why it has been coined as the best airlines in the world. The service, the infra and the experience was just amazing. It is very unlikely that you would be left unhappy after an Emirates travel. It was a 22 hours long journey with a 3 hours layover in Dubai. Being a movie buff and their huge collection of movies, I didn’t find it difficult to spend time.
Hello from Redmond!
The flight was just on time. You might find it funny but the first thing I missed at Seattle airport was no taxi driver asking me where would I want to go. I didn’t have US Sim Card and it was freezing cold to stay for long in the open weather. There are two Marriott hotels in Redmond and I missed to mention which one I wanted to go to the local taxi. Even with a 50% chance of landing at the correct hotel didn’t work for me. Redmond is kinda a developed village. It’s hard to find anyone on the road. It was near difficult to ask someone for navigation. Luckily, the second Marriott was just a few blocks away.
Few of the pictures of the hotel:
I learned that labor is costly in US. The gorgeous lady at the business center handed me over a map which had directions to follow my room. It’s very unlike in India that you would have to carry luggage to your room on your own in a decent hotel.
My first status update from Facebook on the arrival night.
It’s been only 11:00 PM here and I am done with sleep. It’s quite chilly outside and the roads are empty. A grave silence is there in the winds. Next couple of nights, I am gonna spend as a night crawler. I wonder if the new government would encourage vigilante. All of a sudden, I feel like I have all the time in the world and I have very less to do.
If I was not able to respond to your chats due to my busy schedule, Let’s catch up now
Being a hobby photographer, I found everything very interesting and screaming at me to be clicked.
The view outside my hotel room. As you can see, cars are parked in the open air. In the morning, the car windows are covered with a thick layer of ice.
Just by the first look, I can say that discipline and patience flow in veins here. I never saw anyone rushing, everyone (well almost) greets you with a wide smile, cute children laughing on pavements and the most important thing – punctuality. People prefer to be on time. They dine by 8, sleep by 11 and woke up at 6.
Good morning Redmond
It is said that breakfast is the most important meal of the day. You don’t realize it until you skip dinner and have a heavy breakfast in Indian style dinner.Good morning Redmond!
I was under impression that I won’t be getting sleep at usual time because of all the jet lag stories I heard. To my surprise, jet lag did magic to my schedule which I couldn’t follow even after trying for 10 years and many apps claiming to help you do so. I slept at 10, wake up at 6 and rushed to office by 8. It was just an amazing feeling. It was refreshing. I was way more productive. I never knew a good schedule can do miracles in your day to day life.
This post was residing in my draft for quite long. I finally got some time out of my busy schedule to refine it.
The first question quickly pops up on why am I writing this post at all. There are already tens of hundreds of similar compilations on web that talks about this.
Well, following reasons compelled me to do so:
Being a GFG moderator, I’ve been getting many requests from readers through various social media (FB, LinkedIn, Quora, InstaGuide) and various mail clients asking for mentorship and guidance on how to prepare for top MNCs like Microsoft, Amazon, Google etc
Having gone through similar journey and witnessing many of my friends succeeding, I feel knowledge should be shared. My experience might be useful for newer generations who happen to chase the same goal as once was mine
Please note that this article is purely a reflection of my learnings, what I followed through the years and my experience. This is NOT the only way to improvise on what is needed – your coding skills, strengthening DS & Algorithms and boosting problem solving skills. I repeat, this is NOT the only way. There are things I couldn’t follow because of time constraints or didn’t follow because I was just not aware. Please comment if I missed anything which is worth mentioning here.
Language has been a topic of debate between aspirants since years. It’s always good to master one language, knowing ins and out of it rather than hopping from one language to other. Why? Because sometimes it might happen to you that when you get a problem, you start wondering what language you should choose and your focus is compromised. When you should really concentrate on problem solving, Implementation comes later. Then while you are coding, you plan to change the language in between. This won’t serve you good in interviews. If you’re able to solve a problem in language ‘X’, eventually you will also solve it in language ‘Y’. Learning a new language is just a matter of time. A language might not be as widely used after 5 years as it is being used now. Your ability to solve a problem will what matter in the long run.
I usually switch between C and C++. If time is at its crunch, I prefer to use STL (standard library functions) instead of writing my own version of Linked List. If I want to develop a project, an android app for instance, I go for a managed language because it is easier. If I want to automate something to save my time, like replying and liking my birthday wishes, a python script is the saving grace. You got the point, right? Master one language and learn others as per requirements.
Data Structures and Algorithms
Data Structures and Algorithms is very important and serves as the backbone of problem solving.
For beginners, Fundamentals of Data Structures in C by Sahni Horowitz is good. After reading it, you should be able to understand basic Data Structures, how they are implemented and fewer examples where they can be used. Don’t expect to learn advanced DS through this. After your basic concepts are clear and you are comfortable implementing them in a language of your choice, you can work on learning algorithms and solving problems.
Many sites (including GeeksforGeeks) present problems in a very adhoc manner with no order of difficulty level. This makes things difficult for beginners because they don’t know the difficulty level of the problem they are attempting. Data Structures and Algorithms made easy by Narasimha Karumanchi is a good read after you are comfortable with the basics. It has pretty good collection of problems organized by difficulty level. Just make sure to try to solve problems on your own instead of rushing for the solution. Once you have a fair understanding of DS and have got some confidence in solving problems, jump to online portals and start solving problems from topic of your choice. GeeksforGeeks is good to start with.
Sometimes, basic DS don’t serve the purpose to solve problems and you need to know advanced DS. Day to day problems like implementing a prefix based search for a phone contact list to finding the dictionary word from a jumbled sequence of characters need special kind of DS. There are many of them – TST, Trie, Suffix tree, Suffix array, Fibonacci heap, Segment tree, Gap buffer, Rope, Skip list, K Dimensional tree and so on. While it is good to know the implementation of these DS, I would suggest to also know when to use one.
So you got a gun, understand how to use it, probably have used it before. If you are going to fight a war, you won’t like to rely upon your amateur experience. You would prefer to practice hard to save your ass. Now try to think it in perspective of problem solving. You know what DS are. But you also need to know when to use one. Welcome to the world of problem solving. You are given a problem and you are asked to solve it. That problem can be anything starting from a simple puzzle to implementing a user scenario. You must have noticed degree of connection feature in LinkedIn. How will you implement it? Does your approach take care of scalability? Will your code crumble when user base increases ten folds? This is the most important skill top MNCs usually look for. How do you approach a problem? How do you divide it into modules? How do you solve each of them and then combine them?
I separated out DP because it is one monster which is difficult to master upon. No matter how many problems did you solve in the past, a new DP problem can always surprise you. The more you will practice, higher the chances will be to find out patterns. Google is peculiar about DP. You should expect at least one DP problem per interview round if you are preparing for Google. Practice DP section from:
Competitive Programming plays a very important role in boosting problem solving skills and ability to perform under time pressure. Do participate in various online portals like TopCoder, CodeChef, SPOJ. Here is a post on Getting started in sport of programming.
Design and testing
So you are good in DS and Algos. You are probably good in problem solving as well and you come up with different approaches with varying time and space complexity. The problem which you solve in Competitive Programming is well defined and has to work under an environment which nobody will probably use. What if you are asked to implement a user scenario. The problem statement is usually vague and you need to discuss a lot to resolve ambiguities. This is where design comes into picture. How will you design a redo-undo feature? What data structures will you use to store history in a web browser? How will you implement auto-complete feature in address bar? Let’s say Amazon wants to build a feature that would resume a video stored in cloud from any device. What data structures will you use? How will you scale up things? Does your design take care of concurrency issues? What about the performance? What if you and your girlfriend share the same cloud account and are trying to play the same video from different devices?
Now you have thought through the design well, have come up with different data structures to use with pros and cons in mind. While implementing, you must take care of corner cases. You must be aware about the integer overflow issue in Youtube video view count. While implementing, they never really thought that the view count can exceed what an integer variable can hold and BOOM, the view count cycled back to zero.
Before a feature goes live, it must be tested well. It is good to practice some test questions as well. How will you test a Insert image feature in MS Word? What about a cut-copy-paste feature? How will you test Temple Run game? Try to write all the possible test cases and how you are going to handle this in your code. Writing a robust code is very important. If you take care of these things at an earlier stage, you can avoid silly bugs (and boost your chances of getting selected in interviews).
Have a sound understanding of Operating System. The dinosaur book by Galvin is a good read. Know how networking works and have insights on DBMS.
First impression is the best. Resume is the first thing that HR will use to decide whether to call you for interview or not. And they have got hundreds of them. So they will usually scan it for 20 seconds to 2 minutes. It should be clean, concise and elegant. Each word mentioned should worth the space it eats. The rule of thumb is if you have less than one year of experience, the size of resume should not exceed a page (with few exceptions).
Few points to note:
Maintain a header to fit info like name, email id, address and contact number
Mention level of expertise corresponding to each language. Example: Proficient in C and good at Java
If you are mentioning a project, write your key learning, impact in the team and . If this project is online (an app), don’t forget to include the link. This will show that you built something that is being used by people . Guess what, this is what companies do, building a product, stabilizing it as per user feedback, taking in new feature requests and so on.
I get many messages asking me for a favour to refer them. When I ask them how much comfortable they are with DS and Algos, they say good enough. Then I rephrase my question to how do they feel when they solve interview experiences at GeeksforGeeks. Either they haven’t heard of GeeksforGeeks or they never read. This is not a surprise. GeeksforGeeks is still growing. But when I ask them a problem on DS by tweaking already existing famous ones, all they say is they haven’t solved this problem before. Please do NOT do that. Dreaming is good, but it will come true only when you work towards making it a reality.
If you are not able to clear the interviews, you will have wait again for 6-12 months depending on the company policy before you can apply again. Now coming to the point, you can apply for a position at Microsoft either through Careers page or through referral. Referral usually bumps chances of getting an interview call because your resume gets to the system through a person Microsoft trusts to be a good engineer. How do you ask for a referral? It’s simple. Forward your resume to someone you know working there. No one will say NO unless your resume is filled with something which doesn’t fit company requirements. Rule of thumb is we believe in solving problems and if you are good at it, we would love to see you here. Remember, everyone wants to work with a smart person. And this is usually true for any company, not just for Microsoft.
Do’s and Don’ts
Practice, practice and practice
Make a habit of writing clean and readable code (avoid variables names like i, j)
Make sure to handle all corner cases
Use pen and paper to practice code. In interviews you have NO access to a compiler
Don’t mug up the solutions. Try to solve on your own
Think of different ways of solving a problem and thoughts on why one should be preferred over the other
I have answered few questions related to interview preparation on Quora. You might find some content missing here in blog and it is intentional to avoid the duplication of efforts. Please read my technical answers here.
Resources (which I haven’t talked about):
Cracking the coding interview by Gayle Laakmann: A must read once before interviews. It covers aspects like what interviewers expect from you, how to deal with behavioral questions and few interesting problems. It will change your thoughts about design and test problems for good
GeeksforGeeks: A bible of problems (with well explained solutions). Make sure you do NOT rush for solutions. Try to solve problems on your own no matter how much time does it take. With time and honest practice, you should get better
CareerCup: A huge collection of problems. Though you can’t rely upon solutions, it provides a rich community for discussing problems. I found it good for discussing design problems
Project Euler: A heaven for mathematics lovers. You solve the problems using some formulas on paper and then write code to get the final solution. Solve at least 40 problems from this site.
There were countless moments of mood swing. I already had an offer from Microsoft. I wondered if I should try for other biggies like Facebook or Google. Bottom-line was, I had fallen into procrastination trap. I was shy of 9 months to join Microsoft. I wanted to enjoy life. I wanted to take a break. My then friends at Google and Facebook had mixed suggestions.
“Dude, you should really give FB a try. I can refer you and interview would be scheduled in 2 weeks”.
“It’s time to explore. Once college is over, you are never gonna get it. This is the time to have some fun”.
Out of those precious 9 months, I spent 5 months at home doing almost nothing. Major chunk of my time was invested in only eating and chatting. When boredom seemed to kill me, I just used to compile an article on GeeksforGeeks. It was fun.
Sometimes even a simple mail gives you goosebumps. I had a message from Google recruiter mentioning my profile looked interesting and if my interest was aligned, they could commence the interview process. With the mail was attached a video covering their expectations from a candidate in Google. I thought of giving a try to Google. But my practice was at a slower pace. Writing articles and solving problems were just to kill time and pure altruistic. Google is a big brand. I definitely wanted to try my luck there. It was just not the right time. It would be a pleasure to enjoy Microsoft etiquette for the time being.
July 13, 2013
The next phase begins
A long rest had finally come to an end. Nothing could make me happier than to see a person waiting at the airport holding a placard with my name imprinted on it. He directly drove us to Rejenta One. A month stay in a 5 star hotel, dedicated car, a driver, couple of good friends and new city. Whole world around me was screaming to explore it.
July 15, 2013
First day at office, mixed feelings, exhilarating and scaring at the same time. Everyone I met seemed to be pretty smart. I got Visio team, a part of Microsoft Office div. It was embarrassing that I was going to work on something I never heard of. Visio is an enterprise software not so famous among students. It captures a huge market for clients looking forward to create flow chart and diagram. In a nutshell, it is something that simplifies tens of millions of human life.
When I had a feeling that I have learnt enough to fasten my deliverable, a reorg happened and devalued most of the things that I worked upon. As they say, only skills acquired through the process matters in the long run, skills to understand and solve a problem. New team and new manager, it was a tabula rasa. Satya’s vision to focus on mobile and services landed me in an Android team. A familiar environment and some prior experience, starting was as smooth as butter. Nightmares begun when I was assigned a problem to apply effects on an image. The office codebase is huge, medieval and it’s an ocean if you don’t know where to start. I still remember those hard moments when I was just looking through the code to pick hints, searching keywords like pImage, IImage in the hope that at least the naming convention would lead me somewhere. It was one of the most fast paced project and I was (un)lucky to be a part of it. Learning was great and sleeps were compromised. My team owned low level Graphics rendering stuffs, everything that you see on screen.
Work hard, party harder
Good work should be rewarded and celebrated. Microsoft knows it. It’s not a small thing to book airbuses for 300 people to fly to Goa and stay in one of the costliest luxury Hotel Leela not to mention heavenly parties and unlimited food and drinks. This is how we celebrated our Android release and combined it with an out bound training.
As I am writing this, another reorg has landed me in Apple team. Good thing is I have got chance to take a closer look at apple products and its OS. Some of the nasty rendering bugs still give nightmares. It becomes worse when you get response on the top of your fix mentioning that your change would be impacting X millions of customers. I have learnt that this is part of life and as long as your learning curve is steep, things would just work fine.
Life at Microsoft in a nutshell
It’s been 3 years since I joined Microsoft. 3 projects, 5 managers, lots of learning, challenges, obsession to achieve the best and never ending work. The journey has been no less than a roller coaster.
Every year or so, a reorg happens and either the project or manager changes. Every time It’s a tabula rasa. As they say, change is the only constant in life. Good thing is you always get to work on something new with new people, diversity at its best.
In office team, we spend most of the time reading code, talking design stuffs and less time writing real code that goes in production. The impact is so huge that we can’t afford critical mistakes.
Effort is important, but knowing where to make an effort makes all the difference!
The type of work can be summarized by a very short story.
A giant ship engine failed. The ship’s owners tried one expert after another, but none of them could figure but how to fix the engine.
Then they brought in an old man who had been fixing ships since he was a young. He carried a large bag of tools with him, and when he arrived, he immediately went to work. He inspected the engine very carefully, top to bottom.
Two of the ship’s owners were there, watching this man, hoping he would know what to do. After looking things over, the old man reached into his bag and pulled out a small hammer. He gently tapped something. Instantly, the engine lurched into life. He carefully put his hammer away. The engine was fixed!
A week later, the owners received a bill from the old man for ten thousand dollars.
“What?!” the owners exclaimed. “He hardly did anything!”
So they wrote the old man a note saying, “Please send us an itemized bill.”
The man sent a bill that read:
Tapping with a hammer………………….. $ 2.00
Knowing where to tap…………………….. $ 9,998.00
There were many times I thought of a switch. The thing that always seemed to hold me was the thought that I would be doing the same kind of work that I am doing here. Besides, I am happy here, living life as I always wanted, trying out different things, exploring.
GeeksforGeeks after Microsoft
I usually get messages like, Why my contribution to GFG has slowed down. Is it because of my busy schedule?
Seriously speaking, the passion which was ballooned inside me 3 years ago has faded. Coding is not the only thing that fuels me. In my college days, I used to code for fun. Whenever I found myself struck by the boredom lightning, solving a new problem or brainstorming a better solution was the saving grace. My contribution has been greatly compromised and now if I write, my focus is more on the quality rather than quantity.
Sometimes I ask myself, what do I know except coding? Is my life all about staring at the screen and writing geeky characters? A lot of things are there in the world and you won’t know what you would like the best until you give it a try.
For the past few years, I had been wondering what my life is meant to be, what are the things out there which will render me with greatest pleasure, what is the secret ingredient of being happy.
In the last part, we read the story of a boy who wanted to live his dream no matter what the cost. We will resume from the moment Microsoft campus visit was announced.
When your friends are celebrating hard, throwing parties, while you try to avoid them and lock yourself instead, questions like this are obvious.
“Which is your favorite company?”, my friend asked.
“You’ll know soon”, I murmured.
It is difficult if you are in a non-enthusiastic environment where people around you are even scared of dreaming big and setting higher goals. In case you speak loud your aspirations, they try to pull your legs. There was no space for mistakes. Opportunities knock rare often and fortunately I knew it. I was gonna get only one chance. That’s it. If I miss it, I miss it. This could be a regret I would have to live with. Other good companies in line offered half the money Microsoft did, leave aside brand value, perks and work culture.
The time had arrived. It was the same day and time Hogwarts Express leaves from Platform 9¾, 1st September, 11:00 AM sharp. If I wanted to board the train, I had to cross the barrier first. And that barrier was written tests. The train would then test your patience, perseverance, hard work, skills in its journey. If you failed in between, you had to board down. If you passed, it would directly lead you to Microsoft. Like Harry, I too didn’t wish to miss it.
It all began
It was a hectic morning. There was a big rush in washrooms and people were running around. The first written test was pretty easy. 15 objective questions and 30 minutes of time. 77 out of 400 made it. The second written test was scheduled the very next day.
I and Abhinav were sitting next to each other, barely talking to anyone. We had to code 3 problems in 60 minutes on a text editor leaving any scope of compiler correction. You know it went well when you wear a smile after you finish. Luckily, We were able to solve all problems.
Rumors were in the air. Microsoft usually takes time to evaluate the written coding round. We were not sure when the result would be announced. Honestly I wished it to be soon. The sooner, the better.
The quiet before the storm
I was gravely quiet most of the times. May be because I was thinking about the problems, and about the interviews, and about the list of things to do if I get selected. Millions of things were itching in my head.
Solving interview experiences was kind of comforting. “If this is what Microsoft asks, we should do well”, Abhinav and I always said things like this.
Year 2012, September 16
Boarding Microsoft express
I have never been an early bird. Still I managed to wake up at the crack of dawn. We gathered in the auditorium at the first blush of the day. Result of the written was announced. They shortlisted 30 out of 77.
Four years it’s been, and yet, here I write as if it were only yesterday. I remember every small detail, every word I spoke and each discussion I had in interviews. Either my memory is not that fragile or that was quite a big day for me. I still don’t know the answer.
I hadn’t eaten anything since the morning. The spirit was keeping me up. One group interview followed by two rounds of face to face interview each lasting 60-90 minutes and fear of losing it anytime as if a sharp edged sword was hanging across my head was enough for one day. They kept on rejecting candidates as each round progressed. The number trimmed from 30 to 14 to 10 to 5.
In the third round of interview, he said I had already proved I was a great coder and he wanted to check how I perform in other areas like design and testing. I was also asked to showcase my passion for technology. We discussed about various products, their design, why they were designed that way and why I liked them. It was fun discussing the technology (Gap Buffer DS) used in Text Editors, automata and compiler. I can understand his love for these as he was working in Visual Studio team at Microsoft. He then moved on to discussing things like which role I wanted and why so. He saw same passion in me that he observed in one of his friends and he was doing really great at Microsoft. This was the longest round and lasted around 90 minutes.
That night, when I was in cafeteria to catch sandwich, I stumbled upon a guy. He asked me how would I like to be beaten. Funny part was, we had hardly talked in 3 years of college. The same day I got few congratulation mails, although 2 more rounds of interviews were scheduled on the next day. I was very close but I was still one step short of milestone.
I remember those silly thoughts that popped up our minds. When we’ll make it, we would have two refrigerators in our house. One for food and other for drinks. When we’ll make it…. The food in college hostel was horrible. If you had Veg Manchurian once, you would put all efforts to stay away from food like that your whole life.
Year 2012, September 17
Two more rounds of battle
When your name starts with 2 A’s, you are always the first one to face everything that calls for first name protocol. I suffered it my entire college life. I wasn’t spared in Microsoft interviews either. Each round of interview started with me. Abhinav was the last. Those in-between were trimmed down.
I was just on time for remaining two rounds when they surprised me to know that my one round of interview was cancelled and I had to face last round with hiring manager on Skype. Unlike an HR round, it was purely technical focusing on design, testing, Big data, Graph and Social Networks. We discussed many things few of which I had already covered in GeeksforGeeks posts. Thanks to Facebook for writing technical details of architecture they use which I was lucky to read. It lasted around 90 minutes.
Time seems to freeze when you’re waiting for it all along. Nights were restless. Days were better neither. Mood swings were at its peak. Right from the day Interviews were over, everyone I stumbled upon asked the same question, “Hey! When the result is coming?” or chirped comfy words like, “I know you’ll make it”. It was eerie and I just didn’t know how to react.
Year 2012, September 24
The BIG day
It was an Intel day. Although I wasn’t interested, I suited myself up to check what they had for me on the plate. People were getting called for interviews and I was waiting for my turn reluctantly. I was just hoping for a magic, to know the results of Microsoft interview. This could push me to do fair in Intel.
And then, I heard my name. “Aashish and Abhinav! Are you there? Please come on the stage”. I wasn’t sure what had just happened. Abhinav was sleeping in his room. He wasn’t even there. Every pair of eyes was staring at me as if I was being X-rayed.
“Congratulation! You have made it. They have just mailed us the result.”
“Microsoft has selected Aashish and Abhinav”, they boomed on microphone after a pregnant pause.
The auditorium burst in cheers and claps. Oh Buoy! That was the moment. I was feeling like a celebrity. Everyone was shaking hand and congratulating. I was on cloud nine.
All I wanted was to run away to tell my parents that they could finally be proud of me, to tell Abhinav that we had done it.
People were running after us. This is a tradition. They beat you with belts on happy occasions. Happier the moment, harder you’re beaten up. You can hide buried treasure or a winning poker hand. But you can’t hide the true happiness. It was all around. Between shaking dad’s voice soaked half in tears & half in happiness and mine out of control flowing emotions, I was feeling no pain.
I was bombarded with messages, mails and calls. For once in my life, I wanted to be alone. It was my time. I wanted to live it. I wished to freeze it. I wished to hold it. Christmas had arrived little early for me and Santa had bestowed on me. It was the best birthday gift I could imagine. It was a magic. They say, all magic comes with a price. And I think I had paid the price.
There were few awkward moments when Abhinav and I overheard things like, “Look, 32 lacs are going”, while we were wandering on college roads.
Year 2012, November
We were in news
It had been almost two months since result was announced. I was on a long vacation, sleeping at home when I got a call from placement department. They wanted a picture of me to feature on the site. Few days later, my cousin brother called me to tell that he was holding college prospectus featuring picture of me.
The diabetic sweet deal
There is nothing much to do after interviews. Scoring GPA in college was least of my interest. I wanted to learn something which could smoothen my path in company but my friends on Quora advised me not to bother. Most of my time was spent in eating, sleeping, chatting and GeeksforGeeks. I was having a word with one of my friend when he asked me if I was going to join Microsoft or GeeksforGeeks.
As usual, Sandeep and I were discussing about GeeksforGeeks, plans for its growth, revenue model etc. He asked me my thoughts about career. “Seriously, the way GeeksforGeeks is going, you might like to join full time. You can choose designation of your choice – CEO or CTO”, he proposed. This was overwhelming, a very sweet deal indeed. Sandeep’s offer was very difficult to reject. However, a lot of things were on stake. GeeksforGeeks was in very early phase. Working in it full time would render me literally poor. Microsoft was a brand even my grandfather talked about. It was really a tough choice to make. I decided to spend few years at Microsoft to learn things, to learn how stuffs work, to learn something industrial. Microsoft was changing tens of millions of lives and I wanted to be part of it.
If you ask me, whether I regret my decision today. Well, I ain’t sure. Life is made up of small moments and each moment has its own pros and cons. A choice doesn’t come with a warning sign. Sometimes, you don’t know what is going to happen. Sometimes, you don’t wanna care. Sometimes, all you wish is to live the moment. Today when I have nothing to do or when I am really pissed off at work, I think of that time. I get lost in a reverie imagining how my life would have been changed. But thinking about it won’t change a single dime of my life. Even if I join GeeksforGeeks today, it won’t be the same it was 4 years ago.
What do I feel when I look back today?
Decisions you make lead to doom or fame
I guess there is no one to blame
Sometimes you rise, sometimes you fail
But things you learn are worth a hell
There is no secret ingredient. Healthy dose of faith. Genuine commitment. Sharp focus. Hard work. Everything should be put in right proportion. I didn’t do anything different. I believed in myself and followed my passion. My life has been a roller coaster and I enjoyed the ride thoroughly. You make mistakes and you learn from them. It is part of life.
Our goal at GeeksforGeeks was to maintain quality content. Few of the readers asked for content to focus on basics. That’s how GeeksQuiz idea was born. It was Sandeep’s brainchild. I wasn’t interested much in site development. I chose to contribute to content instead.
Year 2013, January 28
The most awaited offer letter
I don’t know why most of the comms Microsoft did, happened to be in the early morning. The HR inboxed me the most anticipated offer letter. Three days after we received offer letter, they shot another mail inviting us to an event “New Hire’s Day”. It was exhilarating and hell lot of fun. I have documented my experience here: My experience of New Hires’s Day at Microsoft
Year 2013, Summer
What can be more difficult than solving a problem? Well, creating a problem. IIIT-Bhubaneswar had a tech fest in summer. They asked GeeksforGeeks to organize the coding contest. Designing problems was very challenging. I had never thought from the perspective of being on the other side of the table. There were many things to be taken care. Problem should be new. Domain of problems should be proportionally distributed in different difficulty levels. But how do you decide the difficulty level? If you’re the problem setter, you happen to know the solution. Does that mean the problem would be that trivial for others as well? Have you ever wondered how they categorize difficulty level of Sudoku? I will leave you keep thinking. It was a different experience altogether.
They had also asked for a guest lecture in the college. Since I was in the town, Sandeep asked me if I wanted to go. Sadly, I was not a good public speaker. One of my part wanted to go, but the other was pulling me back due to my fear of stage. Unfortunately, my other part won the battle and I ended up watching Batman.
Before I dive into bragging about being a Microsoftie and what is life at Microsoft all about, let me ride you through my journey in life so far, my thoughts as a child which inspired and helped me to become what I’m today, choices I made at various stages of my life, which I sometimes adore, sometimes regret. But if you ask me, “Am I happy today?” I would probably say “Yes”. Sometimes life is not all about making choices. Sometimes choices can go all wrong. But what matters is how you react to those wrong choices. Whether you keep on cursing God or whoever played a role in making that decision or you bounce back by working continuously until you make it right. Failures are important. It tells you that you are not invincible. It tells you that you are human. It’s okay to fail. Harder you fail, harder you work and sweeter the success is.
It was a hot Tuesday noon. Sun was at its peak and I was almost sleeping. A question suddenly broke my reverie.
“What do you want to become when you grow up?”
This question was asked by my class teacher Nripesh Sir. He was expecting each of us sitting in the classroom to have a goal in life. Some said doctor, some lawyer, some engineer, some even said a SOFTWARE engineer. I didn’t know what a software engineer work was. All I had heard was Bill Gates. Thanks to the local regional newspapers that keep on publishing about him. That he is the richest man and he founded Microsoft. And Microsoft develops software. So I was under impression that if I wanted to become rich, the formula was to be a software engineer. I always day dreamed about becoming a Microsoft engineer. Little did I know that once an imagination would become a reality.
An innocent small town boy who had never left home except with parents and siblings on summer holidays, was so much excited to explore the outside world although he had no clue how he would survive alone. Like many kids, he had heard about IIT being a very prestigious college. He was sure that his life would be set if he scored a good rank. But how? He had failed twice in Bansal Classes(an institute offering IIT entrance preparation) entrance test. He started having very bad feelings about his capabilities. His mother always praised how much intelligent he was since his very childhood. May be academics and competitions are two very different things. Needless to say, his parents had very high hopes from him. Somehow he got scholarship in Narayana IIT Academy. He was going to study in the capital city of the country, New Delhi.
Year 2008, May 30
Our small town boy was no more that innocent and childish. He had learned many things in life. Unfortunately, not that thing for which he had spent his parents’ hard earned money. All thanks to the world of internet he had been exposed to and 100% bonus offer in cyber cafes. He had just passed higher education, failed to score any rank in IIT-JEE and ready to face taunts of his relatives and neighbors.
Year 2008, June onward
Everything seemed to be lost in his life. He had lost an important match. But even Sachin Tendulkar sometimes doesn’t play well when it’s not his day. May be he should give another try. In the last quarter of the year, Super 30 conducted its test. It was a huge opportunity for him to bounce back. After all, his cousin brother was pursuing bachelors from IIT – KGP and he had too learned the tricks in Super 30. Months of patience and four rounds of test paid off. He had made it. People around him had started recognizing his potential.
He didn’t join Super 30. He knew life won’t be easy there. He would miss delicious cuisines. And if he was able to crack Super 30 which gives near to 100% success rate, why can’t he crack IIT entrance on his own?
Note: Super 30 is a non-profit organization providing free food and education.
Fast forward 7 years, It was time to choose a college which would shape my career and hence my life. A 4 years of time was to decide my next 40 years of life. Sadly, I didn’t have any good option. I was in waiting list in JEE and couldn’t score a rank in AIEEE which could secure me a good college. I and my friend Kanhaiya were just scrolling through the placement records of colleges in our league. I was able to score 3 digit ranks in SRM, CUSAT and KIIT. And the one news locked our tired eyes –
“MICROSOFT selects eight students from KIIT”
and the content highlighted –
“Microsoft personnel making round the country’s premier institutions for hunting the talents to join them, were ecstatic finding the fountain of talent in KIIT”. The news is below:
That was it. If Microsoft visits a college, it couldn’t be that bad. We had locked our choice. After all, this is what we wanted all along. This is what I wanted all my life.
Even 2008 recession couldn’t affect my decision. My choice was so BOLD that even though people around me were opting for non-computer science streams, I was stuck with my decision of moving ahead with CSE in the counselling. Funny to hear, I was the first one (All India Rank 435) to register for CSE stream.
They say, “It’s never easy to get what you want. And if it’s easy, your goal is not BIG enough”. For a guy who was seeing a laptop first time, it wasn’t easy to get adapted to coding and problem solving world. It was frustrating, challenging and no less than a nightmare. When his friends used to code a simple problem in 10 minutes through 3 different approaches, he struggled hard for 3 hours for the easiest approach. All he knew was if he wanted to be the best, he had to work fucking hard and manage his time smartly.
Partners in crime
It was a long train journey. There is nothing much to do when you are traveling with a friend who is crazy for Physics, Electronics and Probability. That crazy friend was Aakash, my roomie. Since third semester was about to commence, there were many known faces traveling in the same train. Aakash introduced me to a guy named Abhinav. He was the guy I had heard about from few of my friends. He was famous for applying his learnings to create small games.
We were alike in some respects, no prior coding background, big foodie and fan of TV series Crime Patrol. The only difference was that I wanted to build something, and he was already doing it. I was hugely inspired from what he was doing. From that moment onwards, we developed few projects together, studied together and prepared for companies together.
It was the time when I always had a feeling of something burning inside me. It was passion. Thanks to my DAA teacher Biswajeet Sahoo Sir and C++ teacher Narayan Sir who exposed me to the beautiful world of Algorithms and problem solving. I never looked back. I kept on practicing from various online sources. It was the time when I came across GeeksforGeeks, an online portal created by geek for geeks. I just fell in love with the way it presented the problems. The more time I invested into it, the more I learnt. No other teacher had taught me that many things than GFG did.
First milestone towards success
Harry… Harry… Someone was calling me. Oh! I had just slept. Aakash wanted to tell that a college in Bhubaneswar was organizing a coding competition. Many of our friends had already left for registration. Somewhere between awake and asleep, I agreed to give it a try. We registered ourselves with team name “e-Programmers”. There were around 200 teams participating in the contest and best 2 teams were to be declared winners. 5 hours of coding and hell lot of frustration, we had lost our hopes. Already 4 teams had left with smiley faces which meant we were done.
The next day we got call from Silicon Institute to participate in the result announcement ceremony. And then they announced… Whoa! That feeling was beyond words. Abhinav’s team came first and mine second. Yes, we were the best two performers.
Once I was looking for a summer internship. Theory of Computation teacher Vidyadhar Sir announced in the classroom that there was an opening for Natural Language Processing intern in IIIT Hyderabad. So if anyone was interested, (s)he could contact him for further details. Well I met him post class hours asking many questions related to intern position and his views about the importance of that in my career. He suggested me to hunt down this intern offer only when my interest lied in higher studies and research field. “Why do you not prepare for something that looks for guys with strong coding and problem solving skills?”, he asked. Like Microsoft and Google.
Moderator at GeeksforGeeks
Today when I look back over my life, I just can’t believe that a person can be that insane to chat 10 hours a day and that too only technical stuffs. Yes, this can happen when two crazy people with similar mindset meet. While solving problems on GeeksforGeeks, there were few articles that were so well compiled and informed that I just couldn’t help myself but to contact that guy. I shot him a message on Facebook and this is where we connected. I was very active on GeeksforGeeks. And he was kinda impressed with my thoughts and approaches of solving problems. Our discussion trails were everywhere – Facebook, Gmail, Quora, CareerCup, GeeksforGeeks, StackOverflow. I had never met anyone with so much knowledge, zeal and thirst for coding & problem solving despite the fact that he was an Electronics graduate. For him, problem solving was a time pass. My passion grew with time. Every discussion with him reminded me how little I knew and I needed to manage time smartly and keep my learning curve steep. I started practicing insanely on GeeksforGeeks, CareerCup, LeetCode, SPOJ and other online portals. Few problems took me weeks to solve. I solved problems that were pending since more than 6 months in the discussion forum. That’s when it all started. My solutions started publishing as GFG articles, one after the other.
GeeksforGeeks was growing fast. They were looking for someone who could participate actively in the discussion forum, point out improvements in guest articles and write unique content to enrich the site.
One evening, I got a mail from Sandeep, GFG founder asking if I would like to join the team. I couldn’t think of a single reason why I shouldn’t. GFG was already impacting many lives and it could help me to connect with other geeks. Although it was a non-profit initiative, I was willing to join. I was just 22 and it was the best time to learn and grow. In short, it was a time when my thoughts were not aligned with Joker’s.
But, it was so good to see my name on GFG About us page:
Placement talks were all around the hostel corridors and hallways. Even scorching hot summer couldn’t lessen the spirit. Everyone seemed crazy.
15th August, yes that’s when first company visited our campus. Aricent was kind of mass recruiter, but better than mass recruiters like TCS, Wipro. At least this is what we were told. They conducted a written test, a group discussion, a technical interview lasting 45 minutes followed by an HR interview of 25 minutes. Written test had aptitude, English comprehension, vocab, technical each with individual sectional cut off and individual time allocation. They asked almost everything (C, C++, OS, DBMS, Digital Electronics, Microprocessors, Comp. Org. & Architecture and DS) in technical interview. I think their goal was to cover breadth and depth, because when I thought I was doing well in DS, my interview was over. Final result was announced on 17th August. 151 had made it.
It felt good that I had somehow made it to Aricent. I was skeptical at first because of two reasons.
I didn’t want to work in a networking based company. Networking was never my cup of tea not because I couldn’t learn it, but because I didn’t like it
I had demonstrated good coding and DS skills. I was asked twice that why am I not targeting big MNCs like Microsoft and Google. It was very likely that I would NOT join Aricent if I get a better offer
Although Aricent was a good start, it offered very less salary. It could never fulfill my necessities. With 6 lacs of education loan on head and frequent reminders from bank manager to keep sanction letter always in pocket in case it helps me to concentrate whenever I lose focus, I needed to do better. You can say the reason being my passion in coding and problem solving. But the truth was that I had to pay 21k per month to the bank. This scared me more than anything that with so less salary in hand, how was I going to survive in inflated cities. I was simply not happy with Aricent.
One fine evening, there was a notice from placement department. Microsoft was to conduct first round written test on 1st September. It was perhaps the biggest news for the college and aspirants alike. Everyone was buzzing about it. Why shouldn’t they? After all, Microsoft was visiting the campus after 5 years. Nothing could make me happier. The time had come to showcase my hard work and my experience which I had garnered through the years. Lady luck had finally shone upon me.
I usually do not write diaries. Since this is probably the best two days of my life, I thought to pen it down. 24th September 2012: A great day for me. Hired by Microsoft, India.
I traveled to Hyderabad to attend an event organized by Microsoft, called the New Hire’s Day on 8-9th march 2013. I with my friend Abhinav boarded flight on 7th march from Bhubaneswar. We were more excited as this was our first trip by air and that too fully sponsored by MS. We were warm welcomed on the Hyderabad airport. We were taken to the Re:gen:ta One(Five star hotel). We were the first one to arrive Hyderabad(7th afternoon). So we kept on exploring the hotel room. The hotel was awesome and it had everything you can think of. The only thing it missed that there was no lock in the bathroom. 😛 Anyways, i enjoyed a lot. I have attached few pictures of the hotel.
People started landing from different parts of the country right from the 7th evening. We interacted with few of them. I met my roomie Akshit Khurana, a very cool guy. Each of us received packages in the hotel itself which included a MS T-shirt and schedule of the event to be held in the next two days. The great thing was that color of the T-shirt represented team so that we could find it easy to interact with members of same team. We were supposed to wear the T-shirts on the next day.
The main event started on 8th morning. We were taken to the MS campus at 8:30 AM. We got NHD I-cards which was representing a random team name (This had nothing to do with our actual teams). The event started with some talks(as of our surprise, it was not boring, we enjoyed it fully) from great leaders regarding careers @Microsoft and how they did it, followed by a tea break. Then, we had an ice-breaker session. This was a kind of intro program so that we could mingle with each other in our team and know the team and its product better. We had great fun together. Everyone was interactive. MS is full of smart people where you get a chance to learn from everyone. We learned about the products more closely we would be working on. We also played some games together. Few of us got goodies too. Within half an hour, the environment melted and we had interacted with most of us. The session ended on 1:00 PM.
At about 2:30 PM, academia session started. They told us how MS is organizing varieties of events like http://Code.Fun.Do in different colleges to pick up the talented people apart from campus hires. There was a discussion on how they could improve such programs and events.
One of the best things in MS is that the working life is very flexible here. You can come at any time and leave at any time. There are many exciting things in the campus which won’t make you feel bored and which make it a wonderful place to work. We(I and Abhinav) played Kinect(first time) where your physical activities are synchronized with the game. It was an amazing experience.
There was a photo session where we had a lot of pictures(by MS of course). I will attach it once they upload it.
Real fun begins.
The main fun began at about 5:00 PM. We were clustered in the hall for group photo session where the environment suddenly became noisy and some of the previous year hires started dancing. Then everyone went mad and each of us jumped onto the dance floor to rock on. We danced a lot. We also got chance to visit the MS campus. Guys I must say the campus is beautiful and amazing. One eye catcher is that you will find road running from the 7th floor of the building. Then it was time for some D.J. We all danced a lot (even me, and I’m not one who likes to dance) and had dinner. There were some small games. People got chocolates for winning it. The food was great. This ended the first day at Microsoft.
The next day was something challenging for us. We were told to group together with team name as indicated in our NHD I-cards. We faced Engineering Challenge. We were given some stuff and we had to make a mechanical structure. The major challenge was that they told us to do it in steps. Design. Implement. Test. The main objective was to make us learn how to work in a team while having fun. We had a lot of fun together. Special thanks to Richa Bansal, Aarif Jindani, Manish Kumar, Saurabh Agarwal, Ritu Lakhotia, Amritha Raghunath, Prateek Agarwal , Naresh Kumar and Harshit Pahuja. It was almost done, we just missed something. It was really fun interacting with you guys. Cheers. 🙂 🙂
The one thing which makes MS an amazing place is that nobody cares how you look and what is your background. The only thing which they care is work hard and party harder.
All good things come to an end..
They were right. After the NHD, you will keep on counting the days of your joining. Great food. Free cold drinks. Beautiful and amazing campus. Smart and innovative people. Diverse culture. Everything just blew away my mind.
And here is the pic of the day. I am the one in the middle. Red represents office team 🙂