How to Keep Your Skills Up-to-Date in the New Year
Like most people who are hoping to start the New Year off right, I'm reflecting on what I've learned during the past year, as well as identifying what I can (or need to) improve upon. (When you're done with this post check out my trends and predictions for 2015)
Also, being a naturally paranoid guy, I'm looking for opportunities to make myself more employable in the event that I find myself laid off. This usually involves me using the following tools to find out which skills are currently in the most demand (and which ones aren't):
- Simplyhired keyword trends – I use this to see how often certain test automation words appear within Simply Hired's job postings. Knowing which words are trending upward helps me decide which skills I should focus on learning during the upcoming year.
- indeed.com – I use Indeed to check current test automation job listings in my area, as well as to determine what those companies are currently listing as requirements and/or prerequisites.
- Google trends – I use this to see how many times a certain skill is searched for. This helps me determine whether interest in a particular skill is growing or not.
(NOTE: I don’t claim that this is a scientifically accurate method but rather a quick and dirty way to “guesstimate” what skills I should focus on.)
Armed with this knowledge, I have a clearer idea of which skills I should be honing in order to stay current with the latest test automation trends. I did this last year, and discovered that based on the trends at the time, my job was on track to become obsolete because it focused exclusively on automation using QuickTest Professional.
Once I realized that fact, I made the decision to move to another position in the same company, which gave me an opportunity to learn newer automation skills using Selenium, Java, Continuous Integration, etc.
My move has benefited my employer because I'm taking the time to improve the skills that I use every day. At the same time, it has made me more marketable in case I find myself needing to switch gigs.
Looking at the numbers, I've come to the following conclusions:
Are HP test tools dying?
Not surprisingly, every HP test tool product that I've researched appears to be on a downward trend. If I'm being honest, this bums me out, since I was a big Mercury fanboy back in the day; not so much since HP took over. I'm especially surprised by what looks like the steady downward decline of LoadRunner's popularity.
Google Keyword Trend Charts
SimplyHired Trends for LoadRunner:
By contrast, most open-source tools are trending up. This seems to be pretty consistent across the board. Looks like its time for me to expand my experience with open source performance test tools.
Open source vs. vendor tool
If someone were to ask me which automation tools should they should learn, my answer, without a doubt, Selenium as opposed to QTP. If you have been on the fence about learning Selenium, you should make 2014 the year to finally do so. While you're at it make sure to check out soapUI as well.
Google Trend Results for Automation Tools:
Indeed – Number of jobs returned for Automation Tools
- QTP – 76
- TestComplete – 2
- Ranorex – 8
- Selenium – 205
- eggplant – 0
- Sikuli – 5
- soapUI – 42
Simplyhired keyword trend for Automation Tools
- Selenium Automation: -12%
- QTP Automation: -30%
What programming language should I learn with Selenium?
This is one of the most frequent questions I'm asked at http://www.joecolantonio.com. The research I've done gives allows me to answer with confidence: Java and Python.
Google Trend Results for Programming Language:
Simplyhired Trend for Automation Programming Languages
- Java Automation: +30
- C# Automation: -14
- Python Automation: +40
- Ruby Automation: +9
- Php Automation: -6
- vbScript Automation: +15
- Groovy Automation: + 25
Indeed – Number of jobs found for Automation Language in Boston, MA
- Java Automation: 446
- C# Automation: 181
- Python Automation: 305
- Ruby Automation: 160
- Php Automation: 69
- vbScript Automation: 18
- Groovy Automation: 117
jUnit or TestNG
This is another common question I see on the LinkedIn Selenium groups and other automation blogs: “Which framework should I use? jUnit or TestNG?” . This one is not so straightforward to answer – let's just call it a tie. I know in the past TestNG had the edge but with the latest version of jUnit they are now both pretty much equal to each other.
Simplyhired Trend for Automation Programming Languages
- TestNg: +4
- jUnit: +9
Indeed – Number of jobs found for Automation Framework in Boston, MA
- TestNG: 47
- jUnit Automation: 57
Which Integrated Development Environment is Best?
Yet another question I see frequently is: Which IDE should someone that is developing test automation scripts use?” Answer: IntelliJ. (FYI: IntelliJ has a free Community Edition available.)
Google Trend Results for IDE:
Simplyhired Trend for Automation IDE
- Eclipse: -19
- Visual Studio: -21
- Intellij: +13
- jDeveloper: -38
Indeed – Number of jobs found for IDE in Boston, MA
- Eclipse: 214
- Visual Studio: 355
- Intellij: 8
- jDeveloper: 3
Other Trends for 2014
QA vs Test Dev
Another trend that has actually been ongoing for the past couple of years is the fact that straight QA positions, which require doing manual testing only, are being replaced by the need for test engineers that are also developers. As a matter of fact, I'm seeing more and more of this type of job posting. Check out this one from fitbit. Notice the wording “this is an engineering lead position, not QA.”
I've also been interviewing people for a similar open software engineer in test position at my firm and have been having a hard time finding an individual with the proper development/testing skills.
You don't need to be a programming superstar but you should now the basic of programming and are able to code Selenium script in code without relying on using a tool like Selenium IDE to generate the code for you.
In fact there is an excellent book I reviewed this year: Java For Testers: Learn Java Fundamentals Fast by Alan Richardson which lays a solid foundation for beginners who need to learn how to program in Java in order to start using Selenium.
As I mentioned in the Open Source vs. Vendor Tools section, there's been a pretty rapid uptick in the use and demand for engineers who know soapUI. Since soapUI is used for testing headless technologies like API, REST, DB and JMS I would say that automation engineer needs to start focusing more heavily on headless testing. This is one of the reason why I wrote my book, The UFT API Testing Manifesto – A Step-by-Step, Hands-on Testing Guide for the Masses.
Focusing on headless testing rather than UI testing will make your tests more reliable, faster and reduce your maintenance efforts. Other headless technologies that are exploding are PhantomJS and Jasmine.
GUI testing should always be the last resort for any test automation engineer, and it looks like more people are starting to agree with me, as headless testing is a skill that is trending upward. In fact, in a Forrester 2014 forecast report they list API as one of their top 2014 trends. The January 2014 issue of Wired magazine is dedicated to wearable tech…and how does one interact with these types of devices? Mostly by using APIs.
This exercise has helped me tremendously. I try to do it at least twice a year. I admit that it's not 100% accurate; you may have other factors that you look at or give more weight to than I do. But it should give you a good indication of automation trends you should be paying attention to. Hope it helps you. Have a great 2014!