I worked at Microsoft for over 5 years spanning from 2018 to 2024. I know, the math doesn't really make sense because I had a short break in between. This post is a bit of reflection on what it's like to work at Microsoft during my time there, and what I enjoyed about it most, and a little bit of what I also disliked about the experience there.
A lot of the content here is going to be about the work, career, and reflections on what made me successful at my time there. Maybe you can see it as my opinion to the question of "Should I work at Microsoft?", or maybe see it as some career advice. Maybe you can also just read and interpret all of this as some guy behind a keyboard just spewing out nonsense. I'll leave it up to you on what my opinion means and whether it matters.
Do keep in mind that Microsoft is a HUGE company. Anyone's mileage is going to vary depending on what product, or team they land on. I had a good experience overall so I'd like to just talk about it.
To set the stage I'm about to present, I think it's probably best to start out at the very end and the beginning at the same time. We'll meet halfway, and I'll try to be clear in terms of explaining the timeline.
Where I'm at now.
I no longer work for Microsoft. Out of respect, I will leave out any confidential information about the company, team and internal details about the product I was working on, and will discuss topics that are searchable through the internet, but I'll provide value with my own opinions around them.
I finished my career as an L64 Senior Software Engineer and was up for a L65 Principal Software Engineer position just before I left. The career ladder at Microsoft involves moving up in "levels" with the addition of title changes. I'll explain more about it later, but a L64 Senior Software Engineer is pretty much mapping to a "very senior-level" person, or "technical lead" at other companies. The "technical lead" was actually the role I served for my team towards the end of my time there.
I hard started my Microsoft as a L61, so I was told that going from an L61 to L65 engineer in 5 years is a very impressive trajectory. I am proud of my career there.
Beginnings - Why Microsoft?
I grew up in the mid-1990s to early-2000s. Around this time, Microsoft was considered to be one of the most prestigious and "hot" companies to work for in technology. I was that type of kid that was taken out of class by other teachers in school to fix their computers. Most of the problems would be some printer issue, or some software needing some extra configuration or installation. Whatever it was, most of the problems were solvable without too much help of someone in professional IT, but instead with some help from a kid like me.
Socially, I didn't have any problems at school. I loved school. I attribute my a lot of my way of life as an adult because I had a lot of nice people around me growing up. I didn't have an ideal family situation, but the people outside my personal family life were very influential and supportive -- even my classmates who I wish I still kept in touch with after all these years.
It wasn't until the sixth grade, or so that I really started to be encouraged by people in my environment: the teachers, and students around me. I made web pages and actually shared that interest with friends. Another fun thing I did for a hobby was messing around by forcing my crappy home computer to play video games at 10fps. Also, at this time, someone kindly said that I would one day be successful like Bill Gates of Microsoft when it came to those end of year "most likely to...." nominations. As a person who loved playing computers, coding, and helping people, I think this triggered me to want to work at Microsoft. It was a huge influential company, and it was also doing some really cool things with the internet at the time. Keep in mind, during my early years:
- There was no social media.
- Google was only 2-3 years old and only one of the many search engines around we could use.
- IBM was the "anti-Microsoft"
- Netscape was going to be bankrupt
- Apple just came out with the iPod, and no one saw them as extremely successful... yet.
Tech was different back then. Microsoft was HOT. Naturally, I wanted to be a part of it eventually.
However, for some reason, I seem to forgot about working for Microsoft as I got older. I suspect it had to do with the changing industry. Social media, Google, and Web 2.0 in general became the hotness when I was in college, so I didn't really consider Microsoft as an employer immediately right out of school.
It wasn't only until I was back in California and pretty much tired of a long commute to my current job at the time that I got in touch with Microsoft (again).
My Work
Fast forward to my career at Microsoft... What did I do there?
I worked mostly in messaging/communication applications. I was a contributor to the Skype messaging client. I initially took my offer at Microsoft to work on Skype. I really liked working on Skype because it was such a relatable tool for me in my personal life. It was also a piece of software and service I felt was very well known to the consumer public. Even to this day, Skype is still near and dear to me and I still use it. Another thing about what made Skype attractive was that it consisted at the time, a small team located in Palo Alto in a single floor. It felt like a start up and was very enjoyable.
Basically there was enough of us to do an office picture right in front of the lawn like this:
I'm here:
Fun fact, this is actually the last time I ever took a photo with an entire group of people in the office. From 2020-2024, I just worked remotely, and overall organization culture didn't really exactly call for a photo. :)
My colleagues were very supportive and had great professional and fun personalities. I worked on some things like:
- Optimizing rendering and payload transport performance in web add-ins
- Executing migration of systems in preparation of GDPR policies
- Micro-service development for various chat bots
In truth, the majority of my career was spent working in Microsoft Teams. I moved to working at Microsoft Teams after about a year in Skype, and became one of the primary authors of the message composition experiences in the client application. I lead the development of anything related to composition of text in the product. For example, the ability to type chat messages, channel posts, and edit meeting details for scheduling. A lot of this code and infrastructure was built by myself and my team.
You ever sent a chat message in the middle of a video call? Yup, that box belonged to us. You ever set an "out of office" status message the day before your vacation? Yup, that box belonged to us too.
We had a lot of work, and we executed quite well for the resources we had. I am proud to have grown my career in this way, and couldn't have had it any better. There was always challenging work, lots of gotchas, and everything was always about SCALE, SCALE, SCALE... As with all big tech companies, conventional solutions never really work, and the problems forces one to think outside the box.
Having fun, and enjoying the work is one aspect about the work, but does it matter at all if the career of a contributor isn't advancing, or growing?
I'll discuss that next time.