“Mayhem Makers” is a Q&A series dedicated to our growing company.
For this month’s profile, we talked with Sheldon Warkentin, Senior Software Architect, who joined the Mayhem team in 2019 and is based out of Calgary, Alberta.
"Our team consists of both senior engineers and junior engineers, but even the senior engineers can mentor each other. There's always something new to learn, regardless of experience level."
1. Tell our readers a little bit about what your role as Senior Software Architect entails.
I wear a few different hats. One day, I might be fixing bugs. Another day, I might be writing documentation. I also work on designing new features and listening to customer sales calls to understand what our potential customers are looking for or what our existing customers need from our software. I take all of that and find a way to put it all together so that we can deliver a cohesive product.
2. What did your career path look like before you came to work on the Mayhem team?
It's mainly just been software development for my entire career. I've worked in a few different domains. I started in oil and gas software. After that, I transitioned to working on IDEs, DevOps, and Fullstack SaaS to deliver static analysis solutions.
After a brief stint working in IoT, where I focused on sensors, devices, and how to integrate them, I returned to the security side of things when I came to work here.
3. What is your typical working day like?
We usually have some meetings where we take time to discuss and plan. There’s still plenty of time spent looking at code, focusing on making improvements and fixing bugs.
Even though we work remotely, we still take time to walk through challenges that people are running into and trying to resolve those issues. For example, last week, I wanted to learn more about how testing worked on our front-end code. So, I reached out to another developer, and we paired up to work through it.
There's a lot to learn, especially for newer developers, so sometimes it's important to take the time to discuss specific technologies, parts of the domain, or provide advice on different ways to approach problems.
Our team consists of both senior engineers and junior engineers, but even the senior engineers can mentor each other. There's always something new to learn, regardless of experience level.
4. What has been your favorite project you’ve worked on since joining the Mayhem team?
I really liked developing the API testing part of our platform. That's definitely been my favorite project. It was a ground-up project, and we managed to transform an idea into a fully functional part of the product within a few months.
My second favorite project would be when I worked on automating our deploys. When I started here, it would take a day (or more), and you needed someone who was an expert in Google Cloud, and Kubernetes, and all these technologies to deploy Mayhem.
So that was a huge burden on our customer success and sales teams. If we wanted to deploy Mayhem for a customer, we had to have one of these experts take the time to do it. But let's say the only person who knew how to do it was on vacation or they were busy—you would have to wait.
I changed that so you could just go and hit a button, and within 25 minutes, you had a brand new deploy up and running. Reducing that friction was really rewarding.
Today, we've also moved to a cloud-based multi-tenant deployment. So now there's literally nobody that needs to be involved. Folks can go and sign up and get up and running without any ops people involved. No one from sales needs to get involved. No one from engineering. It's all self-served now. So, in that case, it's even better. There's no friction to get up and running. It's come a long way, and it was exciting to be a part of that.
5. What have been your toughest challenges at work?
Prioritizing which features or use cases we want to improve or add has been really challenging. Because there’s always “one more thing” that a customer wants in the product or that we want in the product.
Take API scanning as an example. We’ve focused on REST APIs and open API as a specification, and we wanted to really nail down those use cases and have them be the best they can be in the product.
Then customers will come that might need GraphQL, or gRPC, or some other technology. And we may not be able to do all of them, at least as well or as quickly as we’d like to. So finding that balance between doing something really well and doing everything has been a big challenge.
6. When you're working, how do you motivate yourself or what helps you focus?
Coffee. Coffee helps.
Turning off distractions really helps. When you're remote, there are a lot of notifications. I mean, just look at Slack. I don't know how many channels we have. So finding the best way to turn off or limit notifications helps.
Blocking time off is another thing that really helps me. I try to be conscientious of how I work with my time. A solid block of time is kind of like a gift that you can give yourself.
On the calendar, you might have several meetings breaking up your working day. And you kind of have to pick and choose when you’re going to work on what. If you're going to write code, you kind of need an hour, minimum, and it's usually more. It's not one of those things you can just dabble at. You really need long periods of focused time. So, I'm trying to get better at that. But coding isn't my only job, so I have to choose the best times to work on it.
7. How have you grown professionally while working on the Mayhem team?
I've really appreciated a lot of the direct interactions with customers that I've had here, both pre and post-sales. It's something that you usually get insulated from in larger companies. I've been kind of used to being on the tail end of things, where the discussions are finished, tasks are written down, and then I just work on them.
So, being able to have interactions with customers, sales, marketing, and engineering broadens my perspective on the industry. I've actually appreciated that a lot here. I haven't had that in too many other jobs.
8. What has your experience been with our company culture?
I really like how almost anyone in our company is willing to step in and help their coworkers. I never hear someone say, "That's not my problem." I think that's a huge part of the culture here. People are willing to help, and they want to get things done.
Everyone seems to be on the same page, striving to deliver quality products to our customers. We may have different ideas on how to achieve that, which is great. It's what you want in a company—to have lots of different ideas and diverse opinions. However, ultimately, everyone is still moving towards the same goal, which is delivering value to our customers.
9. What advice can you offer to someone looking to get into a role like yours?
Get your hands dirty. Write code. Experiment. Build things that you want to build.
Before you get into a company, just build things. Just learn. It's going to be part of the process forever. If you’re going to keep doing this kind of job, be prepared that you'll always be learning. You always want to be building something.
10. Tell us about yourself outside of work. What are your hobbies?
I love cooking, making food, and trying new recipes.
I like music. I haven't played in a while, but I played drums for years.
I like experiencing things with my kids. They're getting older now, but just kind of supporting them in what they're trying to do, the things that they're learning, the hobbies they like—facilitating that. So, I guess, just being a parent.
11. What is something unique about you (a fun fact) that few people know about?
I was a drummer for a thrash metal band for years.