Wednesday, October 31, 2018

On being multiskilled



Contents:

1) Introduction
2) No not overestimate things you already know
3) Accept different point of views
4) Volunteer for new tasks
5) Do the same things differently
6) Perseverance & Grit
7) Explore Unknown Unknowns
8) Adopt beginner's mind
9) Just do it... and have realistic expectations

1. Introduction

One of the simple things you can do to increase your job market value is to acquire skills required for multiple positions. On my blog, I have already promoted such approach (see How to get a first job as a tester? for beginners and Testops - the most antifragile testing role for more experienced testers). Today I’d like to show you how to put it into practice. I have collected a few tips from multiple fields to make the list more complete.

2. No not overestimate things you already know

IT industry has multiple branches and it’s literally impossible to know them all. This may be a bit sad realization, but I bet you can’t quickly fill product owner/developer/team lead shoes. Think about it. Surely there is still a lot of knowledge to discover.

Some people lose the ability to see what’s missing in their skills as they get older. They stick to old habits, frameworks, ways of working which become more and more obsolete each passing year. This is very dangerous because they not only stop adding value in the current place of work but also lose employability. Do not allow such thing to happen. Train your mind & body daily.

3. Accept different point of views

In theory, we love to share and hear experiences of others during various technical conferences. In practice though, we often struggle to emphasize with others. I don’t know why, but I know few people who never say ‘I’m wrong’. For example, I’m writing those words knowing that I may make mistakes… and there is absolutely nothing wrong with that. This shouldn’t discourage you from reading further, because you still may benefit from this text on multiple fronts:
  • you may realize that your knowledge starts to be obsolete
  • you may start to volunteer for new, challenging tasks
  • you consider this post so terrible and start writing your own blog just to prove you can do it better than me
4. Volunteer for new tasks

During workdays, test engineers have to tackle various tasks: easy, mundane, challenging, time-consuming, weird, boring etc. Occasionally something completely new pops out and we need to find someone ready for a challenge. Our natural inclination is to behave like during school questioning: heads down, eyes on the ground, ‘please let it be someone else’ prayers murmured. Instead of acting as others step up and volunteer yourself. There is a high chance that not everyone in your team read my blog, and you will be able to work on new stuff.

5. Do the same things differently

We are creatures of habit (see great Charles Duhigg book). Unfortunately, habits can be both positive (like brushing your teeth) and negative (smoking). If we do things the same way every day we start to behave like brainless robots (we stop noticing changes around us… have you ever missed a new road sign on your typical work route?). In our industry it can be dangerous - we stop exercising our brain and start clicking like machines. Try to break such negative spiral by doing something in a different way. Try new language, use curl instead of python to create HTTP requests, cover functionality on unit tests level, rewrite tests on the lower level, introduce contract testing, try mutation testing, use Java 8 lambdas etc. Experiment as often as possible.

6. Perseverance & Grit
Grit in psychology is a positive, non-cognitive trait based on an individual's perseverance of effort combined with the passion for a particular long-term goal or end state (a powerful motivation to achieve an objective).
Usually, when we start something new we have a lot of energy, enthusiasm and are generally very positive about the outcome. Unfortunately, this spike tends to disappear after more and more silly problems slow us down. That’s pretty much how new year’s resolutions work. 

In your quest to become multidisciplinary you need to learn how to persevere and don’t get discouraged by obstacles. Personally, I find physical activities very helpful in this regard. By training the body, a mind gets stronger as well. 

Why not just accept the fact that doing something entirely new would be time-consuming, frustrating and hard? We may call it StackOverflow Driven Development (SDD).

7. Explore unknown unknowns

There is a nice article on Ministry of Testing about Risk-based Testing. The author introduces four quadrants which may help us manage risk & testing in our projects.


The same quadrants map nicely our knowledge. Usually we focus only on ‘Known’ sections, but in fact, by exploring ‘Unknowns’ we can gain much more. Reading blogs, attending conferences, attending meetups or having conversations in testing communities allow you to discover something entirely new (Unknown Unknown).

8. Adopt beginner's mind
Shoshin (初心) is a word from Zen Buddhism meaning "beginner's mind." It refers to having an attitude of openness, eagerness, and lack of preconceptions when studying a subject, even when studying at an advanced level, just as a beginner would.
My son has just become 10 months old. It was very pleased to observe his crawling efforts. At first, it looked like he’s trapped in a body that can’t handle his energy, but now he roams the flat freely with an ever-present smile. He never got discouraged, he was just trying every single day and finally succeeded.

As we grow older we lose this ability. We are afraid of failure, scared or just too lazy to challenge ourselves. Try to rediscover this childish trait and experiment freely without too much worry. 

9. Just do it… and have realistic expectations

Usain Bolt (famous sprinter) started playing football lately. He even was on trial in Australian West Coast Mariners team. He was even offered a contract… which he rejected demanding 20 times higher wages.

It’s an interesting example of how you should not approach learning. It’s impossible to jump straight from being a beginner into an expert. Some scientists that amount of effort required for mastery oscillates about 1000 hours mark. 

Remember that being an expert in Java 7 has entirely different value than being an expert in programming or software architecture. You can’t achieve the latter without multiple skills. Learn new stuff!

2 comments: