良いプロダクトを最速で作るために——QAエンジニア村岡の挑戦
2022年1月、QAエンジニアとしてfreeeに入社した村岡里紗。この記事では幼い頃にパソコンに夢中になった彼女の歩みと、キャリアを選択するときに考えていたこと、freeeのQAエンジニアとしての思いを綴ります。
パソコンが自分の強みだという自覚が生まれた学生時代
「エンジニアになるべくしてなった」と語る村岡。原体験はモノづくりでした。
村岡「4、5歳の頃、折り紙をホッチキスで止めて本を作って、それに小説を書いて親に感動されました。他にも手芸やビーズ細工が好きで、一人で黙々とやっていましたね。凝り性で、やり始めたら止まらなくなります(笑)」
パソコンとの出会いは中学生の頃。流行に乗ってホームページ作りに挑戦しました。
村岡「学校に導入されていたパソコンの性能が良く、情報処理の授業も充実していて、興味を持ちました。当時はホームページを自作するのが全盛期で、友人の影響でやり始めたんです。
凝り性だったこともあり、あり物のテンプレートをコピーして作るのではなく、本格的なものを作ってみたくなりました。ネットで『ホームページ 作り方』『レンタルサーバー アップロード 方法』などと検索して、HTMLやCSSを独学し、FTPツールでサーバーにあげはじめたんです。作成した画面が動いた時は最高に嬉しかったです」
高校時代になると、村岡のスキルはさらにレベルアップします。
村岡「授業で学んだエクセルやパワーポイントも楽しくて、パソコン関係にはけっこう強いんだなという自己認識が生まれました。
HP作成も趣味で続けていて、作り方を調べれば子供の私でもオシャレなHPが作れることが面白く、満足度が高かったです。無意識のうちに、いかに導線を強化して、閲覧者がコンテンツ に辿り着きやすくするかまで考えていました」
そんな高校時代を過ごした村岡でしたが、進学先に選んだのは教育学部国文学科でした。パソコンと同じくらい日本語に興味を持っていた村岡は、その知識をフル活用し、学習にも役立てました。
村岡「本来なら行間から読み取れる作者の意図などを研究するのが筋ですが、私の場合は、パソコンが自分の強みだという自覚があったので、本文によく出てくる文字列の統計から、作者が出したかったテーマ性を分析したりしていました。パソコンを使った文学の研究は、教授からのウケも良かったですよ(笑)」
文学方面に進んだものの、就職活動を始めるに当たって、村岡が希望したのはメーカーでした。
村岡「自分が本当にしたいのは何なのか考えたときに、やっぱりものづくりに関わりたいという気持ちが大きかったんです。しかし何社かメーカーを受けたんですが、全滅してしまって……。
そこであたらめて自己分析を行い、『私がやりたいのは作る側だ!』と再認識し、『文系で製造職に関われるのはITだ!』と結論付けました。
ITエンジニアを志望して面接を受け、数社から内定をいただくことができました。独学でHPを作った経験や動画作成の経験を生かすことができました」
構築したものが動いた瞬間の喜びは格別
村岡が就職先に選んだのは、大手ホールディングスのシステム部門を担当する子会社でした。研修ではプログラミングの楽しさとテストの大切さを学んだと言います。
村岡「マークアップ言語しかやったことがなく、プログラミングは未経験だったので、研修が手厚く、しっかり育ててくれそうなところを選びました。
半年間の研修では『学べるだけで嬉しいのに、給料までもらえるなんて!』と、至れり尽くせりのサービスを受けている気分でした(笑)
またテストの大切さも知ることができました。入社初日に『テストをミスしたら、会社に多大なる損害が出ます』と聞いて、震え上がった記憶があります」
研修が終わると、グループ内のシステム作りに携わるようになった村岡。開発とQA、どちらも経験しました。
村岡「テストの手伝い→開発とキャリアを歩みました。開発はバックエンドが主でしたが、フロントエンドにも携わり、開発の基礎や考え方が身につきました。
その後、開発から遠ざかり、見積もりやパートナーの管理といった管理業務が増えそうになったタイミングで、『せっかくエンジニアになったのだからもっと開発に携わりたい!』と思い、転職を考えるに至りました」
村岡が2社目に選んだのは、HRテックの自社サービスを持つベンチャー企業でした。
村岡「バリバリ開発ができるという情報を聞いて面接を受け、入社しました。できれば1つのシステムの開発をじっくり腰を据えてやってみたい気持ちがあったので、自社サービスがある会社を選んだんです。
大手からベンチャーへ転職することへの不安や抵抗は全くなく、あまり堅苦しいのは得意じゃなかったので、む しろ楽になるなぁという感じでした。元々システムを知っていたのも大きく、愛着がありました」
3年間、バックエンドを中心に開発を担当した村岡。前職での業務を振り返ります。
村岡「キャッチアップは、他の人のコードを読んで真似することを大切にしました。最初はかなりダメ出しされましたが、フィードバックを受けながら鍛えてもらいました。
業務としては、新規プロダクトの継続課金のシステム、適性診断のシステムの設計に携わりました。その後プロジェクトリーダーとしてOKRの達成を目指し、仕様の決定などのPM業務に加えて、自身もコードを書き続けました。上流から下流まで全てやるなんでも屋さんで、現場のリーダーもやっていました。
新しいものを作る際にはバグが出たり、苦労したりする場面もありますが、構築したものが動いた瞬間の喜びは格別でした」
一人前のQAエンジニアになるために
3年間、開発に携わったあと、村岡はQAエンジニアへの道に進むことを決意します。その理由を語ります。
村岡「プロジェクトリーダー時代に、メンバーが作ったものが正しく動作するかチェックをしていました。当時、ソースコードや画面からクリティカルなバグを何度か偶然見つけた経験があり、品質管理に興味を持ち始めたんです。エラーを見つけるのは得意だなって認識もありました。
また開発に携わっているうちに、自分の得意分野を持ち、なんらかの技術スペシャリストになりたい思いが湧いてきていました。フロントエンド・バックエンド共にそこまで尖って得意というわけではなく、どちらかというと堅実にテストして、問題の起きにくいシステムを作ることが得意だという自覚がありました。
そんな理由で、直談判してQAエンジニアに転身したんです」
当時、社内にはQA専門チームがなく、1人目のQAエンジニアとなった村岡。自社においてQAはどういう存在であるべきなのか——それを探るところから業務を始めました。
村岡「社内に比較的テストに詳しい人がいたので、教えてもらいつつ始めました。私が所属していたチームでは、それまでリリースに合わせて各々がテストしていたのが、私経由になりました。
また3年の開発の経験からバグの発生しやすい箇所を知っていたので、開発まえにあらかじめ伝えることもできるようになりました。さらに仕様書の段階でテスト方法などをアドバイスし、起きやすいバグを未然に防ぐことに注力していました」
村岡はその後、freeeへ入社しますが、転職を考えるようになったきっかけがありました。
村岡「世の中的にもQAのイベントが急に増え、その重要性が認知され始めたころでした。私も知見を高めるために色々な記事を閲覧していて、そこでfreeeの名前をよく目にしていたんです。JSTQBという資格があり、その技術委員会に入ってる方が社内にいたのも大きいと思います。
当時はまだQAになって日が浅く、本格的に転職などは考えていなかったんですが、興味本位で視聴したメルペイとfreeeの合同イベントの内容が面白く、興味が湧いてきました。
その後、カジュアル面談をする機会がありました。『是非選考に』と言っていただき、QAに強いfreeeにそう言われたことが純粋に嬉しく、印象に残りました」
それからQAエンジニアとして1人で格闘しているうちに、転職を考え始めました。
村岡「社内で一人目のQAのうえ、独学でやっていたため『自分のやり方はこれでいいのか』という気持ちがあり、強いQAが複数いる会社で修行したいという気持ちが強くなっていきました。QAエンジニアとして、会社にちゃんとバリューを出せてるのか不安があったんです。
その時に真っ先に転職候補として上がったのが、過去にカジュアル面談を受けたfreeeでした。修行して、一人前のQAだと胸を張って言えるようになりたかったんです」
こうしてfreeeの面接にやってきた村岡。印象に残ったことを語ります。
村岡「『freeeに求めるものはなんですか?』と聞かれて、正直に『修行がしたいので、師匠になってくれそうな人がいる会社がいいんです』と伝えました。そういう人は社内にいっぱいいるから叶えられると思いますと言われ、すごく嬉しかったのを覚えています。
またアトラクトが熱く、ここで働いてみたいと思えました。前職のような若くて熱量の高いベンチャーを応援したいという気持ちもあったので、事業内容にも深く共感しました」
良いプロダクトを最速で作るためにQAエンジニアとしてできること
こうして2022年1月、freeeに入社した村岡。QAチームにジョインします。
村岡「いろいろ教えてもらいながら、業務を始めました。前職でも使っていたテスト管理ツール『TestRail』を使っているため、比較的スムーズに仕事を進めることができました。またやり方や考え方についても自分で考えていたことから大きく外れていなかったので安心し、このまま頑張っていこうと思えました。
当時は『freee人事労務』の人事マスタ領域のQAを担当していました。従業員の名前や住所、家族情報、給与の情報、雇用形態など、従業員の情報を管理する領域です。
はみ出てないか、違う欄に書いていないか、入力日が正しいか、提出書類をアップロードすると正しく表示されるか、手当を追加すると給与に悪影響が出ないか、リンクをクリックしたら正しい情報が載った状態でPDFが表示されるか、などなど総合的なテストを行っていました」
村岡はfreeeにおけるQAの仕事の一部始終を語ります。
村岡「開発前の段階で会議に入り、知識をPdMと同じレベルに引き上げ、仕様書に間違ったことがあれば指摘します。 開発に入ったら、一般的に『QAin』というQAが入るタイミングがあります。しかし私はその前に、自分の開発環境を使って勝手にチェックして、Slackで報告しています。作り途中のもののバグもコミュニケーションの中で洗い出し、報告します。
ある程度開発が完了したら大掛かりなチェックを行いますが、すでに細かいチェックは済ませているので、大きなバ グは出てこないことが多いですね。バグがなくなったのを確認したら、脆弱性の診断を終えてから、セキュリティチームにバトンタッチし、問題がなければリリースになります」
入社後一番苦労したのは、データの不整合の修正案件だったと言います。解決に向けて、開発の経験を生かしてテスト自動化を導入しました。
村岡「修正箇所の影響範囲が広く、パターンも膨大だったので、気が遠くなるようなテストケース数になりました。中には踏むと必ず画面がエラーになり、処理がそれ以上進められない現象があったのですが、根深い問題だったので直されずにいたところに取り組んだんです。
また修正後も、修正した部分が他に悪影響を及ぼさないか確認するために、影響範囲が広範囲に渡るために、注意が必要でした。
最終的には自力でやることを諦め、E2Eを使って自動化することで、千を超えるパターンを実行し、その中でバグも発見できました。テスト自動化のコーディングには開発の経験を生き、比較的スムーズに行うことができました」
QAの何が難しいのかと考えた時、思い浮かんだのは「正解がないこと」だと言います。
村岡「バグを見つけるのは、まるで砂漠の中で一本の針を探している状態です。チーム全員で最適解を探しながらトライしているものの、自分たちなりのやり方を見つけ、それを正解にしていくことが求められます」
村岡が働く上で大事にしている思いを語ります。
村岡「開発エンジニアだった頃から、開発をする上で『理想のシステムとは何か』『誰にとっての理想のシステムであるべきか』など、freeeでいう理想ドリブン、マジ価値のようなマインドは意識していました。
また、HRテック出身のこともあり、自分が『市場で価値のあるエンジニア』になることを常に意識しています。転職する気は今のところ全くないですが、常に履歴書は更新しているし、社内でも色々と積極的に手を上げるようにしています。
またQAエンジニアになっても『良いプロダクトを最速で作ることを目指す』という思いを持っています。新しい機能が1日でも早く使える方になった方がお客さんとしては嬉しいし、freeeとしても1日でも早く届けるのが価値だと考えています」
最後に、村岡がQAエンジニアとなった選択を振り返り、これからの目標を語ります。
村岡「QAに進んで良かったと思っています。仕事は楽しいし、専門性を持つこともできたし、おかげで向こう数年は食いっぱぐれる心配もなさそうです(笑)慢心はせずに勉強は続けていきたいと思っています。
これからも開発経験があるという強みを活かして、より開発の上流からテストを行うことを続けていきます。また高速でフィードバック出来るような体制づくりをQAチーム全体に働きかけたいです。『開発が終わる頃にはバグはほぼ出尽くしていた』という状況まで、freee全体を持っていけたら最高なので、それができるQAエンジニアになりたいです。
自分の中の興味的な目標でいうと、QAエンジニア界隈で一目置かれる人になりたいですね。昨年は『JaSST'23 Tokyo』という大きなイベントに登壇し『ローカ ル環境を用いたアジャイルテスティングの実践事例』について語りました。これからも登壇含め、挑戦を続けます」