Analyzing Job Satisfaction Using Data

21 May 2012

It has been 8 weeks since I started my new job at the University of Washington, and 9 weeks since I left Microsoft. I have been increasingly productive, content, and lighter that entire time. That makes me ask: Why? What is so different? Let’s see, using my favorite weapon of choice: data!

“Data is mightier than the sword”

Measuring personal satisfaction accurately is impossibly hard. So let’s focus on how time is spent, and consider the enjoyment factor for different tasks. The assumption is that overall satisfaction is the sum of satisfaction over various hours. The more enjoyable each hour, the happier we will be.

We each enjoy different activities. Some people enjoy meetings and PowerPoint, and some people prefer solitude and writing code. In an ideal situation our job is full of tasks we enjoy doing, and mostly avoids things we don’t like.

Being a developer, my job is composed of many different activities: commuting, meetings, code reviews, writing code, trainings, research. I gave each my common tasks an ‘enjoyment’ rating, from 0 to 13, indicating how much fun I found in the task. Meetings aren’t much fun. Writing code is enjoyable. Time spent with family and friends is fantastic. The result was an Excel file.

I find data visualization is a great aid, so I put together a Tableau dashboard. First, let’s look at how much time I spend doing various tasks at my new job, compared to the old one.

The color-coding indicates how much I enjoy the task. Ask you can see, two big shifts happened. The first is a drop in tasks I don’t enjoy: meetings and email. The second is a spike in tasks I do enjoy. The other, more subtle change was a reduction of tasks I am indifferent to, such as commuting

However, this analysis is about comparison, not composition. To see the before-and-after effect, let’s try a different chart.

The height of the line is the cumulative ‘score’, which consists of [Time Spent] * [Enjoyment]. The thickness of the line is the time spent. The effect is quite dramatic. Now I have a better answer of why I feel better in my new job. I would encourage my fellow developers and data professionals to do their own analysis in similar situations. The results can be illuminating.


Retrospective: Leaving Microsoft

27 March 2012

Tuesday, March 27th was my last day at Microsoft. After 8 years I am finally taking the plunge and switching companies. I have been doing a lot of reflection about my this job, and wanted to share my conclusions.


  • I love to work with smart people; I am always be learning, if only by osmosis.
  • A strong engineering group has effective mentors. Lose that, and we’re doomed.
  • I can never know enough smart people.


  • I take pride in my work. It is a personal thing; I have private standards of quality and performance that I am not willing to compromise.
  • The colleagues I trust most take pride in their work, also.
  • I try to admit when I make mistakes. I don’t try to play politics. I am proud of this, because doing this requires a constant struggle to stay honest with oneself.


  • I always need to learn something new. If I am not learning some new trick, best practice, or language, then I get restless.
  • I like to play with my work. I like to experiment. I am not happy if I don’t have the time to do that, and be recognized for it.


  • Trust is my ultimate currency. I have a very hard time working with people I do not trust and respect. A good software and IT team will have professionals that trust each other to do the right thing.
  • The best technical people I know have a finely tuned BS meter. They recognize spin and buzzwords instantly. You can’t fool them.


  • Work-life balance is critical. I am taking a 30% pay cut in order to work 35% less, because the hours were so long. It seems a wise trade.
  • A study has shown that the #1 regret by seniors was they had worked too much, and didn’t spend enough time with their friends and family. I do not want that to be me.
  • Other studies have shown that working your staff more than 40 hours a week doesn’t improve productivity, and in fact harms it in the long run. A smart business doesn’t overwork its employees, because it knows that doing so makes no business sense.
  • Email, Visio, Powerpoint, meetings, planning documents, etc…the overhead is necessary in any company. But it should be kept to a necessary minimum. Customers don’t pay us to be in meetings all day.


  • I like to celebrate victories. Especially my teammates’ successes. I want to be happy for them, and not jealous.
  • I like to work in an environment that’s fun. Ideally one with NERF gun battles
  • If possible, I like to work with colleagues that have a complementary sense of humor.