Posts

Showing posts from July, 2021

Courses that prepared me to communicate within the organizational context

I have seen the impact of a liberal Arts degree during my internship. General studies courses and different Computer Science courses that required writing a research or a project paper helped me improve my writing and public speaking skills that have been very helpful in my internship. During the first four weeks of my internship, I worked through the project's product management phase, where we conducted customer interviews and wrote a product specification. Although it was my first time conducting customer interviews, especially for a Technology product, I found it easy to build rapport, explain different technical concepts, and communicate effectively during the customer interviews. After the interviews, my team wrote a product specification detailing the different user scenarios and proposed designs for our feature. While writing our product specification, I utilized skills from different GSTR and research-intensive courses at Berea. It was not surprising that our managers and...

A new career option that you learned about through Microsoft

During the first four weeks of my internship, I worked through the product life cycle of the project assigned for the summer. We had two Project Management mentors walk us through different steps like researching customer pain points, conducting customer interviews, and writing a product specification during this phase. Before my internship, I knew very little about Product or Project, or Program managers. I remember hearing about this career option from an Alumnus who graduated in 2019 with Computer Science and Business double major. Unsure of what it meant, I guessed it connected business and technology. When I recently met with one Principal Product manager in Microsoft Outlook, she explained to me how technical and non-technical project managers are. The former usually transition into product management with experience from software engineering, while the latter is more business-oriented. She further explained how insignificant the difference between Project, Program, and Product m...

Learning source Depot

 I remember asking my manager about the technology used in Microsft Excel projects and what skills would support me during my internship experience. I was glad to know that the primary programming language we would use was C++; however, I was surprised that we would use a new version system called source depot, which is different from Git. Source Depot was a completely different source control that I needed to read about before my internship. My primary goals were to learn how to commit, push, pull, and merge changes and the similarities and differences between Git and Source Depot that I can leverage when researching Source depot.  Unlike Git, a distributed system with local and remote repositories, source depot is a centralized version control system with a central repository and client mappings to that repository. Another significant difference is how Git has terminal and graphical user interfaces(GUI) options, but Source depot is accessed through the Command-line option. W...

Communication within my team

I am working with three interns, three mentors, and one manager to develop a Microsoft Excel feature. Our primary tool of communication is Microsoft teams in the different channels created for the feature. Beyond Microsoft Teams, we also use Outlook emails for official emails to people outside the Excel team. Since my team's feature integrates Excel Desktop and Excel Online, we used Outlook emails to communicate with the Product managers who work on Excel exclusive features during the customer interviewing phase. Although I had used Microsoft Teams to communicate during school projects, I had never used Teams this much. I have learned different features in Teams, like using the calendar embedded in Teams to set up calendar invites after knowing the availability of the attendees. There is also an easy way of knowing the organizational hierarchy of the company through Microsoft Teams. I have used this Organization tool to learn about different Microsoft organizations and schedule cof...

How I plan to apply my learning from my Explore internship

During my internship, I have worked on Project management and software development parts by rotating between the two roles. During the project management rotations, I learned how to empathize with product users and the importance of user empathy to developing customer-centered products. I plan to apply this approach to the different Computer Science and non-Computer Science class projects in school. Beyond writing code or the project's technical parts, I will always consider the broader impact of my class projects and the different challenges the projects solve. Furthermore, I learned a lot about verbal and non-verbal communication from the various customer interviews we conducted. For example, when we conducted beta testing interviews with customers, it was necessary to interpret their reactions as they used the feature's minimum viable product. I plan to apply these speaking, listening, and analytical skills in my labor position as a Teaching Assistant and my interactions in ...

Skills and technologies I had to learn for my internship

My Explore internship consists of two parts: Project Management and Software Engineering. I spent the first four weeks of my internship working with my team to develop a product specification for our project feature. This part of the internship required written and verbal communication skills to conduct customer interviews, develop possible user scenarios, and prototype the feature designs. The Software development section of the internship required understanding the Hungarian coding style, industry-level C++, and how to use Source Depot for version control. Although I learned C++ in my Data Structures and Algorithms course, I took an accelerated introduction to C++ to refresh my understanding of the language and know the industry style of writing C++ code. My knowledge of C++ has helped me quickly understand the challenging and scaffolded parts of the codebase. At the start of my internship, it was hard to comprehend C++ code because of the different Hungarian prefixes used until I us...

My internship goals that I have so achieved

At the start of my internship, I listed two significant goals: To write a thorough product specification for the feature my team was adding to Microsoft Excel and explore the Excel codebase and write code to add the feature. After eight weeks in the internship, I am eighty percent towards achieving these goals. In the fourth week of my internship, we wrote a product specification for the project feature. Additionally, my team organized a review session with six full-time product managers who commended my team for the thorough work in putting the specification together. An essential aspect of writing the specification was conducting over fifteen customer sessions to learn the exact pain points Excel customers face that our feature will solve. Then, I worked on my first software engineering task that required me to understand how certain parts of the Excel codebase work and write code that formed a crucial part of our minimum viable product. I successfully got that code working, and I aw...

My steps to understanding task requirements

I got a new project task this week after completing my first project task. The new task adds a feature to our current project that my internship manager considers a core part of the project. I have been working on the task for one week, and it has taken me so many work hours researching how the different parts of the methods work together and how I can use them for the task. When I was first assigned this task, I asked my manager for possible Engineers on my team who worked on a similar task. I aimed to know the potential Engineers to contact if I had any questions. Fortunately, my manager mentioned himself as the main point of contact since he had worked on a similar project. After spending a day browsing around the Excel codebase, I requested a meeting with my manager to explain the task expectations and recommendations of places I should look over. This meeting was helpful because I gained clarity on the task expectations and saved so much time by starting my research with the diff...

An incident that caused me to question a previously held assumption

I have always thought that a good software engineer is determined by how well I can think of brand-new solutions and write new code. During my Software design and implementation course, I realized that developing software required more than just writing new code; but it encompassed working in a team, writing clean code, proper encapsulation, and above all, proper presentation of the software product developed. Little did I know that these were not all that made a great software engineer, especially in a large organization like Microsoft. During the last three weeks, I did not write any new code. I spent most of my time at work reading portions of the Microsoft Excel codebase that related to a task assigned to me, debugging that code to understand how it works fully, then copying and pasting that code before customizing it to achieve the new task. I have never thought this is anything close to what a software engineer does. “Is that plagiarism? Can we even call this our code?” I asked o...

Something I wish I did differently to improve my performance

On Tuesday, I was assigned a new task after completing my previous assignment. Since I had spent two weeks working on my last task, I had understood what the project requirements were and different people within my team to ask questions about that task. However, I did not know where to start with a new task because the project requirements were ambiguous, and I had to look for other people who had worked on previous code related to my task. Without acknowledging my confusion around this task, I spent the whole day figuring out where to start. But it was very unrealistic to expect me to immediately get started on my new task without prior investigation or conversation with engineers who worked on a similar product. It was no surprise that I did not get any value added to the project that day until I reached out to my manager and acknowledged how I did not understand the task required of me and requested recommendations of software engineers on the team to talk about the code I will be ...

My midpoint evaluation

On Wednesday, I had a mid-point evaluation session with my manager to discuss my progress towards my set goals for my Explore internship. Before the meeting, I submitted a written evaluation highlighting my achievements, looking back at the six weeks I have spent at my internship, the business impact of my accomplishments, and my plan for the next half of the internship experience. Since my intern team spent the first four weeks of the internship working through product management, I mentioned my contribution toward successful product specification like conducting over ten user interviews, developing user scenarios, and prototype designs for our feature. My manager appreciated how thorough our product specification was and was pleased with how we utilized those four weeks to empathize with our target audience. Additionally, I mentioned my current role in the software engineering phase of our project, where I have taken on several fundamental tasks for the project. These tasks required ...

● Before starting your internship, what questions did you have? How have you addressed those questions? What questions do you still have? How do you plan to address these?

Before starting my internship, I was curious to know the Microsoft work culture. To fully answer my questions, I planned to have coffee chats with Microsoft employees, technical and non-technical. Additionally, I planned to join Microsoft Employee Resource groups and attend networking events to learn about and experience the company’s work culture. From my involvement in these different events, I have learned that Microsoft has a strong culture of supporting its employees and encouraging employees to support each other. Throughout my internship, I have had to cold message or email many full-time employees requesting guidance on the Getting started Project that interns do to understand how the Excel codebase works and my internship project. The full-time employees are very responsive and willing to help until the problem is resolved.  At the start of my internship, I remember sending a cold Microsoft Teams message to an employee who wrote an assignment in the Getting started Projec...

My work style during my Explore internship

During the last two weeks, I have been working on the software engineering part of the project where I read through C++ code over thirty-five years old. It has been very exciting to understand how different parts of the code work together to build a product as large as Microsoft Excel. From my internship, I discovered my work style as independent and supportive. During the transition from project management to engineering, my team decided on the significant tasks fundamental for our project's feature. Then, we decided on the different tasks that we can parallel program, and each team member a task to assign themselves. During the last week, I spent most of my time working independently on the task I chose, spending little time attending intern events, debugging sessions, and other meetings. I have always known myself as a great team player, but from working independently on my task, I discovered that I also thrive well when working independently. Independent work allowed me to enti...

My interactions with my internship manager, mentors, and my pod mates

During my explore internship, I worked in a pod of three Explore interns with two Project management mentors, a software mentor, and an engineering manager. As three interns, we have daily team meetings where we have stand-up meetings to update each other on our progress with the project tasks and discuss our goals. Additionally, we have daily meetings with either our software engineering or project management mentors based on the project needs. Then, I have weekly one-on-one sessions with my engineering manager to discuss my weekly progress and strategies for the next week. My interactions with my teammates, mentors, and manager are both formal and informal. Since I meet with my manager every Friday, we always talk about our weekend plans and discuss topics beyond my project. I have utilized these meetings to learn about my manager’s career trajectory, management style, and Microsoft’s culture. In one of these meetings, I remember requesting my manager for recommendations of full-tim...