by Stephen Mouhanna
My name is Stephen Mouhanna and I am a Senior majoring in Software Engineering. This past summer I got the awesome opportunity to intern with Microsoft as a Software Engineer in the Cloud and AI Security Group. I was born and raised in Washington State, growing up 10 miles from Microsoft’s Redmond headquarters. As a Senior in the Software Engineering program at ERAU, working as a developer for Microsoft is a dream occupation for me.
I belong to an organization known as Lime Connect which partners with companies in providing scholarships and internship opportunities for high school Seniors and college students. Microsoft is one of those partners and they reached out to me through email. They said after reviewing my resume, they thought I would be a good fit for their internship program and if I were interested, I should apply. I did and a couple weeks later they scheduled an online test to check my coding skills. If you pass this test, then you move onto a phone interview. The phone interview mainly consisted of questions regarding why I am interested in working with Microsoft and what I know about the company. At the end of the interview the recruiter asked me two tech related questions. Both questions involved me explaining a certain piece of technology. The first question was no issue, but the second was to explain what threads are and what they are used for in a computer. I was honest in my reply stating that I did not know the answer, however I made sure to mention that I would be taking an operating system’s class during the Fall semester where I would learn about threads. The recruiter seemed happy with that answer and told me that I would hear back on my results in just a couple weeks. A couple weeks eventually turned into a month and I was starting to wonder if I would ever hear back but finally I got a message in my inbox informing me that they would be interested in doing a second round of interviews with me; this time in person at their headquarters in Redmond, Washington.
I was overjoyed with the news. To prepare for the next round of interviews that was just a couple weeks away I got the book Cracking the Coding Interview. This book breaks down interviews by company and what questions are typically asked by that company. It was a great buy because several of the technical questions I was asked were directly out of the book. this was all extremely exciting because this was the first time that a company has flown me anywhere. I was contacted by the Microsoft Travel team which organized everything I would need for a round-trip flight and two-night stay in Washington State. After I confirmed my travel plans with Microsoft, I then spoke with my professors about the class time that I would be missing and makeup work.
I was nervous the morning of my interviews when I arrived at Microsoft Building 111. I spent some time with the other recruits at a pre-interview breakfast. While we ate the organizers talked about the company and what to expect throughout the day. After breakfast, each interviewee was assigned a room where the interviews would take place. We would spend about an hour with one interviewer and then the interviewers would rotate to another person. I was interviewed by four different employees that all worked for the same group. Two of the employees asked questions about me and my background and the other two asked me more technical questions that involved me writing code on a whiteboard that was in the room. When writing code on the board we could write in any programming language that we wanted. Most of the other interviewees chose to write their code in Python, I decided to go with C# as that what I was most familiar with and I knew that it was the main language used by many Microsoft developers. All in all, the interviews took about 6 hours from arrival to leaving the building with breakfast and lunch included.
I flew back to Arizona satisfied with my performance during my interviews. I was told that I would hear back in about two weeks. Luckily, I only had to wait about three days when I got a call from my recruiter congratulating me on my job offer. All I had to do to accept it was go to Microsoft’s career site and sign the document digitally. I worked with my recruiter to flesh out some details such as start date and I could relax for the rest of the school year knowing I had a job for the summer.
Not long after accepting my offer I was assigned the team I would spend the summer working with. I was contacted by the team manager who wanted to introduce me to the team briefly over a video call. Since I was going back to Washington State for Christmas break, I suggested that maybe we could do an in-person meeting instead. They thought it was a great idea and I got to have lunch with the team in one of the Microsoft cafeterias. My mentor from the team gave me some documentation for a tool that I would be using to review before I came back for the summer. They also gave me a tour of the building that I would be working in.
Unfortunately, I never got the chance to work on the Microsoft campus because the pandemic began before my start date. Microsoft employees were ordered to work from home beginning in mid-March and they still haven’t returned. Currently they have a tentative return date of January 2021. A decision was made to move the internship program to remote internships. This caused managers to scramble to reinvent how an internship was done. Interns who were not living in Canada or the United States would lose their internships for this summer and for those close to graduating they would be put into the system to be considered for hiring.
When Embry-Riddle went to online classes in March 2020, I decided to move home to Washington State to finish my classes and do my internship. In April, I was contacted by my mentor on the team and we kept in touch via email until my start date when he could officially talk to me over Microsoft Teams. All my computer hardware was shipped to me prior to my start date. The team administrator had sent me an email notifying me to be on the lookout for a box of components to be delivered within two weeks of my start date. Every time a package would come to the door I would run down and interrogate whoever had brought the package in if it was coming from Microsoft or not. The box of hardware happened to arrive only a day or so before I was due to start, resulting in many points of false hope at seeing a delivery truck pull up to the house only for it not to be the package I’d been anticipating.
The hardware I was given included a Microsoft Surface, docking station, a nice monitor, keyboard, and mouse. I worked with my mentor who helped me get oriented with the code base and threw in some useful tips about the tools I would be using. There were some minor hiccups relating to being remote but overall, it was a smooth on-boarding process.
My team had one meeting every day where we would talk about what our plan was for that day. My end goal for the summer was to create a data aggregation and insights tool so that my team could better understand how our service was being utilized. I would work with my mentor, talking with him every few days, creating a road map on how to reach this goal. My first task was to access the usage data for our service using CosmosDb. Once I could access the data, I would have to present the data on our website. From there I gradually added insights on the data, which compiled useful information about the data.
I got to learn about a lot of tools that typical software developers use. One of these tools being Key Vault which is used as a way to access what we call “secrets” in code. A secret is a string that we don’t want just anyone to have access to. A typical secret would be something like a connection string to a database or an authorization key. one last interesting tool was our internal deployment visualizer. This tool is my favorite by far. Not because it’s a particularly interesting tool but because watching my service deployment progress gave me an intense feeling of satisfaction and pride to know that I was able to contribute something meaningful to a company as important in the tech field as Microsoft.
The last week of my internship was a busy week of what is called “Intern Check-Out”. This included recording myself giving a PowerPoint presentation of my project since we were unable to meet in person. The Leadership Team viewed the intern presentations then we were assigned a Q&A session with the Leadership Team. Since we didn’t know what questions were going to be asked, we needed to be prepared and make sure our projects worked so we could demonstrate them. Check-out time also included reviews from my manager and my mentor. I was given feedback on my strengths and weaknesses. Then my manager gave me an invitation to come back next summer and intern with them again. I immediately said yes but I was warned it was up to HR if I could return to the same team even though my manager put in a request for my return to them. I have committed to returning to Microsoft, but they will not tell me where I have been assigned until later this Fall.
During my internship I applied and was accepted into the Microsoft Student Ambassador Program. If you are interested in a software engineering position at Microsoft please reach out to me. I would be more than happy to expand on my experience or help you in applying for your own Microsoft internship. You can reach out to me at StephenMo@studentambassadors.com.