If I were to take a look at everything I enjoy in life and boil it down to my two favorites (setting family on its own pedestal, of course), learning and musicianship would stand higher than the rest.
My love of learning has taken me in many directions both personally and professionally over the years. And like so many individuals in tech, my career began in an unexpected place.
I worked in printing, as a mailing supervisor, personal trainer & corrective exercise specialist, and database engineer. These careers helped me develop specific skills that I use in QA every day.
Creativity & Analytics
Music requires creativity. My calculus professor dual-majored in music and mathematics. She told me a story of how, when she presented this idea to her counselor, they said, “Well, those two things don’t have anything in common.” To which she responded, “Then I guess you don’t know much about either.” Creativity and analytics hold a symbiotic relationship in music — and in quality assurance. On one hand, knowing basic music theory helps you understand which chords lead to other chords and how to form a melody. However, once you get to a certain level, it’s time to keep those basic rules in mind, but also know that the rules can be added to or outright broken. Testing basic requirements is necessary — but the real fun begins after those requirements are tested. Finding creative ways to test the functionality of an application, letting pages sit before moving forward, tapping multiple inputs simultaneously, mocking different error cases, testing form validation. Knowing when to break or add to the formula is key in music and quality.
Min-Maxing
As a gamer at heart, I’ve always been a min-maxer. For those not familiar with this term, here’s a great definition. Whether it’s figuring out the best build order in Starcraft or optimizing my character in Dark Souls III, Path of Exile, or the Diablo series, I’ve always tried to maximize output and minimize undesirable outcomes. Same is true for music, making sure my practice on my instrument is an effective use of my time. This trait is great for a quality assurance engineer because it helps you focus on being efficient with your time. Testing the most appropriate features more extensively, testing cards together if possible, etc.
Risk Mitigation
While working in the fitness field, focused on corrective exercise, a lot of my work was identifying the inherent risk of injury in athletes, sedentary individuals, and the elderly. A large part of the quality assurance role is identifying potential issues before they manifest. Identifying a defect during a PR review holds definite value. However, identifying the potential for a defect based on requirements and mitigating the risk before it is in development holds the greatest benefit. This allows teams to better focus and avoid issues. While working in printing, capturing errors was of critical importance. Catching an error before the ink was pressed to paper could save thousands of dollars of revenue. Just as in quality assurance, it is important to condition yourself to actively look for potential issues before they manifest (I’ll speak more to this in part II). To critically think about requirements before a line of code has been written.
Pattern Recognition
It was commonplace in the fitness industry to see the same muscle imbalances, same posture issues, and the same injury risk across a broad range of clients. Although the human body is inherently complicated, the basic movement systems are simplistic and repetitive. Spending most of the day seated leads to hip problems, then posture problems, then low back problems. Runners are prone to tight calves and other injuries. Databases follow structures, patterns, and issues with the data can lead you to a common root cause. Everything follows a similar pattern. The same is true with software and quality assurance. Design patterns are common in software development. Recognizing potential issues with data storage, API design, and app functionality allow you to better decide which error scenarios are the most important for testing. Better yet, prevent them from making it into development in the first place.
These are among the most important traits for a Quality Assurance Engineer. However, it’s important to toggle some of these traits off when we get home. In part II, I’ll discuss the mental health aspects of the career and how to not only be a great QA but a happier QA.