Salesforce 認定 Platform デベロッパー試験レポート

週末に「Salesforce 認定 Platform デベロッパー試験」を受験しまして、無事合格出来たので試験の勉強法などを纏めます。

:::note info
SFDCは試験の情報公開を規制しているので書ける範囲で記事にしました。
:::

## Salesforce 認定 Platform デベロッパー試験とは
Salesforce 認定 Platform デベロッパー資格は、Lightning プラットフォームでのカスタムアプリケーション作成に関する知識、スキル、経験を持つ個人を対象としています。

この資格は、Apex、Visualforce、Lightning コンポーネントを使用して Salesforce を拡張するカスタムビジネスロジックおよびインターフェースを開発するための Lightning プラットフォームの基本的なプログラミング機能を網羅しています。

詳しくは、[公式サイトtandc.salesforce.com](https://quip.com/OiLaAWous0Yt)を参照下さい。

## Salesforce 認定 Platform デベロッパー試験の出題範囲

出題範囲は以下の通りです。試験に受かるには、これらのことを人に説明出来るくらいに熟知している必要があります。

1. デベロッパーの基本
MVCアーキテクチャ、Lightning Componentフレームワーク、マルチテナント開発、ガバナ制限、数式項目、積み上げ集計項目、入力規則、オブジェクト項目、リレーションシップ（参照/主従関係、N対N関係）、外部参照(外部ID)、選択肢/グローバル選択肢、データインポートウィザード/DataLoader/データエクスポートサービス、共有権限/共有ルール/ロール、プロファイル/権限セット/権限セットグループ

2. プロセスの自動化とロジック
 フロー、プロセス、ワークフロールール、承認プロセス、Apex変数、定数、メソッドを宣言し、修飾子とインターフェース Apex のフロー制御ステートメント、SOSL、SOQL、および DML ステートメント、Apex クラスとトリガ、Apex トランザクションに対するガバナ制限の影響、Apex トランザクション間の関係、保存の実行順序、再帰/カスケード、Apex で例外処理 (カスタム例外を含む)  、宣言型機能と Apexの併用

3. ユーザインターフェース
 Visualforce ページ、コントローラ、拡張機能、Lightning コンポーネントフレームワーク、Lightning Web コンポーネント、データアクセスのセキュリティ、Rest API/SOAP(バウンドメッセージ)、非同期処理

4. テスト、デバッグ、リリース
 トリガ、コントローラ、フロー、プロセスのテスト、Salesforce の開発者ツール (Salesforce DX、Salesforce CLI、開発者コンソール など) 、システムの問題のデバッグ方法、フロー、プロセス、非同期ジョブ、一括処理ジョブなどの監視方法、コードと関連する設定をリリースするための環境、要件、プロセス、Sandbox/Developer組織

## Salesforce 認定 Platform デベロッパー試験の試験勉強方法
[公式サイトtandc.salesforce.com](https://quip.com/OiLaAWous0Yt)には以下でトレーニングを推奨しています。
![SFDC試験の参考資料.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540922/390334b4-c410-8897-4e7a-600ce2a6b2d9.jpeg)

上記、公式サイトの情報ですが、当たり前ですが合っています。
多少のSFDCの開発経験があっても、最初の[トレイルヘッド](https://trailhead.salesforce.com/ja/content/learn/trails/platform-developer-i-certification-study-guide)だけ勉強するとかだと、まず受からないと思います。

マジですか！？
こんなに色んな資料を読むのですか？
という方に、お勧めの方法があります。
「[Salesforce Platform Developer I Certification Guide](https://www.amazon.co.jp/-/en/Jan-Vandevelde/dp/B07SBP54MV)」という書籍を全部読めば、試験受かります。
読んで全部理解しないといけませんが、全部理解出来たら過去問とかやらなくても多分受かると思います。英語得意な方はこれ一冊で大丈夫だと思います。
**英語が苦手な方にお勧めは電子書籍です。電子書籍ならGoogle翻訳やChat GPTで翻訳が出来ます。**<a href="https://www.amazon.co.jp/-/en/Jan-Vandevelde/dp/B07SBP54MV" target="_blank">
![Salesforce Platform App Builder Certification Guide.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540922/ae46e070-3ee9-b65a-6cb0-ef777a472c6e.jpeg)
</a>

:::note info
この記事は上記書籍の広告では無いです。Qiitaなので広告料得ていません。
普通にお勧めの書籍になります。
:::

## Salesforce 認定 Platform デベロッパー試験の過去問
公式のものではありませんが、[こちらのサイト](https://qiita.com/Toro1923/items/6659fd3fffdc6636cda6)にSalesforce 認定 Platform デベロッパー試験の過去問がまとめられているので参考にして下さい。

## Salesforce 認定 Platform デベロッパー試験を勉強して思ったこと

- SFDCの仕事をする上で普通に役に立つと思いました。**SFDCの開発者なら絶対に受けた方が良い試験です。**
実際の開発だと使っておらず知らなかった機能も学べます。顧客への提案の引き出しや開発時の選択肢が増えるので体系だって学ぶのは重要だと思いました。
- 逆に上流工程を行う方には必須の試験では無いと思いました
SFDCは上流工程を行う方も、絶対にSFDCの知識が必要です。Javaなどのスクラッチ開発と違い、SFDCの宣言型プログラム機能で開発するか、LWCやApexでプログラムするかで費用、開発期間、ユーザビリティが全然違うので、どちらを顧客に提案するべきか考えるうえでSFDCの開発技法の知識が必要なためです。そのため、「Salesforce 認定アドミニストレーター」「Salesforce 認定 Platform アプリケーションビルダー」はSFDCは上流工程を行う方も絶対に受けるべきと私は思います。でも、今回受けた「Salesforce 認定 Platform デベロッパー試験」の範囲は具体的なプログラミングの仕方などが出題範囲なので、SFDCは上流工程を行う方には必須で無いなと思いました。