I was recently talking with a recruiter who wants to put me at a company for a position of Developer in Test. He essentially made it sound like a position where you get to fiddle with new programming techniques and test bugs and improvements in software but where you don’t need to worry about standard deadlines. You get to be very creative in your work.
But that description was still kinda vague to me. I have been a Web Developer for a number of years now, mostly working in PHP. So I wanted to know if others in the community know more about what these positions typically entail.
I know that this might not be a subject appropriate for this forum, but it was the best fit I could find among Stack Exchange and I would really appreciate it if this wasn’t closed since there is really no where else here to ask about it.
I have tried Googling it, but there isn’t a lot of information out there. So what exactly is a Developer in Test?
7
I am a Software Development Engineer in Test, and have been at 2 separate companies. Currently I work for Microsoft.
Broadly speaking, Bryan Oakley is correct: you write software that tests software.
Beyond that, it depends on your level of experience, the scope of your responsibilities, and the type of software that the employer would be producing. An SDET position can include writing anything from the basics of feature level verification tests, to writing and maintaining test infrastructure to run those tests. It’s also not uncommon to have SDETS that specialize in focused testing for certain types of requirements (testing security, performance/scale, usability, etc. are examples that immediately spring to mind).
The description that you received from the recruiter sounds like a poor selling technique.
- You’re not fiddling; you have n days to get automated test coverage over x features deployed in y different supported environments in z languages.
- Oh, btw: those tests have to run fast enough for the devs to have a quick dev/test cycle because…
- No standard deadlines? You’re in charge of the quality of the product and the release date was set by marketing 6 months ago. The dev team is 6 weeks late delivering a stable build to your test team, and the company isn’t pushing that release date (again). Is the product or service stable enough to release to a couple million (billion?) people, on the same day?
- …and if (when ) customers call in with problems… “Why (the hell) didn’t you catch it first?”
I hope that gives you a bit of an example of what being an SDET is like.
4
“Developer in test” usually means that you are in the QA department or in a QA role, but the focus is on writing automated tests rather than on creating and running manual test cases. Thing of it as writing software to test software. It can be a particularly challenging career choice because it takes both programming skill and a good understanding of software testing.
However, different titles mean different things to different companies, so the definitive answer must come from the recruiter.
3
A SDET role is pretty much what you make it, as evidenced by all its different names: QA/Developer, QA Engineer, Automation Developer. My current title is actually Test Engineer, which I had never heard it called prior to taking this job. Regardless of the specific title, it is a new position in most companies, so the expectations can be loose. “Help us automate our testing, and stuff…”. The stuff could include CI tools, API testing, cloud services, integration with internal systems, etc.
Another aspect of the job I don’t see in this thread is process improvement. SDET’s typically have been doing QA for a while, and again, typically, they are more technical than the rest of the QA team, including their manager. They know a lot about the system under test, i.e., “where the bodies are buried”. For these reasons, SDET’s tend to get listened to by management, and can have a lot of influence on process–not just testing process, but how the product is built. Which can be cool, if you’re into that.