QAエンジニアにソフトウェア開発の知識は必要か?

タイトル通り、QAエンジニアにソフトウェア開発の知識が必要なのでしょうか?というお話です。 今年の Jasst Tokyo でも少しだけ話題に上がっていましたね。

経緯

僕が今まで働いてきた多くの会社ではソフトウェア開発に関する知識がほとんどない方がQAエンジニアとして働かれていました。 一緒にお仕事をしてくださった第三者検証の方もほとんどの方が似たような考えをお持ちでした。 多くの方はソフトウェア開発の知識よりもソフトウェアテストに関する知識が大事とおっしゃいます。 第三者の視点で品質保証ができればよいうという考え方なのだと思います。 だけど本当にそうなんだろうか?と思ったのがこのブログのきっかけです。

市場の要求

試しにこれを書いている今、自社開発のQAエンジニア求人をざっと検索してみましたが「ソフトウェア開発に関する体系的知識」みたいな事項が必須要件に書かれているものはほとんどありませんでした。 具体的には15求人を確認し、4求人のみが「ソフトウェア開発に関する知識・経験」に類するものを必須要件としていました。 求人の文字だけを見て判断するのであれば、約75%の求人ではソフトウェア開発の関する知識を必須として要求していないという結果です。 実際に現場で働いている人も、市場もあまり求めてなさそうですね。。。。

ところがです、QAエンジニアを募集されている企業さんに実際に訪問して話を聞くと結構「ソフトウェア開発に関する知識がない人が多くて困る」みたいな話をよく聞きます。 よくよく話を聞いてみると、「QAエンジニアもエンジニアなんだからソフトウェア開発に関する知識はあるものだと思っていた」と。 なるほどなーという感じでした。 もちろん直接はなしを聞いてみても、ソフトウェア開発に関する知識がなくても問題ないとおっしゃる企業様もいらっしゃるので、全部が全部要求されているわけではないのですが。

個人の見解

僕個人の意見ですが、QAエンジニアにソフトウェア開発の知識は必要だと考えています。 QAエンジニアの価値は品質を保証するために何を確認するか?どうやって確認するか?そもそもどうやってプロダクトを作っていくか?等を考えて実行し改善していくことだと思います。 これらを考えるためにはソフトウェアがどのように作られているのか?どうやって動いているのか?どういった技術が使われているのか?が分からないと判断できないのではないでしょうか? だからこそ、僕はソフトウェア開発の知識はQAエンジニア全員に必要だと思います。

同じ業界にいる方はどうお考えなのでしょうか? いろいろ教えてもらえるとうれしいです。