My final internship reflection

I have been a software engineering intern in the Content Search and Insights team in the One Drive and SharePoint organization at Microsoft. My internship project was adding the first Viva Topic card to Microsoft Teams Android and iOS clients. This was both exciting and challenging. It was exciting to work on the first version of a feature that will be added to Microsoft Teams but also challenging because no other engineer on my team had worked with mobile application development before. Although this was my third internship at Microsoft, it was going to be the first time I worked individually on an entire project. In the past, I worked in groups of three to five interns with Product Management and Software engineering mentors. This internship was different, I had one Engineering mentor who had worked on the web version of the feature I was adding in Teams mobile, a product manager to occasionally consult about parts of my project, and a designer to share some design decisions I made as I built the feature. Although I had support from these people, I led the development of my feature. I spent the first three weeks of my internship setting up my development environments and writing an engineering design document for my feature.

An engineering design document elaborates the engineering approach and testing of the different tasks in the project. My initial understanding of a design document was a detailed explanation of the engineering approach I planned to follow for my project. So, it was very hard to come up with a design document during the first weeks of my internship because I did not understand the codebase enough to suggest a detailed approach. One important thing that helped me prepare a good design document was the different meetings I organized with engineers that have worked on similar projects like mine or work in Microsoft Teams. These meetings helped me answer the biggest question for my design document: Whether to build react-native or purely native components for my feature. Also, these interviews helped me find contacts that I can reach out to during the implementation phase of my project. Working on other parts of the project beyond writing code taught me that being a software engineer is much more than writing code. Software engineering allowed me to utilize my writing skills from school, use my problem-solving skills during the debugging sessions, and improve my communication skills from being a lead Teaching Assistant at Berea College.

After the engineering design document was approved, I moved on to the development phase of my project. I broke down the major project goal into smaller milestones that I implemented. I found the weekly team standup meetings a helpful way to set deadlines for these milestones and also a way to receive feedback from my team. Although this was the first time my team had anyone add the Viva Topic card to a mobile client, I found their feedback on some general engineering challenges very helpful. They also suggested possible contacts I could reach out to for more mobile-specific challenges. I had daily updates with my mentor and weekly one-on-one meetings with my manager.

My communication with my internship mentor was more technical and varied based on whether she is working from the office or work. When she was in the office, we had a brief in-person meeting where I update her on my accomplishments, current tasks, and any questions I had. Sometimes these meetings were debugging sessions where we looked at an error I had looked into and failed to resolve. When my mentor worked remotely, I sent a Microsoft Teams message highlighting what I did the previous day, the day’s tasks, and any blockers I had. We had a chat conversation or a call to discuss the details of my mini report. On the other hand, my weekly meetings with my manager were mostly in-person and more casual. We usually discussed career paths, and general project milestones for the week, and I used these to learn about the team. Unlike my past remote internships, I found it easier to connect with other engineers on my team during this internship. During my last two internships, I only connected with my mentor, manager, and interns on my team because there were few remote social events. It was easier this summer because my team had weekly social events and lunches that made it easier to connect with other people on my team beyond my mentor and manager. This allowed me to connect with software engineers at different career levels, with diverse experiences and working on different projects. After learning about the different projects that my team worked on, I found it easy to reach for help when I had questions in areas my teammates worked on.

I also joined an Intern Networking Program where interns are paired with a full-time employee at Microsoft every two weeks. This program was a great way for me to meet employees outside my team and organization. The most interesting part of the program was that I got to connect with employees outside software engineering. One of my connections was in the Marketing department and it was interesting to learn about their career trajectory and life experiences. Although this connection was not in my direct field of interest, I learned a lot about Microsoft culture and offer negotiations during my conversation with them.

My in-person internship experience allowed me physically experience Microsoft's value for Diversity and Inclusion. From being included in all my team’s events to having my ideas respected even if I was an intern, I gained a full understanding of software engineering roles at Microsoft. In addition to achieving my project goals, I got to network with different full-time and intern employees. Above all this, the challenges from my project allowed me to practice Microsoft’s growth mindset principle that I hope to carry with me to school for the next year and to my future career. Working on a new feature that I hope to use soon and that will impact the lives of many Microsoft Teams users made me appreciate the work I did during my internship and has boosted my confidence in my passion to become a software engineer.

Comments

Popular posts from this blog

How I would describe my internship experience in a behavioral interview