Thursday, March 24, 2011

Software Developer and Test (SDET)

At Microsoft, there are three roles they hire interns for: Project Manager (PM), Software Developer (SDE), and Software Developer and Test (SDET). Over the summer, I will be working as an SDET for the ASP.NET group. Today I want to describe what the SDET role is, and compare it to the other roles.

Almost all software companies have PMs and SDEs, the PMs work on the design of the software system, and manage the team working on the project. The SDEs do the programming, they write the code that makes the software work. Their challenge is to write the best code possible, using the best techniques, algorithms, and programming languages, but also, senior SDEs can be involved in the design process with the PMs because they have their own perspective of the software system.

Generally speaking, the SDETs are in charge of testing the software. That means a lot of different things at Microsoft, and includes testing the design of the software for potential bugs, testing the functionality of the software product, testing usability, portability, and a wide variety of other factors important to the customer. Also, SDETs try to break the software to uncover bugs, which often involves a lot of programming to produce test cases. 

Software testing is a very important part of the software development process, but is a part that is woefully ill-practiced at most small software companies due to time and budget constraints. Testing at Microsoft, however, is very important because they produce large, complex software which is used by hundreds of millions of people. In other words, code correctness and reliability are of the utmost importance at Microsoft, and they hire almost as many SDETs as SDEs to obtain a high standard for code reliability.

No comments:

Post a Comment