My SWE Internship Experience at Microsoft!

Prerna Mittal
6 min readJul 15, 2024

--

I had the opportunity to intern as a Software Engineer (SWE) Inten at the Azure Data — Spark Dev IDC team in the Bangalore Prestige Ferns office for 2 months!

During my internship, I built a simulator for Acceptance Test Driven Development in their tool, making testing 99% faster, saving VM costs, and helping resolve high-resource-demand customer issues. My project is also useful for multiple teams, and I was able to demonstrate its impact successfully 🚀

Week 1 and Week 2

On the first day, we had an orientation where we learned about Microsoft’s values, culture, internship requirements, and tips to make the most out of it. I was introduced to the team, and my manager explained the team’s work, the products we were working on, and helped me set up my account. This introduction gave me clarity and made me feel part of the team right from the start.

The next day, I had a meeting with my mentor to discuss my project, which focused on building a simulator for Acceptance Test Driven Development in their tool. I learned about the tool’s background, the problem statement, the proposed solution, and the project timeline in detail.

I installed the required tech stack, completed the necessary courses, and explored our products — Microsoft Fabric, Azure Synapse, and PowerBI. I also familiarized myself with the tools I’d be working with — IntelliJ IDE, Docker, acceptance testing frameworks, and Python libraries.

Then, I began writing the base code for my project. Initially, it was hardcoded, but after receiving feedback, I rewrote it dynamically using good coding practices. This experience taught me how to organize large files and code efficiently and cleanly.

Week 3 and Week 4

I managed to run the main phase of my project locally and then started working on running it in the Docker container.

During this time, I came in the Top 100 of the Microsoft Campus Connect Quiz and received goodies. We had an Azure Intern Bootcamp at the North Luxor Office, where I learned about cloud computing and one of my favourite topics: Serverless! I also attended the GitHub Constellation24 conference.

We had a team outing to a resort where we enjoyed activities like kayaking, human foosball, a barbecue, a giant swing, swimming pool games, and a fish spa. It was a lot of fun, and my team proved to be fun-loving, sporty, and amazing to be with.

Week 5

I resolved errors, added logs, and used debugging techniques. I also planned how to test scenarios locally for the next phase of my project.

Week 6 and Week 7

Week 6 was the best for interns as we had Intern Learning and Celebration Week, featuring fun events, photo booths, food stalls, and networking opportunities. Unfortunately, I fell sick with dengue and had to go home, but I continued working from home intermittently.

This situation gave me the chance to visit the Noida Taj-themed Microsoft office. I worked there for 3–4 days with the Noida team, ran test scenarios, made a few more additions to my project, and fixed more bugs.

Week 8

In the final week of my internship, I created acceptance tests to demonstrate my project’s working, prepared a final presentation, and made a demo video. Before the final demo with the whole team, I had multiple dry runs with my internal team and manager, which helped me improve my final presentation. The final demo went well, and I successfully demonstrated the impact of my project. I also got great feedback and support from my team!

During this time, I also had two interviews — one technical round and one AA round for the conversion process to a full-time employee (FTE). Check out the details in the blog below!

Communication and Collaboration

  • Project Checkpoint Meetings: Weekly meetings with my manager every Friday.
  • Daily Sync-Up Meetings: Regular meetings with the Noida and Bangalore teams.
  • Progress Reports: Created weekly progress reports and shared them with my team.
  • Task Management: Maintained a list of my task items on the portal.
  • Code Reviews: Participated in multiple code reviews, created PRs, and resolved comments.
  • Documentation: Created sufficient documentation, including a design document.

Networking and Goodies

I met software engineers, interns, and managers from different teams at Microsoft, gaining insights and multiple perspectives. I had the unique experience of working from three different Microsoft offices in just two months!

I also received various goodies — from my team, Azure Data; ‘Intern Learning and Celebration Week’ goodies; ‘Inclusion Day’ goodies; ‘Bring Your Family to Work’ goodies; and goodies for winning the ‘Campus Connect’ quiz!

Challenges and Learnings

Initially, I faced a lot of difficulty working with Docker due to its glitchy and confusing UI and navigation. However, networking with many software developers and learning from their suggestions helped me get comfortable with Docker.

I learned the correct approach to debugging and writing code, such as maintaining log files, printing debug statements, and understanding design before coding.

Listening is a crucial quality. Taking constant feedback, incorporating it into your work, and reviewing it is essential. Learning from mistakes and having a growth mindset are highly valued skills at Microsoft.

Microsoft measures an individual’s overall impact on various parameters, which brought clarity to what was expected of me and my work.

Throughout my internship, everybody was extremely supportive and helped resolve my blockers and doubts at each step. I’m really grateful that I got the opportunity to work on a project that pushed me out of my comfort zone and made a real impact!

What I did before the internship that helped (and you can explore as well!)

Relevant Courses

The Coursera Big Data program elective course in college was incredibly helpful since my internship revolved around the terms and concepts I learned in that subject. Similarly, the Distributed Systems course and Software Engineering subject were beneficial.

Technical Blogging

Technical blogging helped me write good documentation and progress reports and curate a nice demo presentation. My passion for reading also helped me read documentation and papers efficiently.

Technical Skills — Languages and Frameworks

While learning C# was not required for my work, it might be helpful since a lot of work at Microsoft requires coding in C# (and C/C++ for silicon/hardware interns).
Note: There’s a high chance that you’ll be working with tech stack and tools that are new to you, so don’t worry about this beforehand; just know how to ramp up your learning.

Previous Experience

My previous online and offline internship experiences were helpful as they made me familiar with the corporate environment.

Fundamentals and Tools

Revising computer fundamentals and DSA beforehand is essential as they are often asked in exit interviews. Knowing basic dev tools like VSCode, Git, GitHub, and the Command Line is also beneficial.

If you want to know about the selection process for a Microsoft SWE Internship, feel free to check out this blog!

This concludes the detailed account of my internship journey at Microsoft. Stay tuned for more insights on the conversion process to a full-time employee!

--

--

Prerna Mittal

Upcoming SWE @Microsoft | Ex-Intern @Microsoft, Cadence | Samsung PRISM Intern | NXP WIT Scholar'22 | UIUC+ Research Intern | Beta MLSA | GATE CS qualified