テストエンジニアからプログラマーになるには?テストエンジニアのキャリアプラン
企業において、リリース前に製品のテストを行う
「テストエンジニア」
という職業。
少し前までは、テストエンジニアは、開発を行う企業にとって必要不可欠でした。
しかし、最近はAIの発達や専用のソフトウェアの普及もあり、テストエンジニアは以前ほど堅牢な職業ではなくなりました。
現役のテストエンジニア達は、キャリアプランの再考を迫られています。
その中で、
「テストエンジニアからプログラマーになる」
というキャリアプランが注目を集めています。
この記事では、テストエンジニアの現状を再確認した上で、テストエンジニアのキャリアプランを、プログラマー中心に解説します。
テストエンジニアの需要
まずは、テストエンジニアの現在の需要を見ていきましょう。
市場需要は減少傾向
これまでは、数十万件のテストのうち、重要度が高いと思われるものをテストエンジニアが選定し、実施していました。
しかし、AIやソフトウェアの発達により、網羅的なテストが行えるようになった現在、テストエンジニアの需要は減少しています。
以前は、大規模な開発ほどテストエンジニアという役割がとても重要でした。
特にフレームワークなどの「簡単に高機能なシステム開発が出来るツール」が少なかった時代には、細かく1つ1つの動作にテストが必要でした。
ですが、最近では大規模な開発になるほど、大手企業が開発したアプリケーションを利用することが多く、テストエンジニアの活躍する場面はなくなっています。
AIの研究、ソフトウェアの開発は現在も着実に進んでいるため、テストエンジニアの需要減少はより加速することが予想されます。
これからは何が求められるか
では、そんなテストエンジニアがこれから活躍していくためには、どのようなことが求められるのでしょうか。
確かにテスト工程の実行自体は自動化が進んでいます。
しかし、テストの前段階は、まだまだ人間が行うほうがメリットが多いです。
一例として、Googleは、テストエンジニアと開発チームを分けず、テストエンジニアであっても開発の段階から参加することを求めています。
ここで必要になるのは、チーム内でのコミュニケーションと情報提供の能力です。
さらに、テスト工程に行きつくまでのマネジメント能力も、人間の能力のほうが優れていると言えます。
こういった自動化が難しい部分に、テストエンジニアの将来があると言えます。
つまり、これまでのテストエンジニアが
「厳しくテストを出来れば良い」
と考えられていたのに対して、現在では
「テストができるのは当然で、それ以外の開発を円滑にするための役割」
が求められるようになっているのです。
テストエンジニアのキャリアプラン
テストエンジニアに別の役割が求められるようになったということは、
「今までの仕事のやり方では通用しなくなる」
という現実が見えてきたのではないでしょうか。
元来、テストエンジニアというのは、エンジニアの中ではそれほど重要視されていません。
前述したような大規模なシステムの場合には、テスト専任のエンジニアがいる事もありました。
しかし、最近はそれほど規模の大きくない案件も多く、そうなるとテストエンジニアよりも、開発が出来、且つテストもこなせる人材のほうが重要視されています。
だからこそ、テストエンジニアのキャリアプランというのは、しっかりと考える必要があるのです。
キャリアアップから転職先の役割までを紹介します。
テストエンジニアが持つスキル
テストエンジニアとして就業している人が持つスキル、またはテストエンジニアに求められるスキルを簡単に解説します。
まずは、テストという地道な作業を行う適正と、テスト方針のプレゼン力が必要です。
これはその他の職業でも求められるスキルですね。
次に、テストの自動化ソフトを扱うスキルが重要です。
現在は、ほとんどの場面でソフトウェアを利用しますので、そのテストに最適なソフトウェアを選定し、動かすことができなければなりません。
テストエンジニアが持つ知識としては、担当分野の知識はもちろんですが、テスト項目を評価するためのコスト意識、さらには品質管理への理解があります。
コスト意識は、膨大なテスト項目のうち、とくに重要なものを、限られた人員で実行する能力です。
そして品質管理は、開発側だけでなく、テストエンジニアも理解している必要があります。
でないと、テスト方針の策定が、開発側の意識とズレてしまうことがあります。
テストエンジニアも、開発チームの一員であると自覚することが重要です。
キャリアアップを狙う資格
テストエンジニアとして活躍するのに役立つ資格を紹介します。
JSTQB認定テスト技術者資格
JSTQBが実施する、テストエンジニアにとって最もメジャーな資格です。
世界中で実施されているテストエンジニア認定試験の日本版で、この資格1つで、世界のどこであっても、テストエンジニアとしての能力が認められることになります。
試験は難易度別に分かれており、Foundation Levelが基礎的な内容となっており、まずはここから受験するのが良いでしょう。
JCSQEソフトウェア品質技術者資格
日本科学技術連盟が実施する、ソフトウェアの品質向上のための能力を測る試験です。
初級・中級に分かれており、いずれもテストエンジニアに限らず、エンジニアリング全般の幅広い内容が出題されます。
IT検証技術者認定試験
IT検証産業協会が実施する、テスト現場での実務能力を測る試験です。
レベル別に分かれており、ステップアップ方式で受験していきます。
現場での役割ごとに対象試験が分かれているため、現時点での実力が測りやすい試験といえます。
テストエンジニアから繋がる職業
テストエンジニアから直接つながる職業としては、テストアナリストやテストマネージャーがあります。
テスト行程の立案や評価を行うための広い視野と専門的な知識、テスト行程を円滑に行うための高いマネジメント能力が求められる職業で、テストエンジニアからのキャリアアップとしては最も多い道です。
また、より開発に関わるプロジェクトマネージャーも、こういった能力が求められる役割です。
これらの職業はまだまだAIが取って代わることが難しい分野ですので、需要が減ることはしばらくはないでしょう。
そして、テストエンジニアとしてコードやソフトウェアを扱った経験などから、プログラマーに転職するというキャリアプランもあります。
現在、プログラマーを目指すテストエンジニアは増えていて、注目されているキャリアプランです。
テストエンジニアからプログラマーになるには
テストエンジニアからプログラマーになる方法には、どのようなものがあるでしょうか。
実は、テストエンジニアとプログラマーは親和性の高い職業なのです。
ここでは、プログラミング経験者・未経験者に分けて解説します。
すでにプログラミングを学んでいる場合
すでに大学や専門学校などでプログラミングを学んだ経験があり、一定のスキルを持っている場合は、テストエンジニアとしての経験と合わせて転職活動のなかでアピールすることで、プログラマーになることができます。
プログラミングスキルに関しては、プログラミング関連の資格を取得したり、ポートフォリオを作成したりすることが有効です。
転職ではなく、社内で部署異動を願う場合には、転職に比べると比較的簡単に移動が出来る可能性があるでしょう。
ブランクや学んできた言語の違いがあるでしょうから、その辺りは勉強し直す必要はありますが、テストエンジニアの経験を活かして
「バグの少ない開発ができるプログラマー」
を目指すことできるでしょう。
社内での部署異動の場合でも、その会社でのプログラミングの実績が無い場合や、ブランクが長い場合には、転職時と同様にポートフォリオを作成するのが良いでしょう。
特に、今の会社の製品や開発に類似しているものを作ると、より異動がスムーズになるでしょう。
未経験からプログラマーを目指す
プログラミング未経験の場合、まずはなんらかの方法でプログラミングを学ぶ必要があります。
今はインターネット上にプログラミングについての情報があふれており、またプログラミング関連の書籍も充実しているので、プログラミングは独学がしやすい分野ではあります。
しかし、ゼロからプログラマーとして活躍するには、やはり社会人向けのプログラミングスクールに通うなど、しっかりとした教育を受けるのがよいでしょう。
プログラマーとして活躍するには、それなりに高いプログラミングスキルが必要で、それを独学で学ぶのはかなり難しいので、スクールなどの外部の力を頼る必要があります。
ただ、こういったスクールには入学試験があることも珍しくないので、まずは書籍等でプログラミングに触れてみるのが一番です。
プログラミングスキルを身につけるのには、学習コストを多く払わなければならないと覚えておいてください。
また、もし自社に開発部門がある場合は、定期的に勉強会を開いてもらう・・・というのも一つの手段でしょう。
会社としてもテストエンジニアがプログラミングを積極的に学ぶこと自体は、非常にメリットも多いので、反対されることはないでしょう。
テストエンジニアが活かせるスキル
テスト行程で専門のソフトウェアを扱った経験や、テスト時にソースコードにふれたことがあるといった経験、テストの現場を知っていることは、プログラマーとして活躍するうえでメリットになります。
また、テストエンジニアは「単にプログラマーとして言われたものを作っている人」よりも仕様部分に触れる事が多いです。
きちんと普段の業務から
「なぜこのテスト項目が必要なのか」
「なぜこの仕様になっているのか」
を理解しながらテストを進めることで、設計に近い考え方が身につく可能性もあります。
そのため、プログラマーになった場合でも、システムエンジニアに近い感覚で仕事を進められるため、高いレベルのエンジニアになる可能性があります。
プログラミング関連の資格
プログラマーに転職する際に有効な、プログラミング関係の資格をいくつか紹介します。
これからプログラミングの勉強を始める人にとって、資格試験は良い目標になります。
ここで挙げたもの以外にも、プログラミング関連資格は多数あるので、自身が学んでいる言語や、目指す方向に合わせて受験してみてください。
ただし、前提としてこれから転職をする・・・という前提で選んでいます。
社内の開発部門に異動を検討する場合には、資格の取得よりも、実務に近い言語の習得や、直接何を勉強すれば良いのかを聞く方が確実でしょう。
基本情報処理技術者試験
IPA情報処理推進機構が実施する、経済産業省認定の国家資格です。
プログラマーというよりも、エンジニアとしての基礎的なIT知識が問われる試験で、全くの未経験であれば、ここから始めるのが良いでしょう。
ステップアップとして、これより上位の「応用情報処理技術者試験」や、さらに専門的な「ネットワークスペシャリスト」「データベーススペシャリスト」などの高度な試験まで視野に入れておくのも1つの道です。
Oracle Certified Java Programmer,Silver
Oracle社が実施するJavaのプログラミングスキルに関する試験です。
Javaが最も有名ですが、Oracleはこれ以外にも様々な試験を実施していますので、自身が目指す方向にあった試験を選びましょう。
このJavaの試験は、Bronze、Silver、Goldの3段階に分かれていますが、Bronzeはあまり評価されないので、Silver以上を取得しておくことが望ましいです。
Python3エンジニア認定基礎試験
Pythonエンジニア育成推進協会が実施する、日本で受験できるPython資格の代表です。
いま最も注目されるプログラミング言語であるPythonについて、基礎的なスキルを示せる資格で、企業の中には、昇進要件としてこの資格を採用しているところもあります。
この試験と合わせて、「Python3エンジニア認定データ分析試験」という、データサイエンティスト向けの試験も実施されています。
テストエンジニアをお探しならAMELAに
今回は、テストエンジニアという職種について見てきました。
これからのテストエンジニアは、単にテストを出来るだけではなく、それ以外の『プロジェクト全体を円滑にするための立ち位置』が求められます。
しかし、急ぎの現場や急遽テストエンジニアが欲しくなるケースも多々あるでしょう。
「こんな人材が今欲しい」
そう考えた際には、是非AMELAにご相談下さい。
IT人材派遣やオフショア開発を行っておりますので、御社のお役に立てる提案が出来ると思います。