Software quality is the result of obvious behaviors that either please the customer or make their lives difficult.
The job of a software quality engineer is to encourage and enable good products by preventing, detecting and reflecting on issues that affect the customer. Working day-to-day, development teams become used to half-finished functionality, difficult configurations and odd behaviors and so become blind to affronts to the users.
It is my job to find and question the unspoken assumptions, and to provide fresh eyes.
In particular, I work with my team to build a common understanding of what a product should do. Every time I discover divergent opinions of the software and get the team to resolve them, I have prevented a problem from entering the code. Additionally, I make visible the commonly-known techniques for early defect detection, such as unit testing and code reviews.
The quality process includes testing. I am particularly passionate about building testing infrastructures.
The software quality engineer also needs to collect user experiences, either through direct interaction or by analyzing the customer defects and support calls. This data is used to hunt for functionality that is at-risk, or under tested, and to help build a customer model that can help my team prioritize issues.