お客様の状況に合わせた
最適な提案ができるエンジニアを目指す

Hirokazu

テスト自動化エンジニア

※本記事は2021年時点での取材に基づいています

デジタルハーツに入社されるまでの経歴を教えてください。

子供の頃からゲームが好きで、ゲームを作る側を目指してゲーム系専門学校に進んだのですが、就職活動の前に「ゲームは作るよりプレイする方が好きだな」と気が付きまして(笑)。 学んだことを活かそうとIT業界へ入りました。

新卒で、いわゆる技術者派遣の会社に入社し、バックエンドからフロントエンドまで幅広い案件に携わりました。バックエンドでは航空制御の監視システムにおける指紋認証システムや大手銀行の課金システムの開発案件、フロントエンドでは大手オークションサイトの開発案件などを経験しました。
入社当初はプログラムを組むだけでしたが、経験と共に上流工程の仕事を任せていただけるようになり、設計や営業担当者と一緒にお客様との商談への参加など、難易度は上がっていきましたが、それと同時に充実感もあり、楽しくなっていった覚えがあります。 多様な案件を経験できる良い環境だったのですが、更なる成長にむけ、より深く開発に関わりたいとの思いから転職を考えるようになりました。

そうした思いから自社でシステムを開発・販売する企業へ転職しました。いちからのシステム開発は初めての経験で、量産されるバグにもの凄く苦労をし、この時にテストの重要性を認識しました。
転職時の思いは叶って開発スキルは高まったのですが、一方で、品質に苦労した経験から品質保証に関するエンジニアリングへの興味が強くなりQAを得意とする当社へと転職するにいたりました。

デジタルハーツに入社した理由を教えてください。

先ほどもお話ししたとおり、開発での不具合に関する苦い経験を通じてQAに興味を持ったことからデジタルハーツに応募しました。
開発エンジニアをしていた時に、大きなプロジェクトのPMを務めたことがあったのですが、そのプロジェクトに失敗してしまったんです。当時の上司のカバーのおかげで会社としては事なきを得ましたが、プロジェクトとしては完全に失敗でした。
プロジェクトの失敗という経験は苦いものでしたが、多くのことに気が付き、学ぶことができました。

当時、開発工程の進捗が思わしくない中で、自身が中心となって有志を集め「このままじゃまずいから、テスト自体をしっかりとやろう」と意識合わせをしました。
単体テストが出来ていれば、マージに失敗しなければ問題が無いわけではない、ちゃんとレビューしよう、テストのやり方を変えよう、仕様の共有をきちんとしよう、カバレッジはここまでやろう、といった風にメンバーの目線を合わせ、問題と対策を整理して…、今考えると当たり前のことですが、そうした当たり前をキッチリと行っていくようにしました。
その結果、大量のバグで開発が進まないという状況を改善させていくことができたんです。開発のプロジェクト自体は失敗してしまいましたが、この時、品質課題に向き合ったこと、テストに注力した経験が僕にとっては印象深く、面白かったんです。

”テストを甘く見て苦労した”という経験と”品質課題への取り組みが面白かった”という経験から、QAに対する見方が変わり、僕の能力をテストの世界で役立てたいと強く思うようになりました。
デジタルハーツの面談で、QA/QEへのこだわりや、お客様にスピードと品質を両立したテストを提供していきたいという話に、エンジニアとして惹かれたことと、エンジニア同士の社内の連携も取り易そうで、企業としても成長過程にありチャレンジングで面白そうなところだな、と思ったことが僕がデジタルハーツに入社を決めた主な理由です。

デジタルハーツでは、どういったお仕事をしていますか。

今は負荷診断やテスト自動化を主に担当しています。特に自動化テストツールをよく触っており、お客様にとって最適な自動化ツールの提案をすることもあります。

例えばレポートが簡単で見やすいAutify、ネイティブアプリでいえばノーコードでできるRannorexなどがありますが、お客様によってテストに対する課題は様々で環境も異なります。モバイルアプリなのか、コードを書けるのか書けないのか、コストはどうなのか…。
そうした、お客様の状況に応じた最適なテスト方法や最適なツールをご提案できるよう、QAエンジニアとしての知見はもちろんのこと、ツールに精通し、お客様の状況を十分に理解できるよう心掛けて仕事に取り組んでいます。

近年では、継続的インテグレーションといった考え方も浸透してきているので、システムのライフサイクルを考慮した上でお客様にとってベストな方法をしっかりと提案することにも力を入れています。
例えば、自動化テストは導入時コストが高く、初期コストを比較すると、どうしても人が手でポチポチ作業するテストと比べて目立ってしまいます。そうるすと「じゃあ手でお願い」ってなってしまうんですよね。
でも、実際にそのシステムのライフサイクル全体を考慮すると、バージョンアップのたびに同じテストを繰り返すことになるので、自動化を導入した方がお得だったりします。

これはほんの一例ですが、お客様の状況をしっかりと伺い、十分に理解を深めた上で、そのお客様にとって最適な提案をできるようなエンジニアになりたいと思っています。
個人的な思いになりますが、これからのビジネスにおけるシステム開発では、クオリティはもちろんのことアジリティも求められるようになると考えていて、テスト自動化の必要性はますます高まってくると思います。

QAの上流に僕のようなSET(Software Engineer in Test)がいることで、仕様変更が入った時には今回の更新では自動化しているテストのここに影響があるなと分かりますし、修正にあたりコーディングを手伝うことも出来ます。チームメンバーの助けも借りながら、テスト実施による品質確保に加え、お客様の開発スピードの向上に貢献できると思います。
開発と並行してQA計画を立て、モノが出来たと同時にテストを実行する。これまで点で行っていたことを面で動かしていくことで、クオリティとアジリティを両立していきたいと思います。
私たちの技術力も高め、テスト自体の自動化だけでなく、開発工程の上流でテストコードを書くなどDevOpsパイプライン全体を通した品質エンジニアリングにより、アジリティも高まるQAサービスをお客様に提供していきたいですね。

デジタルハーツへの応募を検討されているエンジニアのみなさまへ。

これまでの(あるいは今でも)開発では、ウォーターフォール型で設計⇒開発⇒テストという工程のもと最後は徹夜で何とかする!といった考え方が主流だったように思いますが、スクラム開発への変化やシフトレフトテストの考え方も増えてきて、QAの形も変わってきていると感じています。

変化するスタイルに合わせて迅速なテストを提供する為にも、僕らエンジニアは常に知識をアップデートしておく必要があると思っています。
例えば、先ほど話したテストツールで言えば、僕らメンバー全員がなんらかのツールのスペシャリストでありたいと思っていて、自動化ツールの勉強会なども実施しています。全員がパラレルに勉強して共有した方が効率的ですし、チームとしての力を高めることでより高い充実感を得られるような、難しいけれど楽しめる案件を獲得できると思います。

そうした環境作りから一緒に楽しめるような方が来てくれたら嬉しいと思います。