今回はテストエンジニアの方々がどのようにしてキャリアを歩むと良いのかを紹介するよ!
はじめに
テストエンジニアという職種は比較的新しいため、他の業界に比べるとモデルケースとなる人も少なく、どのようにキャリアアップしていけば良いのかがわかりづらいと思います。
今回はどういうことに需要があって、どのようなスキルを身に着ければ良いのかを説明していきます。
テスト活動以外の品質活動
テストエンジニアとして、テスト活動が卒なく推進できるようになったら、次に目指すべき王道は、「テスト活動以外の品質管理業務」となります。
本サイトではそのような品質活動が出来るポジションを「QAエンジニア」として定義しています。
「テスト計画~テスト終了」という一連のテスト活動に固執せず、そのプロジェクトや会社にあった方法で品質保証が出来るようになるのが重要です。
シフトレフトと呼ばれる「より上流での品質保証」や、スクラム開発などの「開発スピードが速い開発プロセスにおける知見」なども必要になってくるでしょう。
ただテストを行うのではなく、なぜそのテストが必要なのか、なぜ今そのテストをするのか、どのような品質を担保したいのか。
そういったことを考える癖をつけておきましょう!
マネジメントスキル
マネジメントも1つのスキルです。
QAチームの管理はもちろん、人のマネジメントも出来るようになると、「QAマネージャー」などのポジションも視野に入ってきます。
どのようなチームを作っていくのか、会社のどのような品質課題をクリアするのか、そういったことを考えて推進できるスキルが必要です。
基本的にQAエンジニアとしてのスキルが一定になってから、管理業務を経験する方がイメージしやすいかと思います。
プロジェクトマネジメントスキル
品質保証と相性の良いスキルに「プロジェクトマネジメント」があります。
ディレクターやプロジェクトマネージャーという呼ばれるポジションが一般的です。
上記のポジションの方々は、そのプロジェクトの品質に責任を持っています。
そのため、QAエンジニアとしての「品質保証のスキル」は相性が良いです。
スクラム開発をしている会社であれば、QAエンジニア兼「スクラムマスター」として働いている方もいらっしゃいます。
QAエンジニアのスキルが前提とはなりますが、今のモダンな企業ではスクラム開発を行っている企業も多いため紹介しておきます。
エンジニアスキル
コーディングスキル
コーディングスキルがあれば、テスト自動化やコードの品質担保も出来るようになります。
プルリクエストから品質のチェック出来るようになればとても魅力的なスキルとなるでしょう。
またテスト自動化を推進したり、QAのためのエンジニア、「SET(software engineer in test)」のポジションにつくことが出来るようになります。
CI/CDなどの知見
SET等の開発エンジニアに近いポジションで働く場合には、当然ですがコーディングだけでなく、CI/CDの知識やGithubの使い方など、開発のための環境の知見も必要になってきます。
プログラム未経験からいきなりコーディングを学ぶのは敷居が高く簡単ではないです。
そういった場合でもまずはCI/CDなど、プロセスや「品質」に関係する箇所から少しずつ知見をつけていくのも良いでしょう!
終わりに
QAやテストエンジニアの種類を調べると「テスト●●」という職種がいくつか出てきます。
例えばテストアナリストなどです。
そういった職種を定義をしている企業もありますが、現実少ない印象です。
そのため「テストアナリストになる」というイメージではなく、テストエンジニアと相性の良いスキルを学んで出来ることの領域を増やしていくのが良いかと思います。
まだまだ歴史の浅い職業ですので、今後の業界の流れによっては必要になるスキルも変わってくるでしょう。
例えば「AI」は世界的にみてもホットですよね。
ではAIの品質保証ってどのようにすれば良いのでしょう?
そういった貴重な知見も「1つの強み」となり、今後はそれが当たり前になるかもしれません。
テストエンジニアも「エンジニア」です。
エンジニアの名に恥じないように、最新の技術や動向はチェックしていくようにしましょう!