Angularエンジニアのフリーランス案件で求められるスキルと経験
公開 2026-10-29 監修:株式会社エージェントベスト
Angularの案件で求められるのは、コンポーネントとサービスの分け方(依存性の注入)、RxJSとSignalsを使った状態の扱い、業務画面のフォームと入力検証、テスト、版上げに必要な知識です。どれも「使ったことがある」だけでなく、なぜその書き方を選んだかを説明できるかが見られます。
求められる水準は、経験の段階によって変わります。この記事では、分野ごとに案件で問われる中身を整理し、最後に段階ごとの目安をまとめます。独立の進め方はAngularエンジニアがフリーランスになるにはで扱っています。
Angularの案件で問われるスキルの全体像
| 分野 | 主な中身 | 面談で聞かれやすいこと |
|---|---|---|
| 構成と依存性の注入 | コンポーネント、サービス、ルーティング、standalone構成 | 処理をどこに置いたか、画面群をどう分けたか |
| 状態と非同期 | RxJS、Signals、HTTP通信 | どちらをどこで使い分けたか |
| フォーム | リアクティブフォーム、入力検証、複雑な入力画面 | 業務ルールの検証をどう作ったか |
| 変更検知と性能 | OnPush、Zoneを使わない構成、遅延読み込み | 画面が重いときに何を調べたか |
| テスト | 単体テスト、画面の操作を確かめるテスト | どの層で何を確かめたか |
| 版上げ | 公式の移行の仕組み、非推奨のAPIの置き換え | 何を調べ、どの順に進めたか |
構成と依存性の注入
Angularは、画面の部品(コンポーネント)と、データの取得や業務の処理を担う部品(サービス)を分け、依存性の注入でつなぐ作りが基本です。案件では、処理をコンポーネントに書きすぎず、サービスに切り出せているかがよく見られます。
業務システムでは画面の数が多いため、画面群をどの単位で分け、どこから読み込むかの判断も問われます。ルーティングで画面群を必要なときに読み込む構成や、共通部品の置き場所を決めた経験は、設計の経験として伝えられます。
Angular公式の移行の一覧には、standalone構成への移行、inject()関数への移行、遅延読み込みのルートへの移行などが用意されています(2026年10月時点)。古い構成と新しい構成の両方が残る現場も多いため、両方を読めることが実務では役に立ちます。
RxJSとSignalsによる状態の扱い
Angularの案件で差が出やすいのが、状態と非同期の扱いです。
RxJS
HTTP通信やイベントの流れを扱うRxJSは、多くのAngularの現場で使われています。購読の解除漏れ、入れ子になった購読、エラー時の扱いなどは、既存のコードで問題になりやすい点です。主な演算子の使い分けを説明でき、既存のコードの問題に気づけるかが問われます。
Signals
Angular公式ドキュメントでは、Signalsは値を包み、値が変わったときに関心のある側へ知らせる仕組みと説明されています。ほかのSignalから値を導くcomputed、値の変化に応じて処理を行うeffect、ほかのSignalに連動しつつ書き換えられるlinkedSignalなどがあります。
案件では、画面の状態はSignals、時間をまたぐ非同期の流れはRxJSのように、どちらをどこで使うかの考え方を説明できると評価されやすくなります。公式ドキュメントは、Signalsに対応していない処理へ状態の変化を反映する場面などで、effectを使うよう案内しています。effectを多用して状態を書き換えている既存のコードを見つけ、整理できる人は頼りにされます。
業務画面のフォームと入力検証
Angularの案件で量が多いのが、入力項目の多い業務画面です。リアクティブフォームを使い、次のような要件を作れるかが問われます。
- 項目どうしの関係による検証(ある項目を選ぶと別の項目が必須になる など)
- サーバー側に問い合わせる検証
- 入力途中の保存や、確認画面への受け渡し
- 項目が動的に増減するフォーム
フォームの作り方を共通部品として整え、画面ごとのばらつきを減らした経験は、大規模な現場で評価されます。サーバー側の検証とどう役割を分けたかも、説明できるようにしておきましょう。
変更検知と性能
Angular公式ドキュメントによると、Zone.jsを使わない変更検知(zoneless)は、v21以降で標準になっています。v20では、起動時に設定を加えることで有効にします。zonelessの構成では、Signalsの更新やイベントなどの通知をきっかけに画面が更新されるため、Zone.jsを前提にしたコードはそのままでは動かないことがあります。公式ドキュメントは、アプリのコンポーネントにはOnPushの変更検知を勧めています。
既存の業務システムでは、Zone.jsを前提にした構成がまだ多く残っています。変更検知がいつ、何をきっかけに走るかを理解し、画面が重いときに原因を切り分けられるかが問われます。
テスト
Angular公式ドキュメントでは、新しく作るプロジェクトにはVitestが標準で含まれ、Karmaも引き続き使えるとされています(2026年10月時点)。既存の現場ではKarmaとJasmineで書かれたテストも多く、どちらの書き方も読めると安心です。
サービスの単体テスト、コンポーネントのテスト、画面の操作を確かめるテストを目的に応じて使い分け、依存するサービスを差し替えてテストを書けるかが見られます。テストの自動化を深めたい場合はテスト自動化エンジニアの案件で求められるスキルも参考になります。
版上げの知識
Angularの版上げでは、公式の更新ガイドや移行の仕組みを使いながら、非推奨になったAPIを置き換えていきます。公式の移行の一覧には、制御フロー構文、Signalベースの入力(input())、出力(output())、Signalベースのクエリなどへの移行が並んでいます。仕組みの名前を知っているだけでなく、自動の移行で直らない部分をどう見つけ、どう直したかを話せることが大切です。版上げの経験の書き方はAngularのスキルシートの記事で解説しています。
経験の段階ごとに求められる水準
| 段階 | 求められやすいこと |
|---|---|
| 実装を担う段階 | 既存の決まりに沿ってコンポーネントとサービスを書ける。リアクティブフォームで入力検証を作れる。RxJSの基本の演算子を使い分けられる |
| 設計に関わる段階 | 画面群の分け方、共通部品、状態の持ち方を決められる。RxJSとSignalsの使い分けを説明できる。テストの方針を決められる |
| リードを担う段階 | 版上げや構成の移行を計画し、段階を分けて進められる。チームのレビューの観点を決め、発注元に技術の判断を説明できる |
型の設計は案件の前提になることが多いため、深めたい場合はTypeScriptの案件で求められるスキルをご覧ください。業務システムでは画面の向こうにJavaなどのサーバー側があることが多く、Javaの案件で求められるスキルも参考になります。
よくある質問
RxJSは今後も学ぶ必要がありますか?
既存のAngularの現場ではRxJSで書かれたコードが多く、HTTP通信やイベントの流れを扱う場面でも使われています。Signalsが広がっても、既存のコードを読み、直す仕事は続くため、主な演算子と購読の扱いは身につけておくと安心です。
standalone構成しか経験がありません。NgModuleの知識は必要ですか?
既存の業務システムでは、NgModuleを使った構成が残っていることがよくあります。読み書きの基本を知っておくと、古い構成の画面の保守や、standalone構成への移行の案件にも対応しやすくなります。
テストを書いた経験が少ないと不利ですか?
テストの方針が整った現場では、テストを書くことが作業に含まれるため、経験が少ないと説明に困ることがあります。まずはサービスの単体テストから書けるようにし、依存するサービスを差し替える書き方に慣れておくとよいでしょう。
参考にした公的情報・資料
- Signals(Angular公式ドキュメント)
- Zoneless(Angular公式ドキュメント)
- Testing(Angular公式ドキュメント)
- Migrations(Angular公式ドキュメント)
- Update Guide(Angular公式)
記事の内容は公開日時点の情報にもとづきます。制度や税率は変わることがあるため、手続きの前に必ず各機関の最新情報をご確認ください。