I've been reviewing job descriptions from clients that are a laundry list of tools. Or, that ask for “significant experience” with a particular technology.
No, no, no. People are not tools. They are human beings who have specific qualities, preferences, and technical and non-technical skills.
When you think about those personal qualities, think about these questions:
- With whom does this person work?
- What kind of deliverables does this person have in the short term and the long term?
- What kinds of interpersonal skills does this person need to do their job well?
Take a look at the job analysis template to see more questions. Now you're ready to think about technical skills.
Here's how I categorize technical skills: functional skills, subject matter domain expertise (problem-space and solution-space), tools and technology, and industry skills. Of these four areas, functional skills–how good a developer, tester, architect, designer, etc the person is, and subject matter domain expertise–how quickly the person can learn the internals of your system, matter the most. Most people can learn new tools relatively quickly. But it takes much longer to learn how to test first, or use combinatorial testing, or see the whole picture and what can go wrong, and so on. Functional skills require experience, and more than the same year of experience again and again.
When you think about the people you need, think hard about those technical skills, and which skills you really need. Tools, and familiarity with a particular tool may not be as important as the ability to work in small chunks and finish things. Or to explore the product to find really bad defects. Or to see how the system flows–or doesn't–together.
People are not tools. Look for people, not tools.