“How does working at Microsoft compare to Facebook?”
This is a question I’ve gotten a lot in the last year. Back in 2017 I joined Facebook after spending most of my career at Microsoft. In this post I’ll try to answer this as objectively as I can :).
But first a disclaimer: The views expressed here are my own. They do not represent my current or former employer’s.
The first thing I should say is that both are great companies to work for and have a lot of similarities. This is partially explained by the fact that many of the people working at Facebook worked for Microsoft before (particularly in Seattle). And to give some context, I moved from Microsoft Research into Facebook Messenger, so some of the differences come from working in research vs a product.
Culture
After spending such a long time at Microsoft, it was very interesting to experience a different company culture. Even though both are big tech companies the difference in their size and histories shows up in a few ways:
- Speed: Things move faster at Facebook, no question about it. And while this is a positive overall, the fast rate of change can introduce some overhead as well. It’s not uncommon to find some internal tool that has been deprecated or an outdated wiki.
- Openness: This is one of Facebook’s core values and it shows. For example, people share peer feedback with each other quite often. Also, the code for any product in the company is easily accessible. In contrast, the last time I had to work with Windows code at Microsoft I had to get approval since I was part of a different division. To be fair, by the time I left Microsoft it was becoming more open under Satya, so things are moving in the right direction.
- Communication: Microsoft has a strong email culture and I used to complain about the volume. Turns out Facebook is a lot more overwhelming in terms of communication influx. Email is used less but in exchange you have Workplace groups and chats, and a flurry of notifications from tasks, source control and even Quip. The standard meeting at Facebook is ½ hr, while at Microsoft an hour is more common. The shorter meetings are great for many logistical matters, but they can be too short for some technical discussions.
- Ambience: The Facebook offices feel livelier and bustling with activity. But add together the Speed and Communication elements and you get a culture that can feel somewhat chaotic. Seattle being a smaller office means you have more of a mix of disciplines: engineers, designers, recruiters, product managers, etc. In contrast the Microsoft Research building was composed primarily of researchers and engineers. To me Microsoft’s environment feels more conductive to deep and focused work, while Facebook feels more energetic.
Work
I’ll just say it: the switch in platforms was painful. After being a lifetime Windows and Visual Studio/.Net user the first few weeks were a bit rough. I had to get reacquainted with linux, learn Vim, Atom, and Hack along with a myriad of other tools. I also decided to bite the bullet and use a Mac (shocking all my friends and family in the process). While you do have an option to use Windows, almost all engineers use Macs so to me that was the better long-term choice.
I’ve since settled into a rhythm, and things are pretty good. I still sorely miss Visual Studio, but I’m enjoying my linux shell and the infrastructure at Facebook is quite good. Outside of the tech stack most of the differences come from switching from a small research team to a larger product. When I commit code at Facebook it’ll reach production and users in a fairly short time. At Microsoft my code was primarily supporting research and hence had more bake time. At FB there are more meetings and I do many more interviews, since we keep growing very quickly.
Logistics
Headquarters: A few differences stem from being at the headquarters vs a satellite office. For instance, I have way more meetings involving video conference at Facebook than I ever did at Microsoft. The VC system at Facebook works very well, but it’s always better to meet in person. I also travel more often (maybe once a quarter?), primarily to the Menlo Park campus. This is hardly ever a requirement and is more of a choice.
Office Space (no, not the movie): One thing I really miss about Microsoft is my office. Facebook has open space, which can be very distracting (headphones to the rescue!). To be fair, there’re plenty of quiet and comfy spaces to work, but then I sacrifice using my big monitor. While I understand the space constraints FB faces this one goes to Microsoft. Open space is a pet peeve of mine and there’s plenty of articles around its effects (e.g. Open Offices Kill Teamwork). On the flip side, Facebook has the edge when it comes to perks with free high-quality food and snacks, shuttles/Lyft credits and even laundry.
Commute: Here I’m specifically comparing the Facebook Seattle office to the Microsoft Redmond campus. Personally, this was a big change since I live close to Microsoft. I used to drive since it was a short commute (15-20 mins with traffic) and Microsoft has plenty of parking. Now I use Facebook’s shuttle service, which is awesome. It keeps me from driving in the horrible Seattle traffic (I’m looking at you, Mercer Street!) and saves me almost $20/day in tolls and parking. Still, I’ve now gone to a 45-60 min commute and while the shuttles have wifi, I found I get carsick if I work there. So now I listen to a lot of podcasts and audio books :).
So there you have it. Which one is better is largely a personal preference and I think both are great places to work. If there are any aspects that I didn’t cover please leave a comment and I’ll do my best to address them.
Darci says
Thanks for sharing your experience! I’m deciding between SWE internships at FB and MS right now 🙂
Sandy Gai says
Thanks for sharing! Now I am relocating to Seattle, and got both offers from Facebook and Microsoft, having hard time to choose…your article definitely helps me to know a bit better of both companies! Would be happy to connect if you’re open to it! My email is sandygkj@gmail.com.
carlosgjs says
Hi Sandy. Glad it helped. If you have other questions you can reach me at carlos@codepointers.com.