8

While researching what an SET is and how they work, I noticed google's career page doesn't have this role currently. Only Software Engineer & Test Engineer. Also most of the material i'm finding on this subject is 5+ years old. Has the cutting edge moved on and left SET in the dust?

Edit: I am not asking if automated testing is going away. Some old material from google suggested that automated testing would eventually become the responsibility of the SWE role. My question is more - has that change already happened?

  • 2
    Not really answerable. It depends how your company defines SET. Until developing general AI and self-programming systems, someone has to test them. And few weeks after developing general self-improving AI, human civilization might be over, so it would not be a problem. – Peter M. Dec 28 '17 at 14:57
  • 1
    Also, we need a better definition what is your definition of "SET and how they work", and "being in style" vs "left in dust". Are you claiming that (automated) testing will go away, replaced by X? – Peter M. Dec 28 '17 at 15:46
  • @PeterMasiar I added an edit that will hopefully clear up what I'm asking. Since I want to know where the industry is trending, my personal or company definition of SET isn't relevant. – samspot Dec 29 '17 at 15:09
  • Your edit added no clarity. All depends on what your definitions are, what skills you have and want to grow, what industry, what country, what job market. And by your own definition, any answer would not be valid next year, or for different person, with different skills working in different market. Such questions are usually closed as "primarily opinion-based", which this one very obviously is. It is not personal. This is NOT a forum to get personal advice about your career. – Peter M. Dec 29 '17 at 15:15
  • "A rose by any other name would smell as sweet".-William Shakespeare. – Vishal Aggarwal Dec 30 '17 at 0:21
6

You use Google as your example . . . While Whittaker detailed the SET and TE roles previously (and in How Google Tests Sofware), those titles have gone away as they switched from SET to "Software Engineer, Tools & Infrastructure (abbreviated to SETI)".

  • This is exactly what I was looking for thanks! I was even on the Google Testing Blog but didn't find it. Any insight if it's changed at Google since 2016? – samspot Dec 29 '17 at 15:16
  • From the article you linked I found the postings, and the job description is very interesting: careers.google.com/… BTW I'm still interested in non-Google specific insight, if anyone has it! – samspot Dec 29 '17 at 15:54
7

OP: Your question suggests that role of SET ("a programmer developing tests for designed system") is being replaced by something else, but your questions does not mention with what.

Automated testing is NOT going away, so some companies will call it by different names but concept ("a programmer developing tests for designed system") is here to stay for foreseeable future.

What might change is tools and methods it uses, and how company calls that position. So as always, be prepared to learn new technologies (or, as you said, be "left in dust"). For a competent, skilled programmer there is nothing to be worried about (except general AI), but also there is not shortcut, no silver bullet. You have to continue to run on the technology treadmill, as some technologies are becoming obsolete and being replaced with new ones.

Who might be worried is a semi-competent apprentice (code monkey) who barely learned single technology and stopped learning (or instead of consistently enhancing his skills by honest hard work, is trying to find unfair shortcuts, technological silver bullets, which will give him advantage without work. There is no silver bullet. All there is: hard work to keep up.

I know, it is a delicate balance between keeping up with new technologies, and being so obsessed with them to the point using unproven non-mature technologies in production with disastrous results (or forced upgrades/conversions).

To avoid mistakes, you need good judgment. To have good judgment, you need to learn from past mistakes. There is no replacement for experience.

Until developing general AI and self-conscious, self-programming, self-improving systems, someone has to test the code. And few weeks after developing such general self-improving AI, human civilization might be over, so it would not be a problem.

  • Automated testing is only part of testing in general. As a tester you should do both. Manual - for bug hunt, automated - for regressions checks. Automated tests usually does not look for bugs, they only verify that product still works. – Artur Korobeynyk Dec 28 '17 at 14:57
  • 1
    @ArturKorobeynyk - We are in violent agreement. But OP is not asking about manual testing (which I also agree will not go away anytime soon), OP is asking about SET. For a SET, manual testing would not be the primary focus, but it would be (automated) unit tests and e2e tests. I am well aware of the limits of automated tests (which should be called automated checks), as you can see from many of my other answers. So maybe we have different understanding what SET means and does? – Peter M. Dec 28 '17 at 15:44
  • Honestly, everyone in tech needs to be prepared to learn new technologies. And as much as people don't want to admit, anyone in any industry needs to be prepared to learn new technologies... Any given Monday your managers will introduce a new system you have to learn. It's either that or be replaced by robots, people... – corsiKa Dec 29 '17 at 6:42
  • This is a nice writeup but not really what I'm looking for. I'm in a position to influence my company's long term view of automated testing and I want to understand better how roles are aligned on the bleeding edge before I try to make a move in a particular direction. The big question is should we continue to have a distinct SET role now and in the future. It appears that Google has done away with that distinction, but there is only so much I can infer from a job board. They seem to have gotten quiet about how they test since James Whittaker left. – samspot Dec 29 '17 at 15:13
5

SET/SDET type roles are not going out of style. They're just getting relabeled into things like "Shift left", "T-Shaped testers" and the like.

What matters is not the name given to the role: what matters is the skill set required to fill the position.

Quite simply, no matter what title is given if a position is asking for skills like:

  • Design, build, maintain automated tests
  • Create tools for testers
  • Specific programming language expertise with an emphasis on framework knowledge

Chances are that position is for what you're calling SET.

  • SDET in my area has a very negative connotation, so it's not surprising job titles are shifting to try and sidestep that association. – TemporalWolf Dec 28 '17 at 21:12
  • Thanks, learning the alternate names for this type of role helps! – samspot Dec 29 '17 at 15:49
3

In the past 5 years in the local Boston/Cambridge(MA) I have seen demand continue to increase. The terms I see used most now are SDET (not SET which might account for your issue) and Quality Engineer (QE). I myself try to use Automation Engineer to try and level the playing field with the folks with the title Application Engineer. Both AE's are Engineers and write code and neither should be a second class citizen (frequent issue).

2

I think Microsoft also left only software engineer positions. Well it does not matter if you are a developer or a tester. As a tester (even manual) you should know development processes good enough to work as a developer and to know what they are doing. I think of myself more as a manual tester but still I write a lot of tools in a lot of languages to help me in tests. And I am able to back up a developer when it is needed. How can you test something if you don't know precisely how it is created?

2

SDET is just a rare position. Some software companies don't have testers at all. Most software companies that employ QA's have about a 4:1 developer : tester ratio. The number of manual testers in the industry vastly outnumbers the amount of SDET's, especially because that mirrors the availability of personnel (everyone is sort of capable of testing software, but SDET's can rarely be found, especially if a company is preferring to hire locally).

My first software job was as a manual QA, after which I carved-out my own automated testing role, which was partially to save my own labor, improve my productivity, and broaden my skill set. Because of the specifics involved with the code base's technical debt, how frequently I needed to re-run a huge suite of manual regression tests, and the unreasonable aggressiveness of our release deadlines; automated testing was almost mandatory to continually assure quality within the deadlines.

After I was hit by a round of layoffs (don't read too much into this, really), I found that there were a lot more software developer positions in town than software QA positions, and I did not see any SDET positions in town at all (to give you a sense of their general ratios). Eventually, I interviewed for an opening for an "Integration Developer" position, and after I told them my skills, they hired me essentially as an SDET.

Anyways, most software companies could benefit from SDET's and many could appreciate the value of them. But SDET's are pretty rare. Usually QA's don't have (and don't want to learn) computer science skills and developers want to engineer production software. Although companies rarely seek SDET's, they also rarely say no to a manual tester who wants to automate. This is a valuable and valid role. But it is rare from both the supply side and the demand side. The demand is rare because it requires multiple levels of buy-in. -Do we make software that needs to be maintained over multiple release cycles? (Consultants often don't.) -At a minimum, developers should at least test their own software, right? -Should we also hire QA's to test the software better than developers can? -Should we go one step further and hire automate testers to improve our efficiency? -Are we really a big enough company to supplement our fleet of manual testers with a few SDET's? -If we actual got budget approval to hire an SDET and we posted the opening online, do we actually believe there is an SDET somewhere here in town? Chances are pretty slim. -Should we even list SDET as a separate position, or should we just consider all QA and developer applicants as potentially bleeding into SDET roles? -Okay, we decided to hire some SDET's. Then we hired them. So now we have no remaining vacancies for SDET positions.

2

Armed with specialized testing knowledge of multiple tools, techniques, best practices, and processes, SDETs today have become a crucial part of development ecosystems. Based on their development experience, knowledge of technical architecture and design, and their programming skills SDETs are required to write a code to test the code written by developers. In addition, they are also required to write unit tests and also perform white box testing.

0

I think the title is somewhat out of vogue, while the actual job is still being done by people being called Quality Assurance Engineers, Automation Engineers, SDETs/SETIs, or just Test Engineers.

In my experience the desire for test automation and the need for people who are both competent coders and knowledgeable QA/Test designers is higher than ever, but titles vary based on how much manual testing, test plan design, framework development, etc is also expected.

0

What are terms are you searching on? And what exactly are you looking for? Testing is definitely not dead.

Often in testing you need to search on a variety of terms as people use different titles to mean the same thing. Automation, checking, testing, tester, software tester, QA, Quality Assurance, development in test, qa engineer, test engineer, software development in test, etc

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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