The End of my Microsoft Internship

Today I finished my internship with Microsoft. I’m not going to act like it was some enlightening, life-changing experience, but it certainly taught me a lot and changed my perspective on a lot of things, mostly in ways that you’d expect. My experiences aren’t really what I’d call glamorous, but hey, sometimes life doesn’t need to be glamorous; being boring and good is plenty.

The bad

First, I didn’t like my project. I don’t think this was a secret to anyone: I expressed my dissatisfaction to almost anyone I discussed my internship with. It wasn’t just me: many FTE’s (full-time employees), including those close to me (e.g., on my team) told me that it didn’t really make sense for an intern to have this project. When I tell people, I usually start with a simple fact: I never wrote a single line of code for my project. I’ve never seen someone who isn’t shocked that a software engineering intern does not write code. So, the usual follow-up is, what do you do if you don’t write code? Well, I looked at data. I wrote SQL queries. I asked people if my data made sense, only to find out it doesn’t. Rinse and repeat. It was by no means trivial, but I didn’t feel I was using essentially any skills I had learned in school or other projects. Only two things made this whole thing bearable:

  1. The project really wasn’t that hard. I definitely could’ve finished much faster. But I didn’t, because of my second reason.
  2. I must have spent less than half my time at working actually working. The work was boring, and it was very easy to get very distracted. Towards the end of the internship, how little work I did was absurd. I think I spent almost an entire week interview prepping. At least that boredom motivated me to do something useful!

Second biggest thing, I wasn’t the biggest fan of the culture of my team. It never feels quite right dissing the team’s culture. Because the thing is, there’s a lot of things about the culture that are really great. Essentially, I felt that the culture enabled me to do great work: no one was an asshole, and people are always very willing to help. Instead, the biggest gripe is a simple one. Most of these people, I don’t really feel that I can call them my friends. There’s many reasons for this: age, cultural differences, general social outgoingness. While you can’t blame anyone for any of this stuff, I know that if I could go to the office and have people I could call friends, I would both enjoy my work a lot more as well as doing better work.

That’s it for the bad. Neither of these things broke the experience, but they did leave me feeling somewhat underwhelmed about it.

The good

Not anything to do with Microsoft, but I very much like Seattle. Of course, this is very easy to say in the summer! But really, there’s a lot to like. First is the opportunities in nature. It’s incredible how many things are available so close to you: I must have went on at least seven or eight hikes this summer, and they were all amazing. This kind of thing just isn’t there in the Bay Area. Second, I very much like the culture. The Bay Area is extremely tech focused. One of my friends told me how one of the things he doesn’t like about working in SF is just how homogenous it is. Everyone is in tech, has the same hobbies, has the same dreams and aspirations. It’s great to be surrounded by like-minded people, but being able to get fresh new perspectives is something I’ve constantly found to be very, very valuable. Last, it’s hard to ask for a more beautiful city than Seattle in the summer. I crossed the lake every day on my way to work, and let me tell you, seeing the beautiful water and the varied elevation amongst all those green trees never really gets old.

Microsoft really cares about their interns, more than any other company I’ve heard about. Maybe some things about the company itself aren’t great–such as no free food, not as cool or hip–but the people in charge of the intern program do their absolute best to make the intern experience as good as possible.

The signature event is the easiest thing to point to. Every summer, Microsoft invites all the interns to some venue. This year, it was in Gas Works Park (a very pretty park right on the water of Lake Union). They bring out a ton of (actually extremely good and varied) food and drinks, and let us go at it for a couple of hours. Then once everyone starts to settle down, the concert starts. This year, it was Julia Michaels who opened, followed by… Mr. Worldwide. I don’t think I’ll ever forgot the shock I felt, and still feel, when he stepped onto stage. My whole life this guy has just been a meme, and now here he is in the flesh! Anyways, turns out, Pitbull is kind of a cool dude. They end the night by giving everyone some free piece of Microsoft tech. This year, we got an Xbox.

The signature event was just one of many things: I also got to go to MoPop, a Mariners game, a Sounders game, and many more things that I didn’t take the opportunity to do. I was also a part of a Camp Microsoft group, where you and about thirty other interns get paired with a couple of FTE’s, who are given a huge budget to just go and do cool things. My group had a pool party, kayaking, and go-karting as a few of the activities. All this stuff is amazing, and it’s all because of the care that the people at Microsoft have put into the intern program. All these things were great, but wouldn’t have been anything without the people.

The difference in this year and last year in terms of my socializations with other interns was huge. Last year I essentially made zero real intern friends. I made excuses, mostly that because I was in the city I grew up in, I didn’t really have any need to make friends. But in the back of my mind, I was pretty scared that I’d be lonely this summer. Thankfully, that didn’t happen! I think that my first weekend in Seattle, before I even started working, I had better experiences with friends than my entire summer last year. A lot of these things were just because I already had so many friends working at Microsoft, who either already had established friend groups, or were just very social anyways. But regardless, I made a ton of great memories this summer with some great people. My favorite little story to tell is how I met the group of interns I ate lunch with. My first day, I was trying to make a conscious effort to find cool people to eat with (I was kind of lonely eating lunch with just my team last year). So I messaged our building chat and found some people to eat with. I went down to the cafeteria and found a group who were clearly interns, and after much nervous contemplation asked them “are you guys the interns?”. We got along pretty well and I was super happy that I found my “lunch group” so quickly. But later that day I realized that the people I ate with weren’t the people I meant to eat with at all; I just sat down with a random group of interns. I’m very happy that I did, because otherwise I never would have met any of them, and they were definitely some of the coolest people I met this summer. Besides that, here’s some other really cool things I got to do:

  • Visit Vancouver for Canada Day.
  • Camp in Olympic National Park.
  • See that massive mountain up close (Ranier National Park, which wins by a hair).
  • Visit Vancouver… again. Stanley Park is the place to be.
  • Explore Pike Place, many times. I no longer need a map to find the chowder.
  • Pub crawl and drink real cocktails for the first time.
  • Kayak over miles of Lake Union. Socially, it’s hard to have asked for much better of a summer.

Despite me not enjoying my project, I learned a ton. Technically my project wasn’t hard, but I think I finally understand why soft skills are so important for an engineer. At the start of the summer I was passive and timid. I wouldn’t push people to help me when I knew I needed it, and I wouldn’t speak up at meetings when I didn’t understand the justification for a certain reasoning, or when I could see a better way of doing things. By the end of the summer, this changed completely. I was much more direct with people when asking for help and would speak my mind when something wasn’t quite matching up. Sitting in many wasted meetings made me realize why effective communication is so necessary, and I made some good progress in this area as well.

I also learned how to take proper ownership of my project. My previous expectations of a software engineer were simple: someone tells you what they want to have built, and you build it. The challenges are technical. For example, architecting a solution, and then building it out. This summer I learned there’s a whole lot more. Essentially, you need to understand how what you’re building is creating value, and making sure you are maximizing that value. Microsoft talks about this as being “customer-obsessed”, and it definitely requires a different way of looking at things. I now had to understand exactly why I was implementing everything I did. If a requirement wasn’t creating any value, why would you waste your time building it? It’s easy to just push this to the PM, because technically, that is what they’re there for. But as a dev you have a much different perspective, and are often better able to say exactly what makes sense. For example, initially my project (essentially data visualization) had a ton of required views and graphs. But as I played around more with the data, I realized that many of these views don’t really make sense to have, and we cut them from the project. A PM would never have these sorts of insights, since they are so much farther away from the actual data and implementation. (Unrelated to this, but I think I now really understand that less is more. Humans don’t do well with choices, and giving someone many very good choices is much better than giving them those same choices with many other, less useful choices). I wasn’t used to this, and at first it really made me feel uncomfortable, but as I got better I realized how much better of an engineer it made me; I could ensure that the product I was putting out was actually going to have value, which is the real goal of any engineer, not just to make something cool.

Overall I feel that I now know what it takes to be a great software engineer. And as I’ve learned, the first step to improvement is understanding what you actually need to improve. Good news is, I feel that all these skills are things that I like and can one day be proficient in. I enjoy exercising my soft skills, and generally think I am fairly good at them. I like the creative thinking process of designing a product, when you really take the time to ask yourself, “does what I’m doing make sense?”. While I didn’t learn many technical skills this summer, I’m not too disappointed. Technologies come and go, and technical challenges are usually not too hard to find. But the other skills are much more rare, and I now feel that I’m set up to develop these skills and really have a successful career.

Overall

My experience overall was positive. I could’ve been much more technically challenged, but I still ended up learning a lot, and having some really good experiences while doing it.

I don’t want to understate how much I enjoyed living in Seattle. Once again, I was seeing it at its best. But even besides that, it’s just great to get a different experience. Seattle has a good amount of unique things about it that I’ve never really gotten anywhere else, and honestly, if I hadn’t taken this internship, I don’t know if I ever would have gotten.

What’s next?

My internship is just concluding, but my search for full-time jobs is already well underway. I’m sure I’ll write something else about this later, because I have quite a lot to say about it, but I’ll give the gist here as it relates to Microsoft.

I did receive a return offer to Microsoft, so I already have one really great opportunity locked down. I successfully shopped for another team. I ended up not getting my first and ideal choice, but I have high hopes for the org I am joining, and I definitely think that it would be a great place for me to start my career.

I’ve also entered the process for several other companies as well. So far, the three big ones are Google, Blend and Facebook. These are basically my three top choices; if I got into any of them, my choice would be between whichever ones I got into. That being said, I’m perfectly happy with returning to Microsoft. I’ve already come a lot further than I thought I would have, so more is just icing on the cake.