Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was curious about MS's Software Development Engineer in Test (SDET) position. I've heard a lot of people speak negatively and positively about this position. I was wondering if any current or previous SDETs could comment on a couple of issues.

1) Is career development in any way hurt by this position within and outside of MS?

1.5) Is it harder to get hired as a developer at another company after being an SDET?

2) Within MS culture, how is the SDET position viewed with respect to PM or SDE? Is it respected or looked down upon?

3) If you worked as an SDET, did you like it?

share|improve this question

closed as not constructive by gnat, Eric King, Walter, Martijn Pieters, GlenH7 Jan 17 '13 at 15:30

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

I worked as an SDET at Microsoft for 6 years in DevDiv.

Is career development in any way hurt by this position?

No, however, like career development anywhere: you are in charge of your own success. The problem many people in the SDET role face is that it's too easy to just do manual testing. This slowly atrophies your technical skills and poisons your career growth, both at Microsoft and elsewhere.

Is it harder to get hired as a developer at another company?

Absolutely not, but only if you actually worked as an SDET. Consider the following resume:

  • Did whatever dev asked me to.
  • Filed lots of bug reports.
  • Manually tested every release.
  • Sometimes raised issues during spec and design reviews.
  • Wrote automated testcases in C#.

Now contrast that with this one:

  • Rewrote our automation infrastructure to use virtual machines; resulting in 20% less time for a full test pass.
  • Employed machine learning algorithm (ID3) to identify failures from test results.
  • Became an expert on static analysis tools and found defects in our legacy code base.

Being an expert tester doesn't mean you can't be an expert developer. In fact, I think that it helps. However, if you want to get hired as a devleoper you do need to have deep, technical skills. If you are actually working as a 'Software Design Engineer in Test' this shouldn't be a problem.

How is the SDET position viewed with respected?

Getting back to my previous point, it's easy to get respect if you are able to make a big impact on the team. Across Microsoft good SDETs are celebrated.

However, there are many SDETs that are treated like second class citizens. Usually this is by PMs and Devs who have encountered to many 'plain manual testers' and feel that SDETs aren't worth their time. You can always change this perception by being awesome, but do know that it is there.

If you worked as an SDET, did you like it?

When I was working with a team that respected me, it was a very rewarding experience. The SDET role can be very random at times - with requirements always shifting and changing - but I really enjoyed the variety. Also, there isn't a clear path for a tester. Any way you can find to improve quality is fair game, so there is a big creative aspect too. (Opposed to just banging out feature code.)

But when I was working for teams that didn't respect their testers and/or with fellow SDETs who had atrophied to the point of being dead weight, it was an excercise in pure frustration.

Bottom line:

if you are considering applying at Microsoft for an SDET role, you should feel very confident that it's not a career dead-end and that Microsoft is at a great place to work. However, if you want to be successful and really enjoy the SDET role then you will have to work hard not to fall into the trap of just manually testing. A successful career in any job and any role requires constant growth.

share|improve this answer
Very thorough answer! Thank you! – user15897 Feb 6 '11 at 18:25
To reiterate: (1) consider what kind of highly-valuable testing technology you will be able to bring in when you're hired by a new company or joining a new team; (2) resist complacency, even when under pressure; (3) escape from managers who look down on SDETs, by becoming a better quality champion than your manager. – rwong Feb 6 '11 at 19:10

1) Career development will be affected. Whether it's good or bad will depend on you and your goals. I would recommend sticking with a developer position if you know that's what you really want to do, but if you might become a permanent SDET, I think it's worth the risk to try it out. The SDET market right outside of MS is HOT right now and has been since early-to-mid 2010. It's a great specialty for developers near the main MS campus at the moment and will soon become great in broader and broader areas, IMO, but - like any specialty - you can become less able to do other mainstream development unless you maintain your normal dev skills.

1.5) The best companies will hire you as a dev after being an SDET, and you may even be more desirable because of your cross-disciplinary experience. This is especially true for Agile teams, where such experience is highly valued. However, your chances at mediocre companies or companies whose methods are out-of-date will decrease more and more the longer you work as an SDET. If you think you are only going to be trying for jobs at good companies in your future (likely true if you are on this site), you are probably fine.

2) Within MS, most teams have a lot of respect for SDETs IME (I contracted and worked full-time for a total of 4 years, on 3 different teams). MS SDETs can use lots of cool, cutting-edge techniques to test and really become specialists in testing. I've found they get lots of flexibility in their approaches.

3) I didn't really like being an SDET for the first 3 years of doing it. However, a lot of this had to do with testers not really being respected as much as devs, and feeling like my career was limited to MS. I'm now working outside of MS in a place where companies are desperately hunting for experienced SDETs with good dev skills, and SDETs are seen as experts in their own rights. I'm also much better at my job, which brings its own joy. If I had to, I would still be willing to take a dev position, but SDET would now absolutely be my first choice.

share|improve this answer

SDET is an integral part of MS. If you like the job description you shouldn't worry about other things. It is just that their code doesn't get shipped at all. Also if you do well you can apply for an SDE within Microsoft.

1) Outside MS it depends for the position you apply, you might get hired as an SDE or SDET depends on the requirement and your skill.

1.5) Yes it is difficult for some and a cake walk for others. It all depends on how well you fit into the requirements.

2) Like I said SDET are integral to Microsoft's success.

3) No, I hated the job but again you are not me. I don't intend to work for MS unless hired for a very senior position ;-)

share|improve this answer

SDET's are not respected by the Dev and PM. They are seen as a nuisance and the developers and PM's get together and agree upon a design and hammer out the code. If the SDET files a bug report, the report gets closed as "Won't Fix" or "By Design". There is absolutely no value being an SDET in Microsoft. There are a bunch of SDET leads who are good talkers and are the types who claim credit based off your hard work.


share|improve this answer