“What does work/life balance look like at Microsoft?” That is the second most asked question I get after “What do you think of the Microsoft Employee Review Model?“
Interview candidates want to know if Microsoft is going to suck the lifeblood out of them and turn them into zombies that are fed pizza under the door like Douglas Coupland talks about in his book Microserfs. The tales talked about in that book were probably correct at one point in Microsoft’s history, but I have witnessed an intentional shift to a focus on employee health and retention - which most definitely involves promotion of good work/life balance.
I’m not a Microsoft spokesperson. I’m just a dev manager who has been at Microsoft since 2004 and I put family values above other priorities. The objective of this post is to give you glimpse into my view on work/life balance at Microsoft and provide you with some recommendations on things that have worked for me over the years. Other Microsofties will most definitely have completely different experiences, but I can only speak from mine.
I’ve struggled with the challenge of work/life balance because I’m interested in so many things. I’ve learned to go through life in seasons and focus on a few things at a time, but it hasn’t always been that way. I don’t have it all figured out, but I thought it was worth sharing my thoughts with the hope that it helps someone that is struggling with balance or someone interested in finding out more about what life is like at Microsoft.
MICROSOFT IS A THOUSAND LITTLE COMPANIES
The first thing you need to realize is that Microsoft is like a thousand little companies - each with its own modus operandi which affects how each team looks at work/life balance. I’m not talking about the Microsoft core values like integrity, honesty, etc. Rather I’m talking about the things that set each team apart like the way people communicate with each other and what they value at a more personal level. The work/life balance gauge for each team largely depends on the product the team is building and even more so on the team leaders. If they are working non-stop, which is unfortunately normal at Microsoft, then some of the people down the chain will do the same at all costs to be noticed. Choose early in your career to not chase after that.
Which do you prefer, working on a really cool competitive product or having a healthy work/life balance? Most people think those two things are usually mutually exclusive, but I’ve worked on many cool products all-the-while maintaining a good healthy balance…because I was intentional about how I managed my time. Some people think you have to work non-stop for long periods of time, but that doesn’t work these days. Maybe it did the early days, but (I think) we are much smarter about how software is built and can achieve much better results with a healthy self-directed team.
Most teams at Microsoft have external competition, Bing, Xbox, etc - so it is understandable that those teams work longer hours and are under more stress than other teams. Think about that when you decide which team to work for. External competition means a lot of challenging work, but your balance may suffer. Internal work can be challenging, but it’s a different kind of challenge that might offer better work/life balance.
Do the values of the team align with my values? This can be a hard one to get a straight answer on while interviewing, but you can ask smart questions that lead you to the answer. Of course they will tell you they are all about balance when you are interviewing. But what happens when it’s crunch time? Does everyone freak out or do they have a solid leader that keep things together so everyone doesn’t burn out?
Does this team value working non-stop or are they about results? Ask the leader and other team members what hours they work. I interviewed once and I asked that question. The response was…”I work 8 hours in the office and then I go home and work another 8…I have two jobs.” Red flag. Run away. I didn’t run at the time and regret it.
Does this team provide free dinner every night? I know this is great at Google because you never have to leave, but it’s a bad sign at Microsoft. Some teams provide dinner every night…..sounds like a dream come true for a guy right out of college, but for a guy with kids that can be a nightmare. That means they are expecting everyone to work through dinner. Precious family time for me.
Is the team engaged and is everyone working hard and smart? A disengaged team leads to poor work/life balance. They don’t think far enough ahead to plan for hard times and end up pushing everyone in a “death march”. Are the people on the team excited about what they are doing and are they doing the right things?
Are people sending flame mails? You can tell if a team is healthy by asking when the last time there was a serious flame mail. That is what we call emails that intend to hurt other people and are usually escalated to HR. It hasn’t happened on any of my teams in a long time and maybe it doesn’t happen anymore, but it doesn’t hurt to ask if they still go on. If they do then you might want to consider a different job.
I know that everyone is different and we all go through seasons. Sometimes you may want to double down for 6 months to be part of an amazing product and sometimes you want to lay-low so you can coach your kid’s soccer team 3 days a week. The important thing is figuring out what matters to you for a given season and finding a way to make it work for everyone in your life.
YOU ARE MORE REPLACEABLE AT WORK THAN AT HOME
There are important things in life and then there are VERY important things in life. Make sure you are good in the areas of life that you aren’t replaceable (family) and then focus on the other areas (work). I’m not saying don’t care about work. I’m saying care about the VERY important things more. If your work/life balance is off and the VERY important things are threatened, then take a break and get some help.
At work you can be replaced in about 5 minutes, but you are effectively irreplaceable at home. Keep that in mind. I think about it every day.
USE YOUR PAID TIME OFF
Microsoft gives me 4 weeks vacation, 2 weeks sick time and 10 holidays a year. That’s 2 months off a year and I use it all. I use vacation time to get out of town and disconnect for long periods of time and I sometimes use sick time when I need to recharge physically or mentally. The job is taxing and the time off allows you to get back to a place where you can put 100% in.
You are only allowed to roll over a max of what vacation time you can earn in a year. If you get 3 weeks a year then you can only roll over 3 weeks. The worst thing you can do is not use it and lose it. To me that’s just throwing away time, which is money.
Use your paid time off. It is an essential part of the work/life balance equation.
IT’S ALL ABOUT RESULTS
You, your manager and your team should put results above all other things. Pay attention to the output of each team member and the team as a whole. Is it extraordinary? If not, then the answer usually isn’t work more hours. The answer can be many things, but it’s probably the leader’s fault. The team needs direction and (sometimes) organization - yes, self-directed and self-organizing teams are the best, but Microsoft is a mixed bag and sometimes you need to show them the way until they get it on their own. They need the leader to set clear goals and expectations for each of them and for the team as a whole. Sometimes it helps for the leader to literally draw out the dots and let them connect them.
It’s good to call out the guy who sweeps in at the last moment and saves the day, but make sure you are also rewarding the team for continued results.
YOU ARE NO GOOD BURNED OUT
Talk to any of the people that have been on my teams in the last 5 years or so and they will remember me saying that they are “no good to me burned out”. You cannot be effective if you are burned out. After a certain amount of hours your productivity decreases over time. I’d rather have a developer put in 4 hours of focused engineering work a day than 10 hours of random stuff to make them look busy.
I have a friend that translates from Korean to English for a living and gets paid by the word. After many years of translating he discovered that he reaches his max words-per-minute ratio after 30 minutes. If he continues to work after that first 30 minutes then he starts to lose money. So he works in 30 minute bursts with 5-10 minute breaks in between. Figure out what your cadence is and stick with it. If you are a dev then it probably isn’t 30 minutes, the number doesn’t matter. Just recognize when you start to become less productive and do something else for a while. Go home early. Take a walk. Talk to a co-worker. Play ping-pong. Whatever. Just don’t sit there and plow through it.
YOU CHOOSE YOUR WORK HOURS…WITHIN REASON
It would be great if Microsoft was a Results Only Work Environment (ROWE), but it’s not…yet. I’m working on getting it there, but for now I’m very flexible when it comes to work hours. I ask my folks to show up for standup, go to important meetings, be available via IM/Phone between 10am-2pm and the rest is yours to figure out. I personally work from 4am-7am, then 10am-5pm. That allows me to eat breakfast and dinner with my family every day and be available in the evenings for homework, games, play, puzzles, etc. I’m content with putting that much time into my primary income source and my family is happy with the balance, so it’s a win-win. Take the time to figure out what works for you, your team and your family. Establishing that cadence is key to a healthy work/life balance.
BLOCK YOUR CALENDAR
I block two very important times in the day: 12-1pm and 3-5pm. I want to eat lunch with my team as much as possible, because I’ve been working with these guys for so long and I really like hanging out and talking shop. It doesn’t happen often, but people book lunch meetings for random stuff that isn’t important. Lunch with the team is usually more important. I also block 3-5pm, so I can make sure I have time to close out any loose ends for the day and go home with a clear head.
You obviously don’t have to block those exact hours, but block some time during the day so people can’t book meetings and you can do whatever it is you need to do. I know some people that block whole afternoons so they can get a good chunk of focused coding done and I know other people that block whole days, crawl into their cave and come out with a ton of work.
Whatever works for you. Just make sure you own your calendar and you have focused time to get your engineering work done without distraction.
WEEKENDS ARE SACRED
I’ve been a lead at Microsoft since 2005 and I have only asked my teams to come in on a Saturday twice since then. Both were for major public facing releases and there were bugs that had to be resolved. Twice in eight years! That’s really low compared to other teams and companies that work non-stop nights and weekends. I just can’t bring myself to do that. Well, maybe for a season, but I haven’t been in that situation for a real long time and I haven’t been on a “death march” in a long time either. Maybe I’ve been sheltered, maybe I’ve found a better way, either way I’m fine with the way it is. Weekends are for family IMO.
ALWAYS ANSWER THE PHONE
If my family calls I drop whatever I’m doing and answer the phone. If I’m busy then I ask if it is an emergency. If not, I call back. If so, I’m ready to jump into action. I don’t want to be the guy in a meeting not answering a call from my wife when she is stuck on the side of the road or got into an accident or whatever. Nothing that you are doing at work is more important than what your family is calling about. You may say, yeah, but my family calls every 5 minutes with stupid random stuff. I would have a conversation with them and establish a boundaries around certain hours.
DISCONNECT AT HOME
Don’t be the guy that is constantly checking his phone or constantly getting the new mail ring tone while spending time with your family. They notice that you aren’t focused on them and it’s disrespectful. Again, whatever it is can wait…unless you are on live site support and you are losing millions of dollars by the second. Figure out what works and set expectations with your family. Hopefully you aren’t in that mode constantly. If so, then you probably want to find a different job.
HAVE “WHATEVER TIME”
As I mentioned before, I work from 4am-7am. I know not everyone can get up that early and I have no idea why I do, but those hours are precious. I call it my “whatever time”. That means I get any high priority issues out of the way and then I do whatever I want. Sometimes it is burning down the backlog, sometimes it is researching tech or taking a PluralSight course. Sometimes I go for a run, sometimes I play guitar. It all depends on what I feel like doing that day and I give myself the freedom to figure out what I want to do and not feel guilty about it. Microsoft gets plenty of my hours during the week. In general this is work time, but it can also be anything I want.
Set aside some time in the day to do whatever you want. If that is spending more time with your family at night than that is fine, just make sure you making the decision, not the company you work for.
OWN YOUR PRIORITIES
I have a doc that lists all my priorities in ascending order. I revisit the doc every morning and ask myself a few questions about each of them. Is there anything that your wife has asked you to do that you haven’t done? Is there anything you need to take care of for your family? Are all your high priority tasks taken care of for your number one income provider? I go down the list and mentally check-off the items. It’s a great way to be reminded of the things that are important to you and make sure you aren’t slacking on any of them.
Your priorities can be whatever you want them to be. I find it helpful to write them down and review them regularly because I so easily get off track with frivolous unimportant things.
THEY WILL ONLY GET AS MUCH TIME AS YOU GIVE
There is a never-ending-ever-increasing amount of work that needs to be done. You could work non-stop for the rest of your life and there would still be more work. If you let them, Microsoft (or any company), will accept as much work as you want to give. It is up to you to draw the line and say when you’ve done enough. Feel good about what you have done and set a boundary between what is healthy. They will work you to the bone if you let them. Don’t let them.
YOU CAN WORK AS MUCH AS YOU WANT
As a manager I’m never going to tell someone that they can’t work more than 40 hours a week. By the time someone gets to my team they are adults and can manage their own life. I may drop some hints here and there and will intervene if it gets really bad, but most of the time I let them figure it out on their own. I’ve heard stories of managers who track their folk’s time and cut them off after a certain amount of hours. Don’t be that guy. Don’t coddle. If your people want to work all the time then let them have their moment. Don’t stifle.
A lot of the advice above is in general terms and is dependent on a lot of factors. I tell people that in the corporate world they should account on doing work they love about 80% of the time and work they don’t love 20% of the time. That is the ideal for me. Sometimes you are paid to do something you don’t like. That’s life…to a certain extent. It is up to you to figure out how much work you don’t love you can handle.
Other times you’ll be asked to work (or want to work) extra because you don’t want to leave it for another co-worker or are excited about it. Set up a communication system with the people you work with and your family to accommodate those situations. I’ll sometimes tell my family: “I’m going to go work something out for another hour tonight and then you’ll have my full attention.” I have a very understanding wife, partly because she’s in software as well, but hopefully your relationship is grounded enough that she understands how creative/software people can be. She knows that if I ask then it is important to me and knows that I won’t be able to stop thinking about it anyway, so it’s not a big deal that I wrap something up. Those instances are rare, but the point is to be flexible enough to allow anomalies from your balance to come in. Sometimes you’ll leave work early to see the doctor or watch a movie and sometimes you’ll need to stay a bit to wrap something up. Be flexible.
I firmly believe that work/life balance is up to you…not your employer. Don’t let a manager or a company control your life. If you want to cut out early to see your kid play ball or whatever, then do it and don’t feel guilty about it. I repeat…don’t feel guilty about enjoying your life. The ultimate goal is a healthy work/life balance and that includes being guilt free when you do the things you love to do.
Figure out what is important to you. Be firm. Take control of your work/life balance and live happily.
p.s. I’ve been working on this post for a couple of weeks and just yesterday I got a call from my wife at 3:30. Her car wouldn’t start. I was in a meeting, but I answered the phone. I called a tow truck and made sure she was good. I then got home and told her I needed some time to wrap a few things up for work – which was totally fine.
Special thanks to James Trott and John Kurlak (devs that have worked for me in the past) for reviewing this post and providing great feedback.