I was asked to give a short presentation to a Testing Training Class about the attributes required from a Professional Tester in today’s environment.
After carefully reviewing the issue and talking with a couple of colleagues I reached the (un-surprising) conclusion that today we look for 2 separate types of attributes in a tester: Soft-Skills and Technical-Skills.
Personally I think that Technical Skills can be learned by 80% of the population, but Soft Skills are something that takes more time to cultivate and mold. This is the reason that when I interview a candidate for a position I start by evaluating his personal skills based on my following list:
1. Communication skills – both verbally and written.
This is my first impression of the person and it starts with the way the she will introduce herself and even how she wrote her resume.
Every person in the team, and specially a tester, needs to be able to communicate clearly and accurately, without going around in circles and knowing how to differentiate between the noise and the important stuff in his message.
Most importantly, she needs to know how to reach her audience regardless if this is his manager, a fellow tester or a developer in the firm.
2. “Business Oriented”
(Confused…? Are we still talking about a testing job…? – I was tempted to make this my first attribute, but I decided that the first impression comes from the verbal skills, but so that you know you… it was close call!)
I think that each member of the team needs to understand the purpose, requirements and constraints of the business; after all we are part of a larger team with one sole purpose or mission. I don’t believe in hiring short-sighted engineers who’s sole purpose is to find bugs and go home.
What I look for is a person who knows how to shift priorities as they shift within the company, and to always find the most beneficial way to contribute to the efforts of the Organization.
3. Ability to Self-Learn
I am not looking for a self-taught rocket-scientist, but I need to understand that the candidate will be able to take a new subject (it may be a methodology, a feature or a tool) and learn it by herself, looking for materials available on the web, books, or whatever other place she may find them.
4. Flexibility Much in line with the point about Business Orientation, I look for persons who will be able to do more than one job and who won’t find ANY JOB bellow their taste or abilities.
My favorite example is from Test Engineers who are hired to do Automation and REFUSE to do ANY manual tests whatsoever (these guys have approximately 5 minutes to pack their stuff and go home in my teams). You can choose not to move to do a Job permanently if you don’t want to, but if the team needs something done you should be able to fill any position that will help push forward the objective and goal of your Organization.
If you’ve been in testing for more than a couple of months you know that our job requires us to move mountains once in a while.
A tester should poses that delicate balance between understanding when they are wrong (and letting go) and when they need to be persistent with their peers, managers and other stakeholders.
To compliment my soft-skills list, in addition to all the above every tester should also be curious, careful and consistent.
I already expressed that I believe these skills can be learned quickly enough so I don’t pay too much attention to them on a Starting Tester. On the other hand, if I talk to someone who has been in the field for a number of years I try understanding about his knowledge and experience in the following areas:
1. Technical Skills in the product areas he worked previously.
2. His ability to analyze a product and deduce from it the best approach to test it (based on the requirements and constraints of the business!)
3. His ability to write clear and complete testing scenarios
4. Bug reporting skills
5. Tools – any tools regardless if they are testing-tools, db-tools, sniffers, etc
Again, at the end of the day you can always train someone on the technical aspects of the work, but you cannot change the way he is.
It is better to have a great person who can become a good tester, than a “great” tester who will never be a good part of your team.