Micro Focus is now part of OpenText. Learn more >

You are here

You are here

The dangers of becoming a full-stack tester

Michael Fritzius President, Arch DevOps, LLC

An increasing number of firms are now on the hunt for what they call "full-stack testers." What they mean by that is people who can test everything in the company's process, and do so at garage-sale prices. It may appear to these firms that they're getting high quality at low cost, but full-stack testing comes with significant dangers.

It's not just that there's the potential for missed bugs and delayed delivery. There are also dangers for the professionals working in software testing and quality assurance (QA), and even their employers.

Fortunately, there is a straightforward way to avoid some of these dangers and, in the process, create a more rewarding career. It's called "niching," and in an age when everyone seems to want all their testers to do everything under the sun, it may sound counterintuitive.

However, while some hiring managers might advocate for becoming a generalist, niching is a real, potentially lucrative option—and it works as a career strategy. Here's what you need to know.

The desire for full-stack skills is broad, but limiting

Managers, recruiters, and even testers are drawn to the lure of solving any problem at any time. Nobody ever wants to say no to a project. It sounds like an admission of defeat or a lack of skill, but the reality is quite different.

The challenge is that requiring testers to develop familiarity with everything doesn't allow them to build the deep knowledge they need to solve the unique problems that inevitably arise. They'll be forever learning, and never applying that knowledge.

That also keeps them from advancing to a more senior role, which often involves more critical thinking and strategy, rather than rote execution. It may sound like a paradox, but trying to broaden your skills by becoming a full-stack tester will limit your QA career development.

The dangers of requiring full-stack skills affect everyone

The most visible impact is on testers themselves. Trying to do everything for everyone ultimately leads to burnout. This results in increased stress, frustration, fear of losing a job, low performance, job hopping, and, in the extreme people leave the profession all together.

Some testers move to business analyst or project management roles, which use overlapping skill sets, but don't have the overwhelming and burdensome requirements to be able to do everything. This allows them to focus on what they do well, and to continue to do it even better.

However, they may have had to leave something they loved and potentially taken a pay cut to do so. That can have a big impact.

A second danger is to software development firms. When their testers are overwhelmed, they're not performing at their best. This leads to excess bugs, delayed delivery, and lower end-user satisfaction. That's not good for their reputation or their bottom line.

Full-stack doesn't scale

Plus, requiring a full-stack tester for every role is not a scalable strategy. Full-stack testers are few and far between, which means that, if you need to ramp up your team, you'll do better to focus on getting the specific skills you're missing rather than shooting for the moon.

There is a danger to the software testing industry, too. We need to keep smart and dedicated people around. If they get frustrated and leave, the testing profession won't have the innovative problem solvers it needs to advance our craft in the future.

Those huge lists of requirements are barriers to entry that are more likely to scare away the next generation than attract them. If you don't have anyone stepping up to fill tester roles after the good ones retire or get promoted, what's going to become of testing itself?

Finally, don't forget that end users are at risk when the requirements for testers are too broad. When software development companies can't find the right people to test their products, users get a lower-quality product on a delayed time scale. They don't get what they need to serve their own customers or clients, so their reputations and profits are affected.

With all those downsides to full-stack testing, how can software testers position themselves better?

Choose your niche and go deep

Niching may look a little different for everyone, but it boils down to concentrating on a specialty and going very deep in that area. Rather than trying to do everything for everyone (and burning out), niching allows for a more satisfying and lucrative career.

It's no secret that brain surgeons have more specialized knowledge and skill than general surgeons. And because they are solving deeper problems that can be understood only with those specialized skills, they are compensated more, and they are sought out for opportunities to use those special skills.

A niche within software testing might be a specific type of test: functional testing, performance testing, security testing, penetration testing, etc. Or it might be testing for a certain industry: medical, or education, or consumer goods, and so on.

The deepest niche would be to combine the two and concentrate solely on functional testing for the medical industry, for example. That's going to provide a tester with the chance to have the deepest, most precise skill set to bring to the problems that will arise when it comes to functional testing of new medical software.

When testers do this, they increase their market value, just as a brain surgeon is more valuable than a general practitioner. They get good at what they do, and they get compensated more, because they're more valuable.

Owning a niche has its benefits 

It’s not just the technical skills that improve with niching. Testers can realize significant emotional and empowerment benefits as well.

First, testers can give themselves a significant amount of confidence in their skills when they know they're focusing on just one thing, and not worrying about what they don't know how to do. Dedicating your time to functional testing means you're going to know much more about that specific aspect than those who have only scratched the surface.

It's quite freeing to be able to attack that next-level problem within your niche and know that you have the skills to take on those challenges when they arise.

Along with confidence comes focus. When you’re bouncing back and forth all the time between functional testing and performance testing and security testing, you often end up losing momentum and your train of thought. Picking just one allows you to remain focused and dedicated to the tasks at hand, which gives you a faster delivery and a better-quality work product.

A third benefit of niching is empowerment. This is the opportunity for testers to perform adjacent work to their niche.

If you get known as an expert in functional testing for medical professionals, that doesn't necessarily mean you're pigeonholed and destined to work in that very narrow niche forever. Inevitably someone will hear that you're great at functional testing for medical companies, and they'll ask, "Okay, but can you do it for something that's kind of like medical but not quite?"

Your answer will be, obviously, "Of course I can." And thus, choosing a niche and going deep within it solves the paradox and gives you a broader range of opportunities.

Avoid the full-stack trap: Be a niche player

Yes, becoming a full-stack QA tester has cachet, but it also presents career dangers. It's loaded with potentially overwhelming expectations that create stress and may drive many testing professionals out of the industry. What's worse, companies and their clients don't get the high-quality products they need.

So pick a niche and go deep. Not only will you gain significant improvements in your technical abilities, but you'll also reap emotional the benefits of owning your niche. That's as valuable as any certification.

Keep learning

Read more articles about: App Dev & TestingTesting