SDET Job Description, Salary, Role, Responsibility Guide

I’ve been asked many times to define the difference between a software tester and a software developer that I decided to finally write a post on it.

What is an SDET?

First of all, if you’re wondering what SDET stands for, it’s software developer engineer in test. I’ve also seen it listed in job descriptions as “SET software engineer” in tests.

I first heard of the role of SDET from Microsoft, where I believe it originated. But I think now it’s the norm within most high tech companies—especially the ones in and around Silicon Valley. Although I think Microsoft has dropped this title it lives in companies like Amazon and Google and in job posting.

You can also see the trend for the number of times the term “SDET” is searched in Google:

With the growth of Agile, DevOps and Continuous Testing the role of an SDET is on the rise. With more and more companies shifting left in their software development lifecycle, the need to run tests and get quick feedback to the developers is critical.

Differences between SDET, QA, Tester?

Because of these developer-like activities, it requires a unique set of skills; someone who understands testing and can also program.

Enter the role of an SDET.

Very often SDET is involved in both white-box and black-box testing—all the way from helping create low-level unit tests to high-level activities like test planning and manual testing.

SDETs also have skills that make them perfect resources for creating automation frameworks and tools.

Here’s the thing.

They really are a hybrid-type of role.

I’ve also found that there are many excellent testers that don’t have the skills or desire to code.

That’s fine.

But I think there’s a need for more SDETs at most companies to fill in the gap between developers and traditional testers. Having an SDET as part of your developer’s code reviews(like Alan did) to make sure this is happening is crucial if you plan on having your developers focus on test driven development.

Can Developers Even Test?

Some folks will say that developers can’t test because development and testing are two different skills that require two different systems of testing.

Alan Page, one of the most respected testers I know, doesn’t feel this is an issue.

This is where someone in an SDET role can step in to help lead the team with their developer-centric testing efforts.

Alan went on to say, “I probably spent three months straight reviewing code—about two to three hours a day of all the check-ins for our team, just reviewing the test code and giving feedback. I don’t need to do that anymore because I have developers who, for the most part, write pretty good tests, and they kind of get it now.

Of course, I think you need someone like an SDET to make sure when the developers are under pressure to deliver quickly that they don’t skimp on the testing quality.

SDET Skills Job Description vs. Testers

So what’s the difference between a software tester and an SDET?

One way to find out is to check job descriptions on hiring sites like indeed.com, Dice or Simply Hired.

Software Test Job Description Example

In any software development lifecycle, a software tester plays a key role in the process.

Although many teams have moved to Agile I know many testers still report to quality assurance or engineering quality control department.

As a tester receive a new software build or function at any stage in the software development pipeline they put the program through a variety of tests, documenting the software’s response.

One of the key components in testing is documenting the steps performed in software testing; documentation is especially important since it is often key to helping programmers and software engineers discover coding problems.

Another key aspect of the tester’s work is finding repeatable crashes and bugs in a program.

SDET Job Roles and Responsibilities Description Example

Software development engineers in test (usually abbreviated as SDETs), are software developers working within the testing team. He or she has full access to code and carries a variety of responsibilities. One of the key things that set the SDET apart is his or her access to code; he or she actively participates in debugging and altering the code as necessary. In this capacity, at times, the SDET almost assumes something of a hybrid role between the developers and the testers.
Additionally, the SDET normally identifies areas within the program requiring further or varied testing and helps design and set these tests up and participates in administering them. An SDET also looks to identify ways that end users and consumers will work with the software and helps create the best experience possible for the intended user by identifying areas needing continued adjustment.

To work as an SDET, a person typically must possess an educational background in programming and computer science, typically with a bachelor’s degree in computer engineering or a related field. SDETs typically gain practical experience working both in development and quality testing or assurance as well. They typically work in a computer lab and development environment during regular business.

But if you look for an actual open position for an SDET on a job board, you can see what a more specific job description looks like. (I also find it helpful to look at job descriptions even if I’m not looking for new employment just to make sure I’m working on the right skills to keep me employed.)

Here is an Amazon SDET job listing

Here is another software developer in test position job requirement for a healthcare company

As you can see, both jobs require someone who has both testing and programming skills. (Also notice the emphasis on automation tools for functional, API and performance testing.)

If you’re looking for the different levels of software engineers at companies like Microsoft, Google, and Facebook, you can see them on the site Levels.

SDET Salary – Pay Difference between a Tester and an SDET

Besides skill differences between the two positions, you’ll also see a significant salary difference.

Once again, the site Payscale shows that the national average for an SDET is $88,000/yr, and a Software Tester has an average yearly salary of $55,501. That’s a difference of over $32,000!

If you look at the job descriptions of skills that can bump up a tester’s pay, many of them are SDET-related skills like:

I know from my experiences with finding and hiring people with all the required skills can be difficult. So if you like the challenge of testing and enjoy developing code, a career as an SDET might be the perfect choice for you.

SDET–The Sand Castle Test

“I think you can really see who is going to be a developer or tester by going to the beach when you’re small kids. The developers will be making sand castles and the testers will be the kid that enjoys breaking the sand castles. And I was the strange kid that liked to do both—create the sand castles then break them.”

Stay Current

Of course, the key to keeping or obtaining a better job in a technology-based field is to always be working on your skills. If your a tester or already an SDET check out the yearly Automation Guild to make sure you stay up to speed with the latest tips. tools, technique and best practices you need to succeed with creating automation testing.

Copyright text 2019 by Joe Colantonio | TestTalks Privacy Policy Disclaimer All the contents of the Blog, EXCEPT FOR COMMENTS, constitute the opinion of the Author and the Author alone; they do not represent the views and opinions of the Author’s employers, supervisors, nor do they represent the view of organizations, businesses or institutions the Author is a part of. Privacy Policy | Sitemap