www.asthma

Thoughts on software, startups, and other stuff

Life as a Microsoft SDET, from one year’s worth of data

Mar 29th, 2011 by Haji  |   analysis, slider  |  11 comments

It’s pretty common to ask, “What is it like working for [insert the company you work for]“. Often times, regardless of the company, the answers are pretty similar to each other and sound something like “Oh its great! I get x benefit, I get to work on this cool new feature y, and on top of that my coworkers are a lot of fun!” Rarely do people describe what they actually do day to day like “Oh, you know, I spend like 50% of my time in meetings, 25% of my time on email, and 25% of my time on youtube”.

So, what was it like working for Microsoft as an entry level SDET?

*for those of you who don’t know SDET = Software Developer in Test

Using the data I have collected over a year, I would like to answer this question using the second method I mentioned above: What exactly did I spend my time on?

Lets start with the basics. My average work day for a year was 8.37 hours per day, but I also spent 7 days working over the weekends. On those 7 days I spend an average of 5.85 hours at the office. Seems pretty standard job to me.

However, this average over a year can be a deceptive statistic. In reality it was much less steady, and a bit more wavy. At times it got really busy and other times not so much. Many Microsofties will agree with this statement.

My Work Time

Graphical representation of my work days. Sold blue lines indicate the time I was at work

That’s cool, But what is the day to day like?

This is when all the pie charts start coming out. Over the course of the year I spent 71% of my time at the computer and 29% of my time away.

Computer Usage

How much time I spent on the computer compared to when I was away

Your away time?

This was basically anytime that I was not sitting at my computer or I was sitting at my computer and it was idle. This time was a bit harder to track, since I had to manually tag this time, but I did my best to at least get the high level categories. The main time consumers here were, Meetings, Lunch, Training and Other.

My Away time

How I spent my time away from the computer

Other is kind of nebulous. Was I productive in this time or was I was I slacking off? It’s really hard to tell. It basically consists of things like hallway talks / office talk, doing manual tests on a device, and going to the bathroom.

So what were you doing when you were sitting down and working?

Over the course of a year, what you do really changes depending on what part of the development cycle you are in. Luckily, I basically went through a whole development cycle from planning to release, so I was able to collect data that represented all the tasks that I had to work on, and not just that tasks from one particular phase of the development cycle.

Anyways, here’s where my time went:

Computer program used

Break down of all the programs that I used. Applications are listed in clockwise order starting with Outlooks at 17%, Firefox at 12%, Visual Studio at 12% and so on

That was the interesting thing about this. I remember when I started working as a SDET at Microsoft, I had the impression that I was going to be writing automated tests all day long, every day of the year. But this was definitely not the case. I basically spend most of my time communicating.

On top of meetings, I used my number one application, Outlook at 17%, and Instant messaging software (5%), to constantly communicate with my immediate and extended team. Using things like Bug Tracking Software (7%), I communicated the health of our feature and reported bugs. Using test case management software (2%) I communicated what manual tests had to be done by the contractors . And finally using applications like word (4%) I had to create test plans and communicate what kinds of testing we would be doing for the feature. In the end, I spent approximately 35% of my time on communication tasks!

Of course, I did spend time developing and running manual tests (Excel – 4%, Windows Explorer – 9%, Total – 13%) and automated tests (Visual Studio – 12%, Phone Emulator – 2%, Command Prompt – 2%, Total – 16%), but it wasn’t as big of a slice as you would think it would be.

You also seem to spend a lot of time on the internet…

That is true. Two other things that I spent a lot of my time on was investigation, and taking breaks. In working on software as complicated as the software that Microsoft makes, you spend a lot of time investigating how things work and taking a LOT of notes (Internet explorer – 8%, Notepad – 3%, and OneNote – 2%, Total – 13%).

I was also very surprised to see how much time I spent on breaks (Firefox – 12%, Kindle for PC – 1%, Total – 13%). I’ve always considered myself to be a reasonably hard worker, but seeing this really shows you how all those 5 min breaks watching youtube videos and reading blogs really add up in the long run.

A different perspective on working as a SDET

So it turns out that not only will you spend time testing software and creating automation, you will spend a lot of time communicating, doing investigations, going to meetings, and though you may not want to admit it, taking breaks and eating lunch. Hopefully this gives you some insight on what life as an SDET at Microsoft would be like.

Anyways let me know what you think! I would love to read about others who have some data on how they spend their time at their work.

11 Comments

  1. Richard
    Mar 29, 2011

    How did you capture this time to allow for this type of in-depth analysis?

    • Haji
      Mar 29, 2011

      I used a program called ManicTime, that tracks everything you do on your computer in the background.
      http://www.manictime.com/

  2. Shay
    Mar 29, 2011

    Fair play to you for analysing your day job!
    don’t like the aspect of late nights coding on deadline’s, not good for anyone concerned (polite speak).

    PS. You should try using disqus for comments, its really good…

    Shay

    • Haji
      Mar 29, 2011

      Late night coding is never ideal, but sometimes there are firedrills.

      Disqus is something I have been meaning to add… thanks for the tip

  3. tony soper
    Mar 29, 2011

    Brilliant. Thank you for sharing this.

  4. Greg Bray
    Mar 29, 2011

    Great post! I’ve used https://www.rescuetime.com to track my work habbits, and have thought about using their API to create a similar report but never got around to it. Kudos for analyzing the data and posting it online.

    • Haji
      Mar 29, 2011

      Thanks! I also tried rescue time a while back but preferred ManicTime because I could see second by second what I was doing, it was a desktop app, and I liked the analytics better. At the time you couldn’t see what you doing second be second on rescue time, but maybe you can now.

  5. [...] part of my low time goofing off was reading about life as a Software Developer in Test (SDET) at Microsoft. In the post, the unnamed author shares some [...]

  6. Jack
    Dec 10, 2011

    you are screwed. get out of this fucking job.

  7. Vineet Setia
    Mar 05, 2012

    Thanks for sharing sir. I also had the impression of late night coding at Microsoft but you cleared it. Thanks again.

  8. heartBreak Kid
    Jun 09, 2012

    If you have earned a BS in Computer Science, don’t take up the SDET role anywhere. Period.
    Please do justice to your degree, take up a Software Developer role. No compromises on that front.

    Various companies do a great job in marketing the SDET role as being at par with SDE role. Typically, college graduates are looking for a job and want to finish their job search as soon as possible. So a reputed company comes their way, interviews them for SDET role and offers them the position. Students take this up as it is good money and a reputed company and end of job search.
    Companies even pay the same salary to the SDETs and SDEs at the same level.
    However, it is my personal opinion that if a software engineer spends, say, 3 years in an SDET role, his coding skills severely diminish.
    That SDET has to work extra hard just to maintain his/her coding and design skills polished.
    Compare to an SDE who has spent 3 years in a Developer role, nothing can stop that engineer from bagging the next career defining job.

    SDETs are not at all better than Developers in terms of coding skills.
    Simply speaking, SDETs come at the bottom of the food chain. All the crap that Devs and PMs put in, SDETs have to deal with that.
    It becomes more kind of an administrative job in looking after the test pass, building some automation infrastructure module, doing sign-offs.
    Even worse, SDETs do not know the ins and outs of the product. If a bug comes in, it is the developer who ultimately fixes it, not the tester. Tester simply does the sign-off. Pretty lame, right?
    The SDE is the one who is closest to the product and understands the limitations of the software.
    Once you spend 3-4 years as an SDET, other companies do not interview you for any other role, but SDET. So even if you want to switch to an SDE role, it is tough.

    Some smart engineers who do join as SDETs change to Developer at the first opportunity given to them.
    I know at least 10 persons who joined as SDETs and then changed to a Developer role as soon as the opportunity came their way.

    I even know couple of people who were SDEs and then switched to SDET roles. I wonder what made them take this decision. Perhaps poor performance in the developer role, or maybe no career aspirations. Or maybe they like to do the crappy work and destroy their coding skills. Or perhaps, they like being called a “Tester”.

    I am going to put in a simple way: If a fresh college computer science graduate comes to me and says that he has 2 offers in hand. One from a reputed software firm offering SDET role at a salary of $105K. Another from a startup/reputed firm offering an SDE role offering a salary of $90K. I would tell that person that it is a no-brainer and take the SDE opportunity immediately. Don’t even think about letting that tester tag get attached to you. I would tell that person what crappy work/future lies ahead if he/she becomes an SDET.

    Lets say an SDET at Microsoft does good work and is good in coding. No matter how good that person is in coding and designing skills, he will be interviewed for an SET in Google, SDET in Amazon, SDET in Netflix and so on. Even the recruiters who first interact with the candidate, are not ready to let that candidate interview for an SDE role. Such is the curse of being an SDET.

    So take my advice, if you are an SDET, start thinking about what you want to become. And if you have slightest doubt in mind about your current role, start interviewing for SDE roles.
    Live with dignity and do some mainstream software development work. Doing the test work, you will be always at the fringes. It is hard to gain respect as a “Tester”.
    Give me one example of a software engineer who was an SDET and went on to become an Architect, Director, General Manager, or Fellow? None. Every single one of them have been SDEs in the past, not SDETs. I have seen some Test Architects but that sounds to me like a lame position.

    The interview bar is also lower. I know many test contractors, who have become full time SDETs. So even people without having a computer science degree can become SDETs. But I haven’t heard of a person who became an SDE and not having a college degree. There are always exceptions and I am talking about the 99.99%, not that exceptional 0.01%.
    Any recruiter who tells you that interview bar for an SDE position and an SDET position is the same is fooling you.
    I have heard many cases, in which recruiters are simply telling the candidate this – “Join as an SDET or don’t join at all.” If they themselves mention that bar is the same for both SDE and SDET, then why not interview once and ask the candidates whether they want a SDET role or an SDE role? It is all a big lie from the recruiters.

    Why this facade then? An SDET is ultimately a Tester, not part of the mainstream development. You are not doing justice to your degree. I know many SDETs who are not at all good in coding but surviving, somehow.
    Tell me honestly, do you like being called a “Tester”? I don’t. I prefer being called a Software Development Engineer.