In other words, what is the alternative for Selenium for a test engineer?
Selenium is very common these days and most testers seem to know it.
Why should I learn Selenium like everyone else?
This is a question that I received recently from a manual tester.
I understand it in the following way.
There are too many testers that know Selenium so the market for Selenium roles is very crowded.
I should look around for something else, new and shiny, that not many people are doing yet.
Then, I will be able to find a good job and have a new future.
Lets assume that the tester finds the next thing, tool or technology, learns it and gets a job for it.
He is probably not the only person that thinks this way so sooner or later, others will follow. The market for your new skills will get crowded as well.
What to do now?
Look for something else again?
On the other hand, the new tool or technology may be just a temporary trend and become irrelevant. If this happens, the time, energy and work put into it is lost.
How does this situation apply to developers? How would a developer react to this problem?
A Java developer realizes one day that there are so many other Java developers in the same market. How can he have a great career with such high competition?
Do you think that he will move to C#? Why would be the C# situation different? Or the Python one? Or Ruby?
Instead of looking for alternatives, the developer may choose to become as best as possible at his job.
Maybe his object oriented skills are not too good so he should work on them.
Maybe he could use some design patterns for making his code better designed and easier to maintain.
Maybe he could learn more code refactoring techniques.
Or get into functional programming.
All with Java.
What does he accomplish by improving his skills?
He gets better and better.
Soon he realizes that, the better he gets, the less competition he has.
Because the number of truly good developers (or doctors, lawyers, teachers, drivers, vets, soccer players, actors, singers …) is low and probably constant.
Going back to the alternative for Selenium for a test engineer.
It is true that there are many test engineers that claim knowing Selenium.
Most of them do not know it well, unfortunately.
The number of truly good test engineers with Java and Selenium skills is very low.
So, the alternative to Selenium is to be so good so they cannot ignore you.
Be so good with Selenium and Java (or any other language) so companies or recruiters cannot ignore you.
The better you get, the less competition you will have.
But speaking of alternatives a tester can pursue to become more rounded in term of skills, he could learn api testing with Java and a library like Rest-Assured.
Or learn mobile automation with Java and Appium.
Or learn Maven and Jenkins for continuous integration.
Or learn test automation at the HTTP level using the JSOUP library.
The more complementary skills you have, the less competition.