テストを書くのは必ずしもプログラマの仕事ではない

ついでに思い出しましたが,Microsoft は基本的に開発エンジニアが分かれていて,実装担当の人とテスト担当の人がいるんですよね.例えば MSKK の新卒採用のページをよく見ると「募集職種 (技術職) - 開発エンジニア (ソフトウェアデベロップメント/テスティング)」と書いてあります.
さらに MS 本社の方を見ると,テストに携わる人は以下のように組織されているようです.

A few job titles found here:

Software Test Engineer
Tests and critiques software to assure quality and identify potential improvement opportunities and projects.
Software Test Lead
Directs and leads a team of test engineers and is responsible for the quality of certain product areas and components.
Software Test Manager
Oversees product testing within a product unit, designs master test plans and schedules, and manages test organization via test leads.
Software Design Engineer in Test
Tests and critiques software components and interfaces in more technical depth, writes test programs to assure quality, and develops test tools to increase effectiveness.
Software Test Architect
Identifies test design and implementation improvements, runs pilot projects to measure their impact, and drives adoption across various Microsoft product development teams.

試しに,現在 Microsoft が募集しているテスト関連職の一覧 から適当に選んで,要求されるスキルを見てみると面白いかと思います.というか「テストを書くのは必ずしもプログラマの仕事ではない」と書いてしまったせいでだいぶ語弊がありそうな感じですが,いわゆるプログラミングができる人を複数人雇うとして,そのうち何人かは本当にテストに専念させるぜという分業制に見えます.「プログラミング未経験者歓迎! 誰でもできる QA のお仕事!」といったしょぼい話ではないことに注意してください.
ちなみに,以前大変お世話になった波村さんは,MS 本社の C# チームでテストを担当されていた方です.そんな C# チームの Test Lead のカバンの中に,SICP と Hibernate 本が入っていた という辺りから,求められる教養やスキルは推して知るべし.

んで,来週の MVP Global Summit は,そんな「テストを書くのは必ずしもプログラマの仕事ではないかもしれない」会社で働くエンジニアの方々に色々お伺いする年に一度の大チャンスなんですよな.本当は以下の本を読み切ってから行きたかったのですが,どうも時間が足りなさそう.

How We Test Software at Microsoft® (PRO-best Practices)

How We Test Software at Microsoft® (PRO-best Practices)