Solving Puzzles and Finding Treasure
By Kati, quality engineering
By Kati, quality engineering
I’ve been known to tell folks that part of the job of a quality engineer (QE) feels like a cross between a puzzle and a treasure hunt. The software developers I work with are confident they have written robust code to support design cases. My challenge is to ask, “What issues can I find so our users don’t run into them?”
“The software developers I work with are confident they have written robust code to support design cases. My challenge is to ask, ‘What issues can I find so our users don’t run into them?’”
I enjoy working alongside the developers and being part of feature discussions from the beginning. I’m on the team to ensure testability and advocate for users like I once was and users like I am now. Other than the developer, QEs are often the first users of a feature, so we can provide key UX feedback in addition to finding issues and asking important questions: Does the behavior of the feature make sense? Can a user form a good mental model of the behavior? If the function errors, do the errors help users fix their mistakes? What would make it better or easier to use?
QEs also assess performance, both time and memory, and ensure tests cover all aspects and behaviors of the features. These metrics and more feed into determining whether a feature is good enough to ship. QEs are part of making that decision and provide the necessary data.
My road to MathWorks and the world of quality engineering included a few curves. I was a math major who took a grand total of two programming courses as an undergrad and later earned an applied math/control theory master’s. I first experienced MATLAB during a grad school internship, where I had to learn how to program in MATLAB on the fly. Luckily for me, one of the glories of MATLAB is that it’s designed for a broad spectrum of skill levels, from casual users to developers.
After finishing my master’s, I joined the company where I interned. I used MATLAB constantly, and eventually also learned Java and object-oriented programming through running a simulation, debugging the simulation, and then finally improving the simulation myself. As a user who became a developer of that simulation, I understood why quality was so important. When it came time to look for a new challenge, I realized that MathWorks, the maker of the software I used every day, was close by.
I wasn’t confident enough in my programming skills to apply for openings in development. I knew, however, that I could create documentation, acquire skills on an ad hoc basis, and poke at holes in logic and code, so I looked at technical writing positions and QE or software engineer in test positions. The QE role turned out to be a wonderful fit.
Quality engineering can take you in many directions beyond the feature work. Each QE typically supports three to four developers. Some QEs work with multiple teams at once, and some work with only one. You can choose to become a technical specialist in a feature area, take on tasks that impact multiple QE teams in your area, or tackle projects that affect the entire QE department.
“Quality engineering can take you in many directions beyond the feature work.”
We focus heavily on automating testing, so there are always frameworks and tools to be developed. This means you can also do some design and development work.
I used to think testing, outside of developing test tools and frameworks, wasn’t creative work, until I was repeatedly asked, “But why would you even think to try that?” It turns out quality engineering does require creativity—just a slightly different form sometimes.
My managers have always been good about knowing my interests and providing opportunities to stretch and grow. I’ve valued that flexibility and try to use the same approach with my direct reports now that I’m a manager.
One of the things I enjoy most about MathWorks is working with people who have a breadth and depth of knowledge. Book clubs, training sessions, and lunchtime birds-of-a-feather meetings are regularly offered to keep everyone learning. And a company-wide open-door policy makes it easy to find the answer to almost any question.
In addition to appreciating the positive environment that fosters continuous improvement and excellent products, I genuinely like my coworkers! Volunteering and holding celebrations to mark project milestones are equally encouraged, and we enjoy doing both.
“Volunteering and holding celebrations to mark project milestones are equally encouraged, and we enjoy doing both.”
In non-pandemic times, MathWorks provided trays of cookies every Friday afternoon, which would get everyone out of their offices to eat and chat. Now that we’re working remotely, one of my teams instituted a weekly virtual cookie break. Discussions during these timeouts can be work related, but often the talk will turn to, say, music and we’ll see a few people jamming on guitars.
I’ve now been at MathWorks for nine years, although the time seems to have flown by. It continues to be a great experience. I’m challenging myself and growing professionally while also developing long-standing friendships. I encourage computer scientists and engineers with solid programming and problem-solving skills to learn more about the quality engineer role at MathWorks. They’ll be glad they did.