  Software Quality Assurance (SQA) Engineers are responsible for assessing a
product during every phase of the software development process to ensure that
the outcomes of each phase and the final product possess the desired qualities.
In general, a great SQA engineer needs to have a different set of abilities
from development engineers to effectively oversee the entire product
development process from beginning to end. Recent empirical studies identified
important attributes of software engineers and managers, but the quality
assurance role is overlooked. As software quality aspects have become more of a
priority in the life cycle of software development, employers seek
professionals that best suit the company's objectives and new graduates desire
to make a valuable contribution through their job as an SQA engineer, but what
makes them great? We addressed this knowledge gap by conducting 25
semi-structured interviews and 363 survey respondents with software quality
assurance engineers from different companies around the world. We use the data
collected from these activities to derive a comprehensive set of attributes
that are considered important. As a result of the interviews, twenty-five
attributes were identified and grouped into five main categories: personal,
social, technical, management, and decision-making attributes. Through a rating
survey, we confirmed that the distinguishing characteristics of great SQA
engineers are curiosity, the ability to communicate effectively, and critical
thinking skills. This work will guide further studies with SQA practitioners,
by considering contextual factors and providing some implications for research
and practice.
