From Intern to Software Engineer at Microsoft

Ritik Kumar
7 min readSep 8, 2022

How I got the internship

It would be an understatement to say that Microsoft is one of the dream companies for any aspiring, or even established software engineers, to work at. I was no different. I remember the first month when I had just started my college, finally getting into a computer science degree, when I used to hear about people getting placed at Microsoft with a hefty package, and I used to think what brilliant minds those people must have. I was so unsure and insecure about myself after having failed JEE twice, that I did not even think that I could ever be where they were. And so, I did not pay too much attention to that and instead started doing what everyone else around me was doing — coding.

Fast forward to 2021 — fifth semester of my college had just started and I was still recovering from the horrendous fourth semester I had that had a denting blow to my CGPA which, until then, was smoothly sailing on the north of 9. I remember how upset I was, specifically because I would not be able to sit for the recruitment process of Microsoft internship, as I had heard stories about how CGPA can be a deadly ghost even before you get to the online assessment part. Add to this that I had already missed an opportunity with the Microsoft’s Engage program, and on top of that — the one that scared me the most — I did not feel prepared at all.

But, but… life works in mysterious ways. Microsoft was the first company to visit my campus to hire interns and guess what, I got through the initial shortlisting (CGPA didn’t bind me), cleared the OA round, got to the interviews, cleared 3 rounds of interviews involving Data Structures and Algorithms and CS fundamental questions (OOPS, DBMS) and got selected for the internship! I was definitely on cloud nine! And for the first time, in a long time, I didn’t feel like a failure.

Now, I had always seen people posting on LinkedIn about how they have solved 500, 600, 700, …, 1000 questions on Leetcode. I was none of them. I had barely solved 120 on Leetcode (till date I have just solved about 150), and 200 all platforms combined. But the one thing I feel I did right was to learn the core principle and idea behind each of the data structure I learned. Maybe that’s why I was able to tackle a little out-of-the-ordinary graph-based question during my second round of interview.

Internship and Beyond

23rd May 2022 was the day I officially joined Microsoft as a software engineer intern in the Whiteboard team. Sadly, the effects of covid-hit world still lingered and the internship was being held virtually. So my interaction with my team, manager and mentor was limited to Teams call. I was told that I would be adding a new feature to the Whiteboard app which itself sounded intimidating to me. I had heard that normally, interns mostly work towards some PoC that regular employee don’t have the time to work on. But here I was, being told by my manager that this is going to be a high impact feature and many people are looking forward to it and that they hope they can deploy it by the end of the internship. 😐

Now, I cannot reveal exactly what I worked on but I was working on the frontend side of things and with tech that I had a fair idea about. But you can never know everything, and so there were quite a few things that I had to sharpen myself at before beginning. Also given that working on such a large scale application with millions of user was no easy job and I had to be on my toes almost everyday to deliver to the best of my potential. What I had learned about the Software Development Lifecycle came to life in front of my eyes. I had to create a design document, present it to the whole team, take inputs and suggestions, code the solution, test it in and out, go through some rigorous code reviews, do the follow-up changes and then finally merge the code.

One thing that eased the whole process though was that I had one of the best people supporting me throughout the process — my manager, mentor and the product manager. They were always up for solving any doubt I had regarding anything imaginable. Not just them, but everyone in my team was welcoming and supportive and helped in anytime I reached out to them. Definitely an understated perk of working at such a large organization is that you get to interact and make connections with some of the smartest minds of the industry.

And so, after 8 weeks of hard work, which, by the way, felt like a bullet train in my otherwise turtle-paced life until now, I had successfully merged my code into the master branch of the product and the project was complete! I had presented my work to the whole team during my penultimate week by the end of which, everyone seemed pleased. My work was also presented to the team in Redmond, USA while I was still gulping down the fact that millions of people are actually going to see my work. And as I write this, the feature that I worked on has been successfully deployed to all the users of Whiteboard!

I was also immensely lucky that I got to visit the office for a couple of days towards the end of my internship and meet my team in person. I even had my final presentation in the office which was surreal. Following that, I had a wonderful farewell meeting where everyone shared their kind notes and wishes for me and I bid adieu to Microsoft, for the time being at least.

A snapshot of the beautiful Microsoft office in Noida, India.

The tension that followed…

On a fine Monday morning (okay, not so fine) when I woke up, now back in my college to start the final year of my college, I received an email from my college placement cell containing the list of students who had gotten the PPO from Microsoft following their internship. And my name was not in it!

After all the work that I did, I could not believe that I did not get selected. I felt an invisible but hard punch on my gut. I thought that maybe I should leave the hope and focus on the already started placement procedures of the many companies that visits our campus. But, again I felt under prepared.

The one week period was brutal. It again felt like things had fallen out of place. But, later that week, I received an email stating that following my internship, they want to interview me for the full-time opportunity. While I was a little disheartened considering how great my internship was, and hence I was hoping for a direct offer, but this again felt like a second chance that I didn’t want to loose on. And so, the Leetcode grinding sessions started again!

This used to me many times

My first technical interview went great. While I was only asked one main DSA-related question, some other related sub-questions were asked along the way that I managed to answer properly. I again felt the confidence surge through my veins. But what followed that was another week of no communication regarding the further process or interviews and the confidence started to get diluted. After another — what felt like a generation — week, I received the invitation for the second interview. And I don’t know if it was the piling tension in my brain or the protruding self-doubt, but the second interview did not go very well — at least I thought so. I was able to solve the only DSA question asked (couldn’t complete the code) and answer some other OS related question up to some extent but when compared to the first round, I felt I had messed up.

And so, as you guessed it, another week of painful wait followed. While at this point, I did already had an offer from JP Morgan Chase and Co., after winning their Code for Good hackathon (another blog on this?), but after those 8 weeks of internship, I really wanted to return back to that place. While my heart mostly strolled on the lanes of those 8 weeks and the nice first round I had, my brain wavered towards a not-so-convincing second round and kept replaying those shaky moments. I felt I was a kid again, back in the sea-saw where I sat on one side and an elusive email on the other.

Then, one fine evening, I get a call from the placement office of my college, telling me that Microsoft is offering me PPO and that I need to choose between JP Morgan and Microsoft. The answer was obvious. And just like that, the wait of almost 11 weeks (3 years in totality) was over and I got an offer to join Microsoft as a Software Engineer.

So that’s all for my journey till now — from underestimating myself to getting somewhere where 10 year-old-me would’ve been proud of. I know it’s just the beginning. But I guess if you keep doing stuff that are in your control, then things start falling into places. ✌

You can find me on LinkedIn here.

--

--