こんにちは。freee人事労務でアプリケーションエンジニアをしているyellowです。
この記事はfreee QA Advent Calendar 2025の11日目の記事です。
新卒でfreeeに入社し、研修期間を経て始めに配属されたSEQ(Software Engineering in Quality)チームから、freee独自の異動戦国制度を利用してアプリケーションエンジニアに異動して1年が経ったので、この節目の機会に個人的な振り返りをしたいと思います!
異動戦国制度とは
異動戦国制度とは、1年に1回自分の希望するチームに異動の立候補をすることができる社内異動制度です。 freee のエンジニアの成長を後押しする制度として定着しており、異動戦国の時期は各チームで盛り上がりを見せています。
freee Developers Hub にも過去の異動戦国についての記事がありますので、是非読んでみてください。
SEQチームへの配属
2022年新卒として入社し、私が最初に配属されたのがSEQチームでした。 SEQチームは、主に自動テストの運用・改善やテスト基盤の開発などを担っているチームです。 私の所属期間中は、以下のような業務を担当しました。
- 新規プロダクトへの自動テストの普及活動
- 既存プロダクトにおける自動テスト運用の改善・補助
- SeleniumからPlaywrightへの移行プロジェクト
アプリケーションエンジニアへの異動を決めた経緯
自動テストの普及や改善・補助の業務に伴い、freee内で開発されている様々なプロダクト画面を実際に触ってみたり、またプロダクトの特性が自動テストの仕組み作りや実装難易度にどう影響するかを深く学びました。
特に異動のきっかけとなったのは、以下の2つの経験です。
新規プロダクトチームへの短期留学経験: 自動テスト普及を目的に開発チームに加わった際、ユーザー志向の開発プロセスや、試行錯誤を繰り返す開発サイクルをQAの立場から体験しました。実際にユーザーが触るシステム開発に携わるのに強く興味を持ったタイミングでした。
多くのプロダクト開発画面との接触: 自動テストの実装や支援をする中で、多岐にわたるプロダクトの開発画面を見て、さらに便利な機能が提供されていく過程を見ていくうちに、実際にユーザーが触れるプロダクトを通して新しい価値を持った機能開発をすることへの興味が強くなりました。
品質保証の視点を持ちながら、よりユーザーに近い場所で、プロダクトの価値創造に携わってみたいという思いが、主な異動の決め手です。
アプリケーションエンジニアに異動して
異動先を決めた際、真っ先に頭に浮かんだのが「職種を変えることへの不安」でした。 幸い、エンジニア職としての採用で入社し、学生時代は情報工学を専攻していたため、開発に対する根本的な苦手意識はなかったものの、業務内容が大きく変わることへの不安は大きかったです。異動前の面談で、マネージャーやメンバーにたくさん相談に乗ってもらい、異動後も着実にステップアップできるよう手厚くサポートしてくれたため、今となっては杞憂だったと思います。
以前は、ユーザーに届く前の「最後の砦」として自動テスト基盤の開発・改善を行っており、主にQAや開発メンバーといった組織内部からの感謝の声が喜びでした。現在は、実際にユーザーに届く開発を行う立場となり、ユーザーからのフィードバックを直接聴く瞬間にまた違った嬉しさがあります。提供するユーザーが組織内部から外部に変わっただけで、根本にある「嬉しい声」をもらった時に「やって良かった」と思える瞬間は変わらず、頑張れる根本が「感謝の声」ということを再認識しています。
今後取り組みたいこと
ちょうどアプリケーションエンジニアに異動して1年が経ち、プロダクト開発にも慣れてきました。 SEQチームで培ってきた知識と現在の仕事を結びつけて以下の改善に取り組めないかなーとぼんやりと考えています。
自動テストの役割分担と整理
現在開発に携わる中で、テストの役割分担とカバレッジについて改善できる点がありそうだなと感じています。 現在所属するチームでは、開発メンバーがどのようなE2Eテストシナリオが実装され、実際に実行されているのかを詳細まで把握しきれていないのが現状です。また、以前QAチームの方と手動テストだと辛い部分をE2Eテストに置き換えられないか会話をした際、「その内容は単体テストや結合テストで保証できそう」と気づきがありました。
以上の経験から、現状のE2Eテストで担保されている内容でも、単体テストや結合テストに分解して任せられるロジックが少なからずありそうだと考えています。また、開発エンジニアがよりE2Eテストに関心を持って、QAチームとコラボレーションすることで、単体テストの強化やE2Eテストの適切な分解などの議論と整理をしていけるとより加速しそうだなと感じています。
手動テストにおけるアカウント払い出し
手動テストを実施する前には、必要な前提条件を設定済みのテストアカウントを用意する必要があります。SEQチームにいた際、このアカウント払い出し用途に自動テストの仕組みを利用しているパターンもありました。 このアカウントの払い出し作業は、コンソールからの操作によってより単純に、速く作成できます。さらに、「自然言語で前提条件を記載し、その条件を満たす操作を自動で実行する」というプロセスは、生成AIを活用することで解決できる部分もありそうです。
より速く、ストレスなくテスト事前準備を遂行できる仕組みを整え、開発・QA双方の効率化を図る仕組みを考えていきたいです。
おわりに
個人の振り返りになってしまいましたが、職種が違う中でも、異動前と異動後の知識を融合してできることは何かと考える良い機会になりました。1年目は新しい業務についていくことで必死でしたが、少し慣れてきた今、今回の振り返りを通して、よりQAと開発エンジニアが密接にコラボレーションできると嬉しいです。
明日は、freee人事労務のQAエンジニアのsae-san が「新卒QAエンジニアの育成を振り返って」について記事を書いてくれます。お楽しみに〜!
よい品質を〜
