So you want to be a Tester?

April 18, 2018 career, testing, and quality

A fellow tester recently asked a very pertinent question in a tester’s community slack channel, she asked something in these lines: “what guidelines or tips can we as testers give someone already in a different career-path, who is aspiring to change to the software testing craft (in particular in Portugal)?”

I thought about it for a little and I reminded myself of what every hero and heroine say on a cartoon, that cliché response they give to some kid in the street:

If you want to be like me just do your homework and eat your vegetables!

As a kid that sort of message in cartoons always brings a guilty smile, because any kid, no matter how much he may like homework or vegetables, a lot of the times will pick other stuff first. Only much later in life when we start weighing our past decisions do we start coming to conclusions and questioning our options of sometimes skipping the “eat vegetables” or “do homework” that we see in a way could have set a different course in our lives.

Now, one might wonder, wait, what does this have to do with wanting to be a tester or changing from our current employment market to a different one, at any point in life?

I started drawing a few lines from the sentence in the form of analogies.

Eating vegetables

Being a tester, as any other job, if it’s to be well done, involves a lot of determination and courage every moment of it.

We might not like vegetables, have a hard time having them, but we know for a fact they’re good for us on short and long term in many different ways, and if we want to take full advantage of them we must be persistent and a bit methodical about the whole thing of eating them.

This persistence and methodical approach and “will to grow” always reminds me of when I first started in testing as part of an internship. As interns we have both to prove ourselves but at the same time deal with huge amounts of learning, and also we’re constantly out of our comfort zone.

So here is my first recommendation: if you have some money on the side, so money won’t be a problem for you and loved ones, the quickest way to get into the market is trying to find an internship job as a tester.

Companies everywhere are desperate for testers, even for rookie testers. If you put yourself in the humbling (and a lot of times unfair predatory ) environment of being a newbie at a testers job, you’ll quickly realize that the hard-work pays off at the end of 3 to 6 months. Why?

You’ll realize the learning curve is steep, but, in a short amount of time you are already quite productive and with acceptable knowledge and skill of actual testing.

After those 3 to 6 months, start shooting CVs to other companies looking for testers, get more views on your current market value, and search for those that value knowledge-thirsty testers and not monkey testers. They’ll be glad to have you on-board, even if in terms of time your experience might seem short for you or for companies that value “mindless zombie” testing.

The fact you already went ahead and put yourself in a whole other set of shoes, and got out of your comfort zone will give you a big boost as tester, because you’ll be subject to hard testing efforts and hardships from day one! Even if companies don’t admit it, most will (mindlessly) expect demand of you the same craft skill they would from a non-rookie tester. They just won’t tell you in the face.

Eating more vegetables (those you really don’t like)

Second recommendation: Try to learn a programming language. Coding skills mean you can build, adapt and improve tools you’ll use to guide your testing missions, and the market is thirsty for testers that also have that set of skills.

Python for example! Just don’t waste your time on tedious tutorials on how to do a hello world and instead, try to do a pet project that is useful for you or your family. This will help you quickly grasp the basics of a programming language and some important programming concepts. Divide that pet project into several milestones and try to beat each one.

Don’t forget fruit!

Third recommendation: When you have a question, don’t ask your friend next door, ask the world: learn how to use platforms like StackOverflow and search engines like Google (or Duckduckgo) to your benefit.

You evolve and learn more by “wasting time”, completely frustrated and then coming up with a solution, than to ask your friend next to you that “knows it all” to take the wheel. Sure, you’ll find dead end corners, and people will ignore your questions on StackOverflow! BUT, the best testers, and in particular testers who also do code, are better because they don’t give up and they don’t take dumb shortcuts, they take smart shortcuts.

Want a practical example? Let’s say you don’t know X. Then you ask your friend to help out with X. A few time later, you still don’t know X and you have to ask him again. Now opposed to this, you don’t know X, and you quickly construct and elaborate a question on say, StackOverflow, while you start surf the web for an answer too.

When you get a response on StackOverflow, it’s there forever. When you forget about X a few weeks later, you remind yourself, a past me has asked this very same question, and the answer is right there, waiting for you, for future you and for everyone in the world that hits the same dead end.

Even better: once you post your question on StackOverflow, hand out the link to friends and colleagues: they get actual credit for their answers, you never have to bum them again for the same question, and they’re also helping you, future you, and the rest of the world.

Do homework!

Fourth recommendation: Study. Study hard. Study smart. Study the tools and “frameworks” that allow you to get maximum value out of every tiny testing effort, like context-driven testing and rapid software testing. There are tons of Youtube videos and lectures about these. Devour them whenever you can.

Follow awesome world-renown testers on their blogs and social media and read their stuff. Get a hold of their methods, their mindset, their craft. Go to meetups of testing and maybe even coding, go to IT & testing related events, build your contact network, socialize, try to make friends with other testers completely different than you.

Do more homework.

Fifth recommendation: Study a little more and TEST. LEARN, TEST and REPORT. What you may ask?

What are you using these days? Videogames? Social media website? Online car shop? Online pizza shop? Clothing website? Social media star/Youtuber blog? Test those. Take time to explore about those. To learn about them.

Give yourself time and tell yourself “this doesn’t make sense” “this doesn’t look good” “this is dumb” “this form is dumb” “this is an attack to humanity in terms of usability” “this grinds my gears”.

Then take notes of those and find means to report them. Work on your bug reporting skills. Learn how to use tools to help you come up with awesome straight to the point bug reports. Ask your developer friends and an old lady if she understands the report.

Email those websites/applications/games creators the bug reports. Even if you don’t get nothing in return, like free pizza, do complain that their site is dumb and a given combination of ingredients makes the page go boom with a stack-trace. Email that famous blogger and tell her that her blog is amazing but performance-wise is bad, and is taking more than 2 minutes to load on a Fiber connection, and tell her where her developer crew can look for to fix or improve.

Remember everyone can give you the theory of testing, and even the theory of the theory of testing, then you get a shiny sticker on your resume saying “certified”. That might get you a chance at a job. It will definitely show you’re serious and care about looking and being professional for a lot of companies. But it’s not a guarantee of testing skill.

Actual testing skill is earned with actual testing battle-scarred effort with proven results.

There will be hardships!

It’s not all glamor and easy money:

You’ll be ignored. People will ignore issues, bugs, and more, and this won’t happen only on your “hobby” testing endeavors, this will happen professionally all the time;

No matter how people paint it, you’ll always be a subliminal bottleneck in everyone subconscious: things like the ratio of developers vs. testers, for example, or the visibility of your work to others will be some of your ongoing hardships until you come up with good ways to overcome;

As in any other job, no matter how cool and hip, incredible “lean self management agile fast paced pro-diversity” the company is: you’ll have to deal with great people and toxic people;

Be aware that there are companies that will try to exploit you and use testers as scapegoats, that also want monkeys and not expert testers. Don’t be afraid to leave those;

At a given point in time you’ll be labeled “not-senior” enough (seniority of time vs. seniority of attitude and craft issues), don’t let that stop you from growing and fighting;

Never give up. There’s an army of testers, developers, managers, friends and loved ones to help you every step of the way.

Wrapping up

Take into account that your background makes you unique as a tester in special ways. Your craft will be very unique and different from another tester. Say you have an accounting background, or statistician, or human resources, psychologist, pharmaceutical, sports, gardener, etc. This past adds skills. Being good with numbers and analysis; Being good with interacting with people (stakeholders, developers); Being good with documenting stuff; Being patient, methodical, among many others.

Also, on a closing note: The biggest illusion you can have as a tester is: “my job will be something related to adding quality and preventing bugs”. You don’t add quality. You don’t prevent bugs. You don’t have a magic wand to magically do that stuff.

Your mission as a tester is simple: You hunt bugs down. With your bare hands. With tools. With traps, tools and even automation. And then you show them as trophies, the right way. If they still go to production, it’s not your call. Your job is to give the people who do make that decision a fighting change, and the actual power to make such a decision, knowing what they’re up against.