Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Having been hired as a developer (5-6 years experience), I suggested to my employer that I also take a formal responsibility for our work with automated testing. Basically I find it interesting and stimulating to work in TDD-like ways, and want to drive this culture in the company I work in.

But, what would you call this type of job position? I would like to specialize more in automated testing and TDD, and improve my chances of getting really interesting such jobs in the long term. So what would be a good title for this?

My fear is that I would eventually come off as a QA testing engineer, which I would say is misleading since I work mainly as a developer.

Suggestions: Software Engineer in Testing?
Testing Architect and Developer?
Automated Tests Developer?

Anything better?

share|improve this question
6  
How about 'programmer' .. I think your area of focus is rather incidental. –  Tim Post Dec 9 '10 at 12:35
2  
Oh! I thought this was going to be a joke. Like "What do you call a programmer with a shovel on his head? Anything you like, he can't hear you." –  Matt Ellen Dec 9 '10 at 13:02
    
I think that TDD won't work if you're the only one doing it. What would assert you that if all your tests pass, a change won't break something there is no test for? And BTW, it's much better to write the tests before writing the code to be tested. Read this c2.com/cgi/wiki?RefactorMercilessly –  Trinidad Dec 9 '10 at 13:37
    
Why do you need another title? –  Walter Dec 9 '10 at 22:05
    
This question sounds like the lead-in to a joke. –  Joel Etherton Oct 27 '11 at 11:41
add comment

closed as primarily opinion-based by gnat, MichaelT, Bart van Ingen Schenau, Kilian Foth, GlenH7 Dec 5 '13 at 16:44

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

6 Answers

up vote 12 down vote accepted

You're still a Programmer.

You just happen to know TDD. That's a programming skill, not an expertise. It doesn't alter your job (programming), it's just another way to approach your job which some workplaces will use and some won't.

Teach yourself Agile and find a place that uses it. They will probably use unit tests and may use TDD (I don't know how many Agile development environments enforce TDD).

share|improve this answer
add comment

What do you call a developer with automated testing specialty?

A good developer.

share|improve this answer
add comment

It may depend on what you mean by automated testing.

Until 10 years ago automated testing using tools such as WinRunner was almost exclusively a System Test discipline. Agile and XP were in their infancy and automated unit testing wasn't common place. Generally the only automated testing going on was automated system and regression testing and this was being done within the test function.

TDD, Agile and so on have obviously changed that with developers increasingly writing automated tests but there is still a divide.

TDD and agile primarily focuses on unit testing - that is testing of individual modules, classes and routines at a code level. This is part of the developer role and - if System Testers are involved in the project - will have been completed prior to any release to the test team.

Automated System Testing (which I'll call it to distinguish the two) on the other hand covers full use cases from an end user perspective and tests through the UI. In my experience, this still remains the responsibility / remit of the test team and should do so as in large part the knowledge of what to test and how to test it (which are system test rather than developer expertise) is often more critical than how good the actual test code is.

So, the question is which are you doing. If it's TDD / agile / automated unit test then you're a developer / programmer, potentially one with a specific interest in automated test and TDD which you can highlight on your resume / CV.

If it's the later then yes, you are moving into system testing / QA and wearing two hats. If this is the case and you want to make your primary hat the developer one, I'd still call myself a developer but list the automated system test work amongst your skills and experience alongside your developer work.

share|improve this answer
add comment

If you are working exclusively with automated testing (e.g., writing tests and testing tools but doing little-to-no actual product development), then you are an SDET (Software Development Engineer in Test). Otherwise, you are a developer / programmer with excellent testing experience.

I have been an SDET for 5 years. It is a title that originated at Microsoft and is now being adopted by many other companies. Try searching for SDET on Monster and Dice.com to see if the descriptions of what people are looking for in that role match what you want to be doing.

share|improve this answer
    
Agreed this is the title of people I know working in this area at Microsoft. –  RationalGeek Dec 13 '10 at 20:57
1  
Ditto at Google. –  Ross Patterson Oct 27 '11 at 19:16
add comment

I personally just call them developer :), I prefer that all developers I work with appreciate automated tests and testing, in my mind having only one team member working on that aspect is a point of failure.

I'll get off my 'Agile' High Horse now :)

share|improve this answer
add comment

You're an Agile Developer

But be careful about the distinction between "automated testing and TDD." If what you do is test automation (here's a test, let's automate it), then you come off as a "QA testing engineer." If you apply TDD and write unit tests first and also apply other test-first approaches (e.g. BDD/ATDD/specification by example), then you come off as a software developer in command of agile technical practices.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.