
はじめに
こんにちは!開発チームの古厩(ふるまや)です。
2024年4月に新卒で入社し、気づけば2年以上が経ちました。日々の業務を通してSalesforceの画面フローやApex、Lightning Web Componentsなどに触れる機会が増え、「Salesforce開発について、もっと深く理解したい!」という思いから、このたび Salesforce認定Platformデベロッパー試験 に挑戦し、無事に合格することができました!
以前取得したSalesforce認定アドミニストレーター資格では、Salesforceの標準機能や設定について幅広く学びましたが、今回のSalesforce認定Platformデベロッパー試験では、ApexやSOQL、Lightning Web Componentsなど、開発者として押さえておきたい知識をより深く学ぶことができました。
今回は、この試験に関する概要や出題内容、私が実際に行った学習方法、そして試験中にどのように問題を解いたかについて、実体験を交えてご紹介します。
Salesforce開発を学んでいる方や、Salesforce認定Platformデベロッパー試験の受験を考えている方にとって、少しでも参考になれば嬉しいです!
Salesforce認定Platformデベロッパー試験とは?
Salesforce認定Platformデベロッパー試験は、Lightning Platform上でカスタムビジネスロジックやユーザーインターフェースを開発するための知識やスキルを問う、Salesforce公式の認定資格試験です。
ApexやSOQL、Lightning Web Componentsなどのプログラミングに関する知識だけでなく、Salesforceの標準機能や宣言的な開発との使い分け、ガバナ制限、セキュリティ、テスト、リリースなど、Salesforce開発に関する幅広い内容が出題されます。
単純にコードの書き方を覚えるだけではなく、要件に対してどの機能を選択するのが適切かを判断する力が問われる試験です。
Certification - Salesforce 認定 Platform デベロッパー
試験内容
Salesforce認定Platformデベロッパー試験は、以下のような形式で実施されます。
| 項目 | 内容 |
|---|---|
| 試験時間 | 105分 |
| 出題数 | 60問と採点対象外の最大5問 |
| 出題形式 | 多肢選択/複数選択方式 |
| 合格基準 | 正答率68%以上 |
| 試験方式 | オンラインまたは試験会場にて受験可能 |
| 使用言語 | 英語または日本語 |
試験内容や合格基準は変更される可能性があるため、受験前には公式サイトで最新の情報を確認することをおすすめします。
出題範囲は、主に以下のような分野から構成されています。
開発者の基礎(27%)
- Salesforceのマルチテナントアーキテクチャやガバナ制限は、最初に押さえておきたいポイントです。
- 標準オブジェクトとカスタムオブジェクト、主従関係と参照関係など、データモデルに関する知識も整理しておきましょう。
- 数式項目や積み上げ集計項目など、標準機能で実現できる内容を把握しておくと、機能選択の問題にも対応しやすくなります。
- フローなどの宣言的な機能と、Apexによるプログラム開発の適切な使い分けもよく問われるポイントです。
Salesforceでは、すべての処理をApexで実装すればよいわけではありません。
標準機能やフローで実現できる場合は、保守性や拡張性を考慮して、宣言的な機能を選択することも大切です。
試験でも、「この要件にはフローとApexのどちらを使用するべきか」といった判断を求められる問題が出題されます。
プロセスの自動化とロジック(28%)
- Apexの基本構文やクラス、メソッド、変数、コレクションなどは、基礎からしっかり押さえておきたい内容です。
- Apexトリガーの実行タイミングや、トリガーコンテキスト変数の使い方も重要なポイントになります。
- SOQL、SOSL、DMLの違いと、それぞれの使いどころを整理しておくと安心です。
- 複数のレコードが一度に処理されることを想定し、一括処理に対応した実装を考えられるようにしておきましょう。
- Queueable ApexやFutureメソッドなど、非同期処理の特徴についても合わせて確認しました。
特に重要なのが、ガバナ制限を考慮した実装です。
例えば、ループの中でSOQLやDMLを実行すると、処理するレコード数が増えたときにガバナ制限を超える可能性があります。
そのため、リストやセット、マップなどのコレクションを活用し、複数のレコードをまとめて処理する考え方を身につけておくことが大切です。
試験では、コードの実行結果を答えるだけでなく、「このコードにはどのような問題があるか」「ガバナ制限を回避するにはどのように修正するべきか」といった問題も出題されます。
ユーザーインターフェース(25%)
- Lightning Web Componentsの基本構造や、HTML、JavaScript、メタデータファイルの役割を整理しておきましょう
- コンポーネントからApexを呼び出す方法や、Lightning Data Serviceを使用する方法もよく確認しました
- 親コンポーネントと子コンポーネント間のデータ連携や、イベントを使用した処理も押さえておきたいポイントです
- Visualforceの標準コントローラー、カスタムコントローラー、コントローラー拡張についても、それぞれの違いを整理しました
- 入力値の検証やエラーメッセージの表示など、ユーザーの操作に関する部分も合わせて確認しておくと安心です
業務ではLightning Web Componentsを使用する機会があったため、実際に経験した実装と結び付けながら学習することができました。
一方で、普段あまり使用していないVisualforceについては知識が不足していたため、それぞれのコントローラーの違いや、どのような場面で使用するのかを整理しました。
テスト、デバッグ、リリース(20%)
- Apexのテストクラスやテストメソッドの作成方法についても、確実にマスターしておきたいところです。
Test.startTest()とTest.stopTest()については、役割と使いどころをセットで確認しました。- 正常系だけでなく、異常系や複数レコードを処理する場合のテストについても考えられるようにしておくと安心です。
- コードカバレッジや、
System.assertEquals()などを使用した処理結果の検証も、よく問われるポイントです。 - デバッグログや開発者コンソールを使用して、エラーの原因を調査する流れも確認しておきましょう。
- Sandboxや変更セットなど、開発した機能を本番環境へリリースする方法についても出題範囲に含まれます。
テストコードでは、コードカバレッジの数値を満たすことだけでなく、処理結果が想定どおりになっているかを検証することが大切です。
例えば、対象のメソッドを実行するだけでテストを終了するのではなく、System.assertEquals()などを使用して、登録・更新された値が期待した結果になっているかを確認します。
また、1件のレコードでは正常に動作していても、大量のレコードを処理したときにガバナ制限へ到達する可能性があります。そのため、複数レコードの一括処理を想定したテストも重要なポイントです。
勉強方法:Trailheadと練習問題を活用!
私は、Salesforceの学習プラットフォームである Trailhead を中心に学習を進めました。
Trailheadには、Salesforce認定Platformデベロッパー試験の出題範囲に沿って整理された学習コンテンツが用意されています。
まずは試験対策用のTrailmixを進め、出題範囲の全体像を把握しました。
【Salesforce公式】Salesforce 認定 Platform デベロッパー 資格 対策 Trailmix |
Trailheadの活用法
ApexやSOQLについては、説明を読むだけでなく、実際にDeveloper Edition環境でコードを動かしながら学習しました。
特に、次のような処理は実際にコードを書いて確認しました。
- SOQLを使用してレコードを取得する
- Apexからレコードを登録・更新する
- Apexトリガーを作成する
- リストやマップを使用して一括処理を行う
- テストクラスを作成する
- Lightning Web ComponentsからApexを呼び出す
実際にコードを動かすことで、文法だけでなく、処理が実行される順番や、どのような場合にエラーが発生するのかを理解しやすくなりました。
また、Trailheadのハンズオンでは、実際のSalesforce環境を操作しながら課題を進めるため、知識の定着にも役立ちました。
業務で使用した機能を振り返る
Trailheadで学習した内容を、これまで業務で実装した機能と結び付けて振り返りました。
例えば、画面フローやLightning Web Componentsについて学習するときは、過去の実装を思い出しながら、次のような点を確認しました。
- なぜフローを使用したのか
- なぜApexが必要だったのか
- Salesforceの標準機能だけで実現できなかったか
- 複数のレコードを処理しても問題がないか
- ユーザーの権限や共有設定を考慮できているか
- テストコードでは何を検証するべきか
業務では、まず機能を正常に動作させることに集中しがちです。
しかし、試験勉強を通して過去の実装を振り返ることで、「Salesforceのベストプラクティスに沿った実装になっているか」という視点でも考えられるようになりました。
練習問題で実践演習
Salesforce認定Platformデベロッパー試験の対策では、Trailheadに用意されている試験対策コンテンツや練習問題も活用しました。
練習問題を解くときは、正解したかどうかだけでなく、すべての選択肢について理由を確認するようにしました。
特に意識したのは、以下の3点です。
- なぜ正解の選択肢が適切なのか
- なぜほかの選択肢では要件を満たせないのか
- どのような条件であれば、ほかの選択肢が正解になるのか
Salesforce認定Platformデベロッパー試験では、一見すると複数の方法で実現できそうな問題が多くあります。
その中から、ガバナ制限、保守性、セキュリティ、標準機能の活用などを考慮し、最も適切な方法を選ぶことになります。
単純に答えを暗記するのではなく、それぞれの選択肢の違いまで理解することで、問題の内容が変わっても対応しやすくなりました。
問題の解き方:要件とSalesforceの制約を整理する
試験では、やはり「この処理は見たことがないな……」と感じる問題や、複数の選択肢が正解に見える問題がいくつか出題されました。
そのようなときに私が心がけたのは、すぐにコードの細かい部分を見るのではなく、まず問題文の要件を整理することでした。
特に、次のようなポイントを確認しました。
- 1件ではなく、複数件のレコードを処理する必要があるか
- リアルタイムで処理する必要があるか
- ユーザーの操作を伴う処理か
- Salesforceの標準機能やフローで実現できるか
- Apexを使用する必要があるか
- 外部システムとの通信があるか
- ユーザーの権限や共有設定を考慮する必要があるか
- 同期処理と非同期処理のどちらが適切か
問題文に「大量のレコード」「外部サービス」「ユーザーの権限」「一括更新」などの言葉がある場合は、使用する機能を判断するための重要なヒントになります。
また、答えがすぐに分からない場合は、Salesforceの基本的なルールに反している選択肢から除外しました。
例えば、以下のような実装は不適切である可能性が高いです。
- ループ内でSOQLを実行している
- ループ内でDMLを実行している
- 1件のレコードだけを前提にトリガーを実装している
- テストコードが既存の組織データに依存している
- 標準機能で実現できる処理を必要以上にApexで実装している
- ユーザーのアクセス権限を考慮していない
- 非同期処理が適している場面で同期処理を使用している
正解が分からない問題でも、「Salesforceで避けるべき実装」を理解していれば、選択肢をある程度絞り込むことができました。
もう一つ意識したのは、問題文に書かれていない条件まで考え過ぎないことです。
実際の業務では、既存システムの制約や例外的な要件など、さまざまな条件を考慮することになります。
しかし試験では、問題文に書かれている条件の中で、Salesforceの標準的な設計として最も適切な回答を選びます。
「実際の案件であれば別の方法を選ぶかもしれない」と感じた場合でも、まずは問題文に書かれている要件だけを基準に判断するようにしました。
Salesforce認定アドミニストレーター試験との違い
Salesforce認定アドミニストレーター試験では、Salesforceの標準機能や設定方法について幅広く問われました。
一方、Salesforce認定Platformデベロッパー試験では、同じ要件に対しても、より技術的な視点が求められます。
自動化に関する問題でも、単にフローの設定方法を覚えるだけではなく、「実務でどう設計するか」という視点で以下のような判断を重ねていくことになります。
- フローとApexのどちらを使用するか
- トリガーをどのタイミングで実行するか
- 大量のレコードを処理できる設計になっているか
- トランザクション内で処理がどのような順番で実行されるか
- エラーが発生した場合にどのように処理するか
- テストコードで何を検証するか
Salesforce認定アドミニストレーター試験で学んだ標準機能の知識が土台となり、その上にApexやLightning Web Componentsなどの開発知識を積み重ねていくようなイメージでした。
先にSalesforce認定アドミニストレーター試験を勉強していたことで、オブジェクトや権限、フローなどの基本的な知識を理解した状態で、開発分野の学習を進めることができました。
まとめ
Salesforce認定Platformデベロッパー試験は、Apexの文法を覚えるだけではなく、Salesforce Platform全体の仕組みを理解することが重要な試験でした。
特に、以下の内容は重点的に学習しておくと良いと感じました。
- 宣言的な機能とApexの使い分け
- ガバナ制限
- 一括処理に対応したApexトリガー
- SOQL、SOSL、DML
- Lightning Web Components
- Apexのテストコード
- セキュリティと共有設定
- デバッグとリリース
Trailheadで体系的に知識を学び、実際にコードを書きながら動作を確認することで、少しずつ理解を深めることができました。
また、業務で経験した実装について、「なぜこの方法を選んだのか」「Salesforceのベストプラクティスに沿っているか」という視点で振り返ることも、非常に効果的でした。
これからSalesforce認定Platformデベロッパー試験の受験を考えている方は、コードや問題の答えだけを暗記するのではなく、Salesforce特有の制約や設計思想まで理解することをおすすめします。
資格取得のために学んだ内容は、試験だけでなく、日々の開発や設計にも役立つはずです!



















