Every wonder how to test software before you send it out to users? Geoff Harm is the one to ask. I interviewed him this month to learn about how he goes about breaking things on purpose.
Who Are You And Where Are You From?
I grew up in Holliston MA, which is in the MetroWest area, so around here.
What’s Your Job At SiteSpect?
I am the lead QA engineer, and I’ve been here 5 years.
What Does That Mean?
It means a lot of different things. Every morning I run a bugs meeting where we go over any bugs that have been found in the product. I also troubleshoot customer issues, and when we develop a new feature, it goes through the QA team. Our goal is to find problems before the customer does. A lot of the things that I test are what the customer sees. It’s important to have a good overall experience for the customer, and that’s sort of what my passion and forte is: Good customer and user experience.QA is also valuable in that we generally think about the product in a different way than the devs to. So that additional perspective gives a broader picture of what SiteSpect does.
What’s Your Day To Day?
In the morning I’ll look to see if any bugs have been logged overnight. The bugs meeting usually has representatives from dev, product, and customer success. There’s also a queue of tickets that need to get QAed that developers have worked on that need to be signed off on. I’m also regularly trying to “break” features in the product by identifying appropriate test cases — you sometimes have to be creative to figure out all the different ways to test something. For example, What if the user left this field blank? Or if the text string they used is long, it looks bad in the product? We’ll do final validation ahead of the release or any other roll-out.
The goal for my team is to find any defects before release. I try to “attack” from the perspective of the user. Sometimes the issues I find aren’t straight forward; I’ll often have to work with Product/UX to make sure the behavior I’m seeing is expected.
What’s Your Background? How’d You End Up In Your Current Job?
I was a computer science major at UMass Amherst. First job was doing QA, and then I liked that so I stuck with it. I like breaking stuff, and I’m a stickler for good UI and best practices. I don’t like it if a product is hard to use; and that’s not usually the user’s fault.
What Kinds Of Skills Do You Use The Most On A Daily Basis?
Troubleshooting. I don’t do much coding on a day-to-day basis, but I’m versed in many different systems: OSs, proxies, network & developer’s consoles, version control. The product runs the whole gamut, and there’s a lot of infrastructure technology we’re touching. Much of it just comes with experience: MYSQL, Redis, knowing how everything works together. Being well-versed in debugging.
What’s Your Favorite Or Most Interesting Part Of Your Job?
When we have some new feature that’s released and I find an important bug that could break something very badly. An important part of that is making sure XSS vulnerabilities don’t exist in the product. It’s always fun when we catch something using a trap that was set up months earlier.
If Someone Wanted The Same Job, What’s One Thing You Would Tell Them To Get Really Good At?
What’s Your Favorite Brewery In New England?
Treehouse. It’s like liquid gold.
What’s A Surprising And Fun Fact About You?
I am a competitive foosball player. There was a bar down the street from where I was living in Boston. Every Wednesday night they had foosball tournaments, and that led to joining a foosball league. League players qualified to go to a Vegas tournament. My friend and I first travelled to Kentucky (the Super Bowl of Foosball) and we won one of the events there. Then we went to Vegas and won another tournament, complete with a ring, a jacket, and an oversized novelty check!