Monday, February 13, 2017

Mentorship - how to skyrocket your testing career


1) Introduction
2) Benefits of having a mentor
3) What characteristics make ideal mentor?
4) Benefits of being a mentor
5) Conclusions
6) Further Reading

1) Introduction

In my recent posts focused on learning I put much attention on mentorship importance. I listed it as one of the points in how to become a software tester and described it as one of the most effective ways of learning how to automate tests. When I was skiing last week in Alps I decided to explain it in detail. Seeing post picture you probably already know what view triggered that.

When kids learn how to ski they follow trainer's route. He teaches them everything: how to stop, how to turn and even how to crash. It doesn't occur to them to take different route and start learning on their own. I recommend you to do the same when it comes to software testing (or any other IT job). Follow the path of wise mentor and take full advantage of his broad knowledge. As I'll explain in point 4 this is win-win situation for both of you.

2) Benefits of having a mentor

If you're willing to learn novice you can quickly improve your job market value. Here is the list of the most important benefits:

a) Short feedback loop

One of the most important lean startup principle says that whenever you create something new (test case, automated test code, blog post, business etc.) you should gather feedback as fast as possible and act on it. This of course isn't always nice - you have to show some courage and open yourself for criticism. With mentor sitting close to you constructive remarks are almost immediate and you can improve continuously

b) Easy knowledge gap identification 

By observing what skills you lack comparable to your mentor you can identify your knowledge gaps. This allows you to work on those skills, for example after work. First step is much easier - you can ask for good knowledge sources or live training.

c) Fixing annoying and time consuming blockers

I'm pretty sure it happened to you many times. You start doing something new, follow tutorial step by step, but this damn thing for some reason just doesn't work. It's like Tomb Raider riddle which takes you 2 days to figure out. Stackoverflow sometimes (very rarely) fail to deliver correct solution. With mentors and their better understanding on how things work internally you have a person that can quickly fix your weird problems. You save impressive amount of time.

3) What traits make ideal mentor?

Not everyone with broad knowledge is good mentor candidate. Effective coach should be:

a) Likeable/easygoing

Obvious one. You don't want someone weird teaching you. Ideally he should understand the importance of soft skills and help you improve them too.

b) Respectable

Master - novice dynamic is very peculiar. As someone being trained you acknowledge master's superiority. This doesn't make you worse person than him though. You're just less skilled employee and should be treated with respect by everyone, including your master.

c) Good at explaining how things work

As someone who finished various schools you probably know that few teachers just don't have ability to share knowledge. Make sure time you spend with your mentor is more beneficial than reading random tutorial on the Internet.

d) Internally motivated

Mentors should have self-interest in teaching you. Some companies encourage that by listing coaching in senior engineering job description. However smart people usually understand benefits of being a mentor (see point 4) and in companies with healthy culture almost everyone is willing to teach you.

4) Benefits of being a mentor

Effective mentorship should create mutual benefits. Impact on trainees have already been described in point 2. What about the other side?

a) Better understanding of how things work internally

Whenever I explain something to someone (or write blog post here) I had to dig deeper and make sure my understanding of how things work is complete. This really helps to internalise such knowledge and remember it forever. Try it and you would be surprised how many things you already use every day have to be rechecked.

b) Higher chances for promotion at work

Contrary to broken school system at work we all have common goal. People who share their knowledge with others give company the most. They not only work on their tasks, but also help their peers to improve. Try it and you may earn yourself a higher position.

c) Huge improvement of job market value

I'm getting a lot of job offers which list 'guidance for the other QAs' or 'running workshops and training sessions with developers'. Testing role is changing and soon top jobs would list mentoring skills as prerequisite. 

5) Conclusions

I have stated it few times already on this blog, but would do that again. Remember to always surround yourself with people smarter than you. If you're the best tester in your company perhaps it's time to expand your knowledge in other area (security, devops) or move on. Always have Continuous Improvement in mind.

6) Further reading



* Bonus

I recently created Facebook fanpage for my blog. If that's your preferable way of following blogs please like it :)