Your testing job, manual or automated, will be outsourced. Or automated. Sooner that you think.
gapingvoid.com is one of my favorite blogs.
Not only for the excellent drawings such as
https://www.gapingvoidart.com/gallery/jar/
but also for its positive message.
---------------------------------------------------------------------
Its newsletter asked recently the following question:
"Will you be outsourced or automated?"
I agree with it:
One thing I do keep hearing I actually agree with: anything that can be automated or outsourced, will be.
And probably sooner than you think.
The only thing you can do is try to make your career future-proof.
Which means making it robot proof.
Lets discuss the "outsource proof" first.
That's what is happening with tons of manual testing jobs.
Many manual testers are becoming obsolete.
They stopped learning and improving their skills long time ago and are becoming worse at their jobs every day that passes.
If you dont get better, you get worse.
You cannot remain in the same position.
Because with the market and technology changing so fast, if you dont change at the same rate, you get more and more behind.
I could give you lots of examples of testers in this situation.
-----------------------------------------------------------------------------
A. was the QA manager of a big company.
A great manager with lots of good ideas.
Until one day when the company did not need him any longer.
He tried finding other management jobs with no success.
He attempted finding testing jobs with the same result.
In the end, he settled on a customer support role.
---------------------------------------------------------------------
E. was a senior QA analyst for a small company.
She worked there for more than 5 years.
The company was not able to keep up with its competition and eventually fired the full development team, including testers.
Since then, E. goes from interview to interview with no success.
She thought about learning programming and automation to improve her chances for a new job but these cannot happen over night.
So for now, she settled in a sales position for a department store.
----------------------------------------------------------------------------------
Going back to the main topic.
With obsolete manual testers and companies always looking for reducing costs, manual testing jobs are outsourced (to India mostly) in high numbers.
This is happening with automation jobs as well.
The number of testers skilled in automation is very low in general.
Unfortunately, many testers write unmaintainable and complicated automation code because of a lack of solid programming knowledge.
Given the low number of good automation resources, companies look elsewhere for help.
Some buy into the message of outsourcing automation companies who always claim that they are the experts.
9 cases of 10, they are not.
On the contrary.
And they are not cheap either.
On paper, they are cheap.
But in reality, you dont get what you think.
You pay a low rate for an expert resource and you get a junior one.
Intermediate in rare occasions.
---------------------------------------------------------------------------------------
So outsourcing happens for both manual and automation jobs.
What about the "robot" part?
Automation of the manual testing jobs is clear.
Every new test automation job may mean 1 or 2 manual testing jobs less.
But automation of the automation testing?
It is very possible at least for code that is repeated over and over in each automation project.
If you compare 2 automation projects, it is easy to notice that most of the code, maybe 75% of it, is very, very similar.
For example, you will find lots of the following in all projects:
- element locators
- methods that find elements or interact with them
- page object classes
If you think that the automation code cannot be automated, think about tools that generate code through record-and-play like QTP.
They just need to get better at it.
Or think of tools that generate websites such as wordpress.com or wix.com.
Read on Quora.com how wix.com disrupted the web design profession by automating the creation of simple websites.
Web designers that only created simple sites for individual customers are more or less out of a job.
How much more complicated can it be to generate basic automation code?
Not complicated at all.
Of course, not all automation code is the same and some of it is complex and unique.
But this is probably less than 20% of the total code.
----------------------------------------------------------------------------------------------
So how do you make your career outsourcing and robot proof?
Testers that are not professional are the first targets for outsourcing.
Then, testers that are 1 trick-pony, who know 1 thing only, are next.
So this is probably the answer.
First, become as professional as you can be with programming and automation and learn as much as possible from both.
For example, learn about design patterns, streams, lambda expressions, functions, predicates, etc.
Is this enough?
Probably not.
So continue with moving away from being a 1-trick pony:
Diversify your skills.
Learn other skills that are related to test automation.
Such as Jenkins.
It is very useful to know how to create jobs in Jenkins, run them in parallel, send emails on error, generate execution reports.
Create execution pipelines.
What else?
How about Docker?
You can replace physical or virtual machines with docker nodes.
Javascript?
The more Javascript I know, the better I feel when being in a tough automation situation with Selenium WebDriver.
Because anything is possible in Javascript.
Should I continue?
Powershell?
Maven?
Git?
--------------------------------------------------------------------------------
Does knowing so many related but different things make anyone fool-proof to outsourcing or automation?
For sure not.
But it reduces these chances a lot.
The only proof-solution for the outsourcing trend is learning, getting better, every day.
-------------------------------------------------------------------------------------------
If you want to diversify your Selenium test automation skills further, my new book just published on Amazon.com may help:
Improve Selenium Code with Automation Patterns: Page Object Model Page Factory Page Elements Base Page Loadable Component
It describes in details may automation patterns such as:
- page object model
- page factory
- creating a base page class
- page element classes
- loadable components
- slow loadable components
- bad practiced for test automation