Ask a Question

SmartBear Talks | Software Testing Mentorship: Why & How - Andrew Knight

In the world, where everything is changing every day, it's so difficult to find your path in software testing and follow it. This is where a mentor may help you. Many of us often think that a mentor means a teacher. But, that's not exactly true. In this interview, we dive into the mentoring world together with Andrew Knight, also know as Automation Panda, a software testing and development expert. Andrew will tell us what mentoring is, what a mentee should expect from mentors, how to find a great mentor, and even how to become one!


Watch the video (find the transcript below) and post your comments:


Andrew Knight

Andy Knight is the “Automation Panda” - an engineer, consultant, and international speaker who loves all things about software. His main passion is building solutions for software testing problems. He has designed and built robust test automation solutions for operating systems, service APIs, and Web apps with thousands of tests running continuously. He also mentors others in good development, testing, and BDD practices. Andy currently works full-time as the Lead Software Engineer in Test at PrecisionLender, a Q2 company.


Read his tech blog at, and follow him on Twitter at @AutomationPanda.


I hope you liked the video! If you have any questions, please post them here.

Subscribe to the SmartBear Community Matters Blog to get the news from us first!




Hello! I'm welcoming you in SmartBear Talks where we are discussing exciting and trending topics with software testing experts, and, today, we will talk about one of the most important aspects in software testing that can help you build your career or change your life significantly. We will talk about mentoring in software testing - what mentoring is; how to find a good mentor; how to become a mentor. We will try to cover all of these questions with the world-known software testing expert also known as automation panda. Hi Andrew, how are you today?



I am well, thank you! Thanks for having me!



Sure! Absolutely. Guys, if you do not follow Andrew's blog it's the right time to subscribe to it because it's so great! You can find all the contact information right under this video. 


So, today, let's talk about mentoring. Let's start with a short definition because I feel that sometimes people have different views on what mentoring is and they may get not the expected results from it.



Sure.  I mean mentoring is what I would call a one-to-one relationship in which someone who has experience guides someone who does not have experience. You can see mentoring and all things from the boy scouts or girl scouts growing up from like a, you know, baseball or softball coach or whatever sport you play. And, it goes all the way up to adulthood when you're in any sort of professional job and that could be software testing, software development or even a completely different industry. 


Some of the distinctives that make mentoring stand out versus something else would be, first of all, mentoring is explicit, there are two people who formally agree to have that mentoring relationship. It's not like you get surprise mentoring or something, it's something that is intentional in that both individuals want to participate. And, it is meant to be something rather long-term. It's not just helping somebody as a one-off gesture, but rather there's this relationship that continues forward. It is purposeful - the relationship has clear goals or development objectives, and that could be something like learn how to be a better software tester, learn how to ramp up with test automation, learn how to even use a programming language, perhaps, and to know when certain constructs are better than others. And, also, I would say a mentoring relationship is meaningful. Growth doesn't just happen for the mentee, but it also happens for the mentor. And, you should be able to walk away from a mentoring relationship feeling very-very rewarded in either role. 



How would you define or, maybe, separate your manager, your boss how you work with them, how they give you the direction from this guy who helps you in your like strategic life questions?



That's a great question.  I think there’s a separation between a manager type lead and a tech lead. Typically, in companies and teams that I worked for the manager is more in charge of business and peopling, they may or may not have the technical skills. Sometimes they do, sometimes they don't, they may program, they may not, but  I see a manager as someone who's going to be more mentoring you in the sense of like what are your career goals, where do you see yourself in three to five years, what can we do to help draw the best out of the skills that you have and apply them somewhere in the team or the business. Whereas your more technical lead is going to be mentoring you in the technical kinds of stuff, what technology should you use and should you not use, how do you get better as a developer or as a tester, what are the up and coming skills or tools, and frameworks, and languages that one ought to know for success, how do you navigate difficult situations, what if you have a technical disagreement with somebody, how do you navigate that. So, those are kinds of things where I see a bit of separation both can serve as mentors, but you're going to be getting different types of value out of them. 



Yeah, definitely, definitely. If we are talking about mentors, what software engineers and software testers should expect? Will the mentor provide them with them like a growth plan?



Sure, absolutely.  I like that you said the word ‘growth plan’. That's something that I like to use whenever I mentor people and that can apply to software testing, as well as any other kind of role. Typically, when  I would mentor, say, a software tester, first of all, we would have that sort of agreement to say, okay, you know however we enter this mentoring relationship whether it's somebody comes to me whether it's  I go to them, whether it's a manager puts us together, you know, we formalize it. We make it official. We make it explicit to say, hey, this is who we are now, this is what we're doing, let's set out the goals for what we're trying to learn. And, I found within software testing there could be multiple goals. So, I like to define explicitly what those goals are for that particular mentee because like in a lot of development roles it's kind of like, okay, well, I want to become a stronger developer. I'm a junior developer, and I know Java or I know JavaScript, but I don't really know how to build a web app or a REST API. But when it comes to testing, you have many different kinds of roles even within testing. You say someone's a software tester, it's like, okay, well, that's still an umbrella term - are you looking to be an automation engineer? Are you looking to be a more of a holistic tester who kind of comes in and mostly does manual, maybe, uses some codeless tools to do automation? Maybe, he works with an automation engineer, too, where they develop the tests, and then they hand off to the automation engineer to write the scripts, or is this a performance tester type person? So, there's all kinds of things.


I like to define what exactly are we narrowing in on for the mentorship and once we have that, then you use the magic word ‘growth plan’ or ‘development plan’. I like the word ‘growth plan’ because it implies that long term growth. Then, I'll set up with them what this growth plan is, and it could include things like one-on-one sessions where we talk about certain topics. For example, I've had one-on-one sessions about the software testing pyramid, I've had one-on-one discussions about layers to your test automation architecture, one-on-one sessions about, okay, here are the big players in the industry, in the software testing space. Here's why, you need to be aware of them and know them, and kind of be familiar a little bit with their products, those kinds of things that you can look up with Google or Wiki pages, or some sort of documentation, but it really helps as the mentor to give that type of explanation one-on-one, so you can provide context, and you can provide experience. 


Other types of things that can be part of the growth plan, things like sending articles and reading assignments, giving online courses so that somebody can go off on their own, spend time and kind of learn through a course, for example, Test Automation University is a great example, and then, also things like pair programming code reviews, and giving them real work assignments, and then letting them stumble through it on their own and hopefully win, just giving detailed industry information with some context where to pay attention to, how others use this and that, other companies or other people. 



So, yeah, that makes sense because at the moment even on the Internet so you can find a lot of information and to find the right info is critical, and if you can save the time  because a mentor gives it to you that's great. 


I think the entire SmartBear Community is asking the question - where to find a mentor?



Where do you find a mentor? Oh, that's a toughie. I would say a lot of my mentoring relationships have been rather fortuitous. It just kind of happened. Somebody joins the team as a junior engineer, and it just so happens to be I'm the one that's there for them.


For people who are looking for a mentor, some advice I'll give, first of all, be open and explicit about your desires. This is something that you should be telling your manager, first and foremost, possibly, your tech lead because those are the people in place who should be advocating for you and helping you find that. Second, I would say, be patient, you don't want to force a mentoring relationship to happen. Because not every single senior level person or manager level person is going to be a good manager. And, that's the unfortunate state of the world, we want everybody to be perfect and good and spectacular, but that doesn't always happen. So, I would say wait for a good mentor. Don't settle for a bad one. Because that could lead to bad things.


And I would say try to find a mentor inside of your current team, or organization, or company before you try to find one on the outside, and the reason  I would say that is because, typically, when it comes to software testing and software development, those inside your company, or your team, or your organization are going to have a much better pulse on what you as an individual contributor are doing and trying to do. And, within those company walls, there's more leeway and more time and more availability for a mentor to help you. It might even be written into their yearly goals - to help mentor such and such a person. And, so, then, they have to. There's less resistance, it's easier for them to help you. You're going to have more access to them and they're going to be able to know more critically exactly what you're doing, and what you're trying to do.


Now, if you can't find somebody inside your company because, maybe, it's too small, maybe it's too toxic, whatever the situation is, you can still find somebody outside. And, if you want to take that route, then I would say look to the software and testing communities, things like Test Automation University, or Ministry of Testing runs really good communities. And, I know companies like SmartBear have their own community initiatives. That would be a good place to start networking. Find some people you trust, talk, ask around like: ‘Hey, you know, I'm on this journey, and I want to get better. Who can I talk to? Who can I network with?” 


And, possibly, out of that you might be able to find somebody who would say: ‘Hey, you know I'd be more than happy to come alongside you, and, you know, help mentor you, guide you where you want to go.”



Absolutely. At the moment, the world is so open even right now, when you ask people on the internet, in the community, in the SmartBear Community, and any other forums, if you ask usually people answer. So, do not be afraid to ask because this is like the first step  to learn new stuff to find new friends, so just keep asking. But the first, the most important step for new people who just start the career it's just to understand that asking is good. It helps you with your current tasks and your career that's for sure. 


At the beginning of this video, we mentioned that we also will cover the situation when a person has knowledge, and they are ready to share the knowledge with others, so they are ready to become a mentor. Where do they start?



I would say be humble. There’s a fine line between saying okay I'm here to help whoever needs help, I'm open to having a mentoring relationship, just come to me, whatever, and blasting it out there saying I'm the best, I'm number one, I know everything, and you don't, and I'm gonna show you whether you want it or not. You don't wanna be the latter case because, I hate to say this, within the tech industry there's a lot of arrogant people, and I don't know about everyone, I typically don't like to work with arrogant people because they rub me the wrong way. They act like know-it-alls, they condescend to other people, they tear other people down rather than build them up.


You got to be careful because if you don't come across as a humble person, people will probably judge you as being an arrogant person. And, that's going to nullify any type of value you can bring to the table as a mentor. 


So, ways that somebody can get started with mentorship or with becoming a mentor, I would say, first, start to produce content and material. That's an easy way to start because it's kind of like, I wouldn't say a prerequisite, but kind of like a preparation step. Write a blog, write articles on other people's blogs, maybe, speak at some conferences, run some like tutoring sessions or whatever, get involved in your local community somewhere. Those kinds of small steps can really help prepare and that also kind of puts you out there because, now, people can refer to the things that you've developed, so people know what your expertise is. 


For example, my blog, Automation Panda, I write a lot about software development testing and automation, that's my niche, and, so, long before I would even have been invited to a video talk like this,  I was just writing blog articles, and it was primarily for me to record notes to myself. So, starting to develop that content, put yourself out there in some semi-public place can be a first good step. 


Another good step could be within your place of work going to your manager and your technical lead and having the conversation about where are you, what are your goals for the next couple years be: ‘Hey, you know, I feel like I've learned a lot in the past and I'd like to explore the possibility of, maybe, being a mentor for somebody’. And then, your manager can say: ’Oh, okay, cool.’ And, they'll lodge that in the back of their mind because, maybe, they've had a separate one-on-one with a more junior level person who said they're looking for a mentor themselves. 


That's a great way to have it set up. It's kind of like matchmaking. It's not this awkward situation where you're out there saying I want to be a mentor, or somebody come be my mentee. It's none of that.



Great! So, contribute more, create more content. And say it out loud at least. Do not put like a sign in front of you - I want to become a mentor! But show that you have knowledge, and you are ready to talk about the industry, about software testing. You have your own opinion, and you are ready to share it with others.



The more expertise and content you just naturally show, the more potential mentees will gravitate towards you. I mean people will come out of the blue sometimes. If they recognize you as a leader and an expert and not necessarily the top level, but just that you have leadership or that you have some expertise in something. People will gravitate towards you. And, so, if you're doing that kind of thing, the opportunities will arise, so just be patient.



If you have the knowledge, and you have great skills in software testing, I believe that each skilled user should become a mentor because this is a great opportunity for young people to learn from skilled users. 



Indeed. I agree totally.



Okay, thank you so much! That was very interesting, that was a great conversation. Thanks a lot, Andrew for your willingness to share your knowledge with the SmartBear Community.



Thank you for having me, it's been an honor. 


SmartBear Alumni (Retired)