What I learned after three internships at Microsoft.

June 23, 2018 · 6 minute read

After 3 internships In Microsoft, (and becoming a senior intern in the process) I’ve decided to write a blog post about what I’ve learned in three summers here.

First: What did I do in three internships?

For my first internship, I worked in the Microsoft Project Server, using SQL clustered indexes and optimizing our endpoint for consuming project tasks.

For my second internship, I worked on the Microsoft Project Client, helping create the all new agile view. (I did the search and helped with the cards!) . This was mainly in C++ (or better stated, Office++ as it is a custom flavor of C++ for office. Shivers ).

For my third internship, I got to play with the internals of OneNote Sync, and created a diagnostic tool for my team, in which we can diagnose common sync problems. This was in C#.

Focus on what makes you happy.

One of the main things that I’ve seen when people go to Big Xs is that they expect that working for an amazing company in an amazing place will automatically make them happy. This couldn’t be further from the truth,

Figure out what makes you passionate, and what are the things that drive you. Satya Nadella (Microsoft’s CEO) often mentions “Use [Your company] to leverage your passion”

I found that making amazing experiences makes me passionate, having impact on customers directly and being proud of what I’m working on seems to do the trick for me. In a more concrete example, I changed from enterprise software to consumer & enterprise software, which is the balance I strived for.

Ask yourself: what kind of environment makes you happy. Is it constant challenges? Is it optimization? Is it creation? One of the main things, before choosing platforms and teams, is to find what drives you to be fulfilled. So do a little bit of pondering and reflect:

Would I prefer:

  • Creating a product, seeing it and being proud I created it. (Creation)
  • Knowing that I solved a complex problem, being proud of having the skill (Problem Solving)
  • Optimizing services and knowing you improved the strength and speed of something? (Optimization)

There may be more, and I am fully aware that this is a luxury, but it is a luxury worth fighting and working for, or at least try to come close to.

It’s tough to clear the perception of Microsoft Legacy.

I’ve coded in python & ruby extensively over the last year, but interviewers seem to think that I can only code in C# or in legacy C++. I don’t blame them, but it’s a difficult hurdle to come through in new interviews. It’s also really important to keep your mind in the job, but your eyes on the world. It’s really easy to stay really focused on the tech of your team, and miss what the world is doing. That’s why I consider reading Hacker News and Reddit /r/Programming at least once a day for 10-20 minutes essential to the career of any professional in tech.

One of my favorite examples is when I interviewed in a contoso company, I was asked what language I wanted to use for my technical screening. When I replied python, they were a little astonished, I proceeded to pass to the next round, but not without really confusing my inteviewers. I should have been legacy, I guess It’s really interesting that perception is a big part of what makes you good as a software engineer.

People who fail to update themselves, do become Microsoft Legacy.

Diversity is key.

Diversity might sound like a buzzword, or lingo, but the secret is that it works.

One of the things Microsoft has figured out, and I’ve seen really clearly in my summers here, is that diversity helps the company a lot. Having different points of view of several engineers with different experiences around the world, makes the decision making process inclusive. One of my favorite quotes from the CVP of Microsoft is

You don’t realize how diverse Microsoft is, until you go to other companies and find out. - Chris Capossela

Which in my point of view is true.

It’s amazing to see that once you are diverse, you stop thinking about being diverse and it becomes the baseline.

One of the main problems with decision making is that we are limited to our own experiences and our own decision making. What If we didn’t have that limitation? What if we could gather different POVs easily? That empowers us greatly. The only catch is that there has to be an efficient communication so that this works correctly. If the communication is faulty, all the benefits of diversity are lost.

Having the right balance and pace is worth ten thousand times more than burning up.

Everybody knows that if we use a machine resource at a 100% consistently, the total output of that resource is less than if it runs at 90%, because of the failure rate. This is also true for humans.

my teammate said. I agreed. One of the most important things is that you are giving the best of you in that 90%. But then, rest, be balanced. Seeing interns and FTEs feel the pressure of working 12 hours a day, pushing themselves more than the line was inspiring, but you could see the effects in them, and their overall productivity declined.

I tried to analyze the patterns in my teams. Who is successful in the team, and who isn’t? I found that the most successful people on my team where those who paced themselves, who progressed through tasks with discipline. Those who weren’t as successful were those who tried to grab more tasks that they could handle and scrambled to meet deadlines, or made really big changes to look better to their managers.

Document, document, document.

An effort is only as big as the documentation it leaves behind. And I’m not talking about technical documentation. But just to make sure your team and manager are aware of what you are doing.

If we engineers under-communicate, then over-communication is actually baseline communication. -Soft Skills

Keep a journal, it’s surprisingly easy to forget what you did two weeks ago. Let your team be excited about your product, communicate effectively, not frequently. Every thing that you do is important to have it written down, for your own personal logs. After having everything written down, the question of “What did I do?” becomes easy.

It’s surprising how open Microsoft is.

I had lunch with lots of Microsoft C-Suite: I’ve met Scott Guthrie, Scott Hunter, chatted with Rajesh Jha, enjoyed the company of Chris Capossela and more. It’s amazing how I can approach people throughout my management chain, and be open for new opportunities. They listen, they reflect, and share. This is something I can’t say of other companies.

I’m surprised how good the Microsoft Internship experience is.

To finish, I’ve done three internships in Microsoft, and it is one of the best experiences in my life. I’ve got to talk with the best of the best in the field, I’ve got the best concerts, gifts, and experiences I’ve could have dreamed of. I’ve met so many amazing people. And I also ate a lot.

Shoutouts.

Thanks to Arturo, which gave me the mentorship of a wise man, and helped me thrive throughout the hardest parts of my internship. Thanks to everyone in Project for welcoming me into their family. And thanks to LauraCatPJs for letting me come to such an amazing team in One Note and finding my passion.

Thanks to you dear reader.