Final Explore internship reflection

This summer I was an Explore intern with Microsoft Excel. The Explore internship was a 12-week internship where a pod of three interns, called a feature crew, worked through the product management and software development phases of developing a new Excel feature. The intern feature crew is supported by one Engineering mentor, two Project Management mentors, and one Engineering manager who was the project supervisor. My internship project was to offer a solution for customers to open Excel workbooks from Excel Desktop in Excel Online.
During the first four weeks of the internship, my project feature crew collaborated through the Product management phase alongside setting up our development environment and getting familiar with the Excel product and the organization’s coding style. We started with user interviews where we interviewed general Excel customers and Product Managers who worked on Excel features that are exclusive to the Online version. From our interviews with eight Product Managers, we learned that most Excel products that involved collaboration and Artificial Intelligence are always first shipped to the web version, iterated upon before they are shipped to other Excel versions like Desktop, Android, and iOS. Second, we interviewed six general Excel customers to learn whether the problem our project aimed to solve was an actual pain point they experienced. We also aimed at learning the different approaches customers use to achieve the project goals.
From the feedback collected in the interviews, we developed two user scenarios of personas who would use our project feature and the value proposition of when our feature is useful. Additionally, we used Figma to design a prototype of our feature’s customer experience. Although I had never done any User interface/ User Experience design, Figma is a powerful tool to learn, and it helped us to communicate our feature’s workflow before writing any code. With the user scenarios, prototype designs, and project goals and non-goals, we compiled a product specification for our feature and invited ten Product managers to review our specification. Our feature specification was approved and accepted to move to the development cycle. Though I had done some Product management for a team project idea in my first internship, I enjoyed interacting with customers and learning the steps of getting a specification approved for an actual product that will be used by billions of people. Additionally, I learned that even if I found some parts of Product management exciting, I would not enjoy a Product Manager career. Before starting the development phase, my team split our first-priority goals into smaller tasks that we worked on in parallel. I found this stage of the development cycle very helpful because we determined three top-priority goals that seemed less overwhelming to focus on and set timelines for achieving our goals.
In the sixth week of the internship, I started on my first development task which was to obtain an Excel workbook’s SharePoint link and opening the link in a web browser. I felt very overwhelmed navigating Excel’s large codebase that contained 35-year-old code with files containing thousands of lines of code, that is a mixture of C, C++, and C#. That was the largest codebase I had ever worked with! To ease the overwhelm, I constantly asked questions after spending thirty minutes digging through the codebase looking for something. After one week of working on this task, I grasped how to navigate the code base and how to debug different parts of Excel which made the actual implementation of my task easier. I used certain methods that were already implemented in other parts of Excel to get the workbook’s Url which I passed to an API call to open in a web browser.
At the end of week 8, I presented a minimal viable product of my task to my manager and mentors. Then, I was tasked to enable the opened web session to maintain the data context of the workbook. Maintaining data context refers to Excl Online opening the exact cell location the user was working in before using our feature. To achieve this, I added a new navigation type that supported deep linking to the specific sheet and cell when a user opens their workbook in Excel Online. This was the most challenging part of my internship because it required understanding the front and back-end of the Excel Online server which required a different debugging tool from Excel Desktop’s debugger. I found constantly asking questions to different area experts very helpful because I understood how the front-end of the server communicated with the back-end and resources that were relevant to my task. By the ninth week of my internship, I had the opening in web browser task completed and I published my first code review. We used source depot for version control. Source depot is a centralized version control system with a central repository and client mappings to that repository. This was my first using another version control system. I found working on the same branch and merging code conflicts in Source depot more challenging than in Git. I spent the last three weeks of my internship, presenting our project to different organizations within Microsoft Excel and resolving code review comments in preparation for checking in my changes into our team’s branch.
Outside my internship project, I organized coffee chats with software engineers in Microsoft to learn about the company’s work culture, different projects they were working on, and skills they find valuable in their work. I also attended different intern events like Intern Day, Strike Hack Day, and intern game nights. Intern Day was a celebration of the diversity in the intern cohort and Strike Hack Day where I worked with full-time employees to exploit a sample vulnerable system. I enjoyed Hack Day because I got to apply the computer security skills I had learned during my Computer Security course last Spring semester. Additionally, I joined Employee Resource groups like Blacks At Microsoft, Women in Office, and Ugandans at Microsoft. Through these Resource Groups, I networked with interns and full-time employees outside Excel and learned about the projects they worked on.
Although my internship was fully remote, I gained a full insight into Microsoft’s work culture and experience on the development life cycle of a product feature. The most important non-technical skill I gained from my internship was to ask the right questions to get unblocked. One thing I am most proud of from my internship was adding the ability to maintain data context to Excel workbooks opened. I plan to apply these technical and soft skills in the different courses I take at Berea.

Comments

Popular posts from this blog

Software test engineering career

Learning source Depot

Lesson from overcoming a challenge