エンジニアの中にも、システムを設計~実装を行う"開発"担当と、システムに不具合がないかをチェックする"テスト"担当がいます。
今回は開発エンジニアからテストエンジニアにキャリアチェンジした、北郷 大道(ほんごう ひろみち)さんに話を伺いました。
北郷さんは、前職で業務システムの保守開発のエンジニアを担当されており、現在は、前職の経験も活かしながらバルテス株式会社でテストエンジニアとして勤務しています。
開発エンジニアとの仕事の考え方の違い、重視されるスキル、テストを行う際に見るポイントといった点について語っていただきました。
今回インタビューを受けてくださった方
- 北郷 大道
バルテス株式会社 ソリューションサービス部
非エンジニア職からキャリアをスタートし、後にエンジニアへと転身。主に業務システム開発に従事し、改修時の影響範囲調査、保守、設計~実装、テスト等を実施。8年間の開発経験の後、自身の強みを活かすためにキャリアチェンジを決意し、現在はバルテス株式会社でテストエンジニアとして活躍している。
- もくじ
強みだと思っていなかったことを評価してくれた
-なぜ開発エンジニアからテストエンジニアへキャリアチェンジされたのですか?
北郷氏: 前職では非プライム案件でお客様に常駐し、主に業務システムの保守開発を担当していました。
具体的には、改修時の影響範囲調査、設計~実装、テスト等です。
ただ、開発エンジニアとして上流工程の経験を積むことが困難でした。
資格取得を通して上流工程への参画意欲をアピールしながら新規開発・品質保証部への異動希望を出したのですが、チャンスが巡ってこないため、開発エンジニアとして今以上のステップアップは難しいと感じていました。
そこで、テストを強みとする第三者検証の立場でシステム開発に関わるのであれば、これまでの自分の経験を活かしながら、品質保証という軸で専門性を高めていけそうだと考えました。
-第三者検証の会社に入った時の印象はどうでしたか?
北郷氏:これまでテスト工程を多く経験してきましたが、いわゆる下流工程に位置付けられるためキャリアパスとしては弱いと思っていました。
でも「強みだと思っていなかったことを評価してくれる会社がある」というのが嬉しかったですね。
また、バルテスは教育に非常に力を入れていて、研修などで日々学べることが多いのも良い点です。
以前の会社がそれほど教育に力を入れていなかったので、教育をちゃんとしてくれる会社が良いと思っていました。
テストエンジニアの仕事は「宝探し」みたいで楽しい
-テストでワクワクするのはどのような瞬間でしょうか?
北郷氏:テストの仕事では「バグを見つけたときの爽快感」が魅力です。
普通の操作をしていたはずなのに「あれ、何かおかしい」と感じることがあります。
例えば「このシステムのこの画面でこのボタンを押した時にこうなるの?」となった時、違和感があるんです。
掘り下げるとおかしい点がわかるんですよね。
違和感を突き詰めていくとバグだった。
こういった前工程で見逃されてきたバグをリリース前に見つけると「よく見つけた!」と"宝探し"のような爽快感があります。
これが開発となると、大きいプロジェクトなら設計書をプログラム言語に翻訳するようなイメージなんでこのような感覚はないですね。
ちなみに、昔パチスロによく行ってたのですが、出目と演出の不整合でボーナスを察知する感覚がテストエンジニアの仕事と似てるなと感じました(笑)
-テストをしていて「やった!」と思った具体的なエピソードを教えてください
北郷氏:設計書を元に開発していても仕様書に記載されていないため、バグが出たことがありました。
例えば「どんな患者がどんな薬を飲むか」という投薬データに関するシステムをイメージしてみてください。
患者一人ひとりのデータを入力するんです。
一度に飲む薬の量、「一回何錠」の部分は通常は最大で2桁までですよね? ところが実際に入力すると「10000000000......」と何桁でも入力することができてしまいました。
仕様書には「〇桁まで」と記載がなかったんです。
このように、暗黙の了解が仕様書に記載されていなかったことが原因で起こる不具合を発見できたことは大変良い経験になりました。
操作手順によってバグが出たり出なかったりしたこともありますし、
入力しないとできてしまうとか、入力順序によっても出るときと出ないときもありました。
普通に入力して「確定」するとできたんですが、入力して「クリア」した後に再度入力しようとしたら、あるはずのボタンがなくなって押せなかったこともあります。
重要なのは「角を立てずに指摘できるコミュニケーションスキル」
-このスキルがあった方が良いというものはありますか?
北郷氏:やはり人とのコミュニケーションスキルはとても重要です。
コミュニケーションといっても単なる雑談を指しているのではなく、不具合情報を共有する前に事前に条件などを洗い出しておいて、データをもとに開発者ときちんとコミュニケーションを取るスキルという意味です。
具体的な例でいうと、「これは不具合ではないか?」と疑った現象が、思うように再現できたりできなかったりすると困ると思うんですね。
「テストエンジニアが手順通りに操作し不具合が出る」といったエビデンスがあったとしても、開発者がもう一度テストを行っても不具合が出ない場合があります。
同じ条件の下でテストを行っても、実施した時間帯などによっても結果が違ってくることがあるんです。
そういうことが起こらないよう、ある条件・データ・手順でテストすると不具合が出る、といった再現条件も提示できると良いですね。
つまり、どういう条件なら不具合が出るのか、開発者に明確に伝える義務があるんです。
不具合が出た時と同じ手順で開発者がテストして再現しなかったら、テスト手順が誤っていたことになりますからね。
ただ、開発者が作ったシステムにダメ出しをすることになるので、角を立てずに指摘できるコミュニケーションスキルがあるとなお良いですね。
-「角を立てずに指摘できるコミュニケーションスキル」とは具体的にはどんなものでしょうか?
北郷氏:これは私のやり方ですが「これは明らかに不具合だ」と思っていても、あえて質問形式で投げかけます。
「これってこういう動きになると思っていたんですが、そうならなくて。
これって合ってますかね?」という具合です。
このように質問形式にすると、角が立たずに開発エンジニアに問題点を伝えられるんです。
テストエンジニアは、開発エンジニア以上にコミュニケーションスキルが重要だと思います。
なぜならテストエンジニアは、開発エンジニアに不具合を指摘しなくてはならないからです。
伝え方によっては開発エンジニアと険悪な関係になってしまいます。
テストエンジニアになる前に色々な経験を積めたことがプラスに
-最後に、キャリアチェンジに興味をお持ちの方に向けてメッセージをお願いいたします。
北郷氏:テストエンジニアには開発エンジニアと対等に話を進められる知識・スキル・経験が大事だと思っていますので、活躍できる方は多いのではないでしょうか。
私の場合はテストエンジニアになる前に色々な経験を積めたことが検証する時の視点としてはプラスになっていると思います。
どんどん新しい技術が出てくるので、それを学ぶのに抵抗がない方はテストエンジニアとしてぜひチャレンジしてもらいたいですね。