Full stack SDET - a story of conflict and misunderstandings
The latest fad and bandwagon folks seem to be jumping on in the recent past is this fixation on what a full stack SDET is. Or rather that it doesn't exist. If this sounds similar to past vendettas like manual testing, automated testing, and others, it's because it is! In this article I demystify what it means to be a full stack anything so that hopefully we can set this to rest once and for all. Let's get to it.
What is a stack?
I think first, since we are talking about stacks, we should define what a darn stack is. In computer and technology parlance a stack can mean many things depending on the context, but they all share one common attribute, it is a collection of things grouped together and more specifically "stacked" on each other.
In the context of software development, a "stack" refers to a set of software subsystems or components stacked on top of each other to create a complete platform. This can include the operating system, the web server, the database server, and the programming languages used to write application software. Two popular examples are the LAMP stack (Linux, Apache, MySQL, PHP/Python/Perl) and the MEAN stack (MongoDB, Express.js, AngularJS, Node.js).
What is a Test Engineer?
A Test Engineer is a professional who specializes in designing, implementing, and conducting tests to ensure the quality, functionality, and reliability of products or software at every stage of the development process. There are test engineers that focus on front-end testing and others that focus on testing the back-end of a software application.
Using the example above, a front-end Test Engineer may focus on component validation of a UI that is built in AngularJS. While a back-end Test Engineer may focus on validating the API (Express.js).
What is Full Stack Test Engineer?
A Full Stack Test Engineer is a professional who specializes in testing both the front-end and back-end components of software applications. This role encompasses a broad range of testing activities across the entire stack of technologies used in the development of a software product. A Full Stack Test Engineer needs to have a comprehensive understanding of all layers of the application, including the user interface, the business logic, the database layer, and the network interactions. Their expertise allows them to conduct tests that assess the functionality, performance, security, and usability of the application as a whole.
Using the example bove a full stack engineer would be involved in every aspect and technology used for the application being developed. From validating the front end in PHP to the back end web services in Apache all the way to the database layer in MySQL. If you think about it, this is actually the role most Test Automation Engineers perform today. This is called end-to-end testing.
So, where is the conflict/misunderstanding?
For a good example, check out this LinkedIn discussion: Do I support Full Stack QA/SDET. This author claims that there is no such thing as a full-stack QA for the simple reason that it isn't practical to become an expert in all layers of the stack. The old "Jack of all trades, master of none" mantra.
Some even went as far as calling the term a "marketing gimmick". So I ask, if we are all professionals in the technology field. Don't we know that the term stack is commonly used in computer engineering and it’s used to signify layers. For example, protocol stack, memory stack, etc. This is not a marketing gimmick!
Check out the thread and you will read the barrage of comments from the author's followers claiming concurrence with the point of view that there is no such thing as a full-stack SDET.
Conclusion/Summary
In summary, I think the notion of a full-stack SDET is not anymore less probable than the notion of a full-stack SW engineer. Full stack engineers are not masters of all trades, they still have their specialties, but they have the knowledge and capability to work comfortably at any layer.
Full-stack means that you understand end-to-end systems from an architecture perspective. Of course there are specialists like front end folks and database experts but that’s not half a stack that’s a specialist working only at a specific level in the stack.
Whether you’re in healthcare or fin tech or social media a stack is a stack regardless of implementation details (react, vue, mongo, oracle, etc). What counts is not the tool (these are easily learned) but the understanding of what the tool is and its purpose on the stack.
IMO, That’s what makes a full-stack anything someone with this tool agnostic understanding of a "stack".

















