SnowPro Core Certification(COF-C02)の合格までの道筋

# はじめに
この度、Snowflakeの公式認定資格試験であるSnowPro Core Certification(COF-C02)に合格したのでどのように勉強したのかを記録を残したいと思います。

# SnowPro Core Certification(COF-C02)とは
Snowflakeの知識を問うような資格になります。要項の詳細は下記のサイトを参考にしていただきたいのですが、主にSnowflakeのアーキテクチャやユーザ認証等のセキュリティ関連の内容が出題されます。
https://learn.snowflake.com/en/certifications/snowpro-core/

| Domain | Domain Weightings on Exams |
|---|---|
|1.0 Snowflake AI Data Cloud Features & Architecture | 24% |
|2.0 Account Access and Security | 18% |
|3.0 Performance and Cost Optimization Concepts | 16% |
|4.0 Data Loading and Unloading | 12% |
|5.0 Data Transformations | 18% |
|6.0 Data Protection and Data Sharing | 12% |


# 合格までの流れ
## 2か月～1か月半前
おおよそ1か月半前くらい前から試験の情報取集を始めました。
色々な方の合格体験記を調べたみたところ、udemyの学習講座で勉強した人とsnowflake公式が用意しているLearning Courseで勉強した人の2パターンが多い印象だったので、自分もそれに倣って学習を始めることにしました。

## 1か月半～1週間前
結論から言うとUdemyの講座を利用することになったのですが、そこまでの経緯を紹介していきます。

### 学習方内容（snowflake公式コンテンツ）
まずは公式が用意しているSnowflakeの学習コンテンツも利用しました。<br>
各セクション毎に「概要説明→詳細仕様説明（公式リファレンスへのリンク付き）→知識確認用のクイズ」という流れになっており理解しやすい内容になっているかと思います。
コンテンツとしてはかなり充実しているのですが、資料の参照先がリファレンスになっている都合上、どこまでが必要な情報かの判断が難しく最初の導入教材としてはudemyの講座の方が良いのかなという印象でした。

https://learn.snowflake.com/en/courses/

### 学習内容（Udemy講座）
幸運にも弊社では福利厚生としてUdemyが無料で利用できたため、Udemyの以下の講座を見て勉強しました。
こちらの講座は試験に特化していて、試験セクション毎に関連する情報をまとめた講座になっているので、試験の学習をするという点においては効率が良いと思いました。
講座内容も定期的にアップデートされているため、最新のsnowflakeと仕様が大きく異なるということもないと思います。演習問題を解きながら仕様が変わっているなと思ったのも１か所程度しかなかった記憶です。
トータルで大体8時間程度の講座なのですが、動画を見ながら内容をまとめたり、不明点を調べたりしていたので、トータルで30時間程度かけて学習しました。

https://www.udemy.com/course/ultimate-snowpro-core-certification-course-exam/?couponCode=CM240325

また、snowflakeの講座として評価が高かったのでこっちの講座も見てみました。こちらの講座はハンズオン多めで、クエリの意味を一個一個説明してくれるので実際に触りながらsnowflakeへの理解を深めるにはよい講座だと思いました。
ただし、試験内容にフォーカスしているわけではなく講座のボリュームもかなり多いので、短期で資格を取得するという面においては不向きかなと思いました。

https://www.udemy.com/course/snowflake-masterclass/?couponCode=CM240325

## 1週間前～試験当日まで
この時期からはひたすら演習問題を解き、不明点の見直しや整理できていない知識の確認を実施しました。
演習問題としては下記のUdemyの講座を利用しました。実際の試験と似た形式で受験できるのと、回答解説にリファレンスへのURLが記載おり、細かくフィードバックできるのがとても良いと感じました。

https://www.udemy.com/course/snowflake-snowpro-core-certification-practice-exams/?couponCode=CM240325

他にも評価が高い演習問題があったので試しに解いてみました。こちらは上記の演習問題と同じ形式なのですが、よりも細かい内容（COPYコマンドのオプションにはどれを選択すればよいか等）が出題される印象でした。試験でも細かい内容は問われるのですが、まずは全体の知識固めのために上の演習問題から解き始めるのをお勧めします。（一つ分の演習問題しかやっていないので間違っている可能性はありますが...）

https://www.udemy.com/course/snowflake-snowpro-core-certification-exam-practice-sets/?couponCode=CM240325

また、公式のLearinig Course内の試験に関連する演習問題も解きました。
上記の講座では出ない最新仕様に基づいた内容が出題されるので、こちらも余裕があれば一度目を通しておくのが良いかと思います。
自分は以下の講座の演習問題を実施しました。
- Level Up: Snowflake Key Concepts and Architecture
- Level Up: Accounts and Assurances
- Level Up: Snowflake Ecosystem
- Level Up: Data Loading
- Level Up: Resource Monitors
- Level Up: Backup and Recovery
- Level Up: Query History and Caching
- Level Up: Context in Snowflake
- Level Up: Final Exam

https://learn.snowflake.com/en/courses/

# 試験内容について
## 試験当日の準備について
試験環境を準備するのが大変そうだったので、Pearson Vueからテストセンターで受験しました。
特別な準備は必要ないのですが、身分証明書が2種類必要になるので、そこだけ気を付ける必要があります。（自分の場合は免許証と保険証でOKでした。）
また、テストセンターについてから少し手続きがあるので、遅くとも15分前には試験会場に着いておくことをオススメします。自分の場合は到着してから書類記入・写真撮影などで10分くらいかかりました。


## 試験内容について
自分は日本語で受験しましたが、問題文も日本語訳にそこまで大きな違和感は感じませんでした。翻訳前の英文も見ることができるので、用語の暗記は英語でも問題ないです。
試験内容としては、snowflakeの基礎的な概念はもちろん細かい仕様（「jsonファイルを読み込むときに利用するオプションはどれを選択すればよいか」や「アクセスログが保存さているデータベース名は何か」など）についても聞かれるため、演習問題が完了して余裕がある場合はリファレンスの細かい部分まで見ておくことをオススメします。
また、わからない問題があっても論理的におかしい選択肢があったり、ほかの試験問題中にヒントがあることもあるので、わからない問題はフラグをたてて後から確認するのがよいかと思います。

# 試験結果
上記の勉強を通して、何とか試験に合格することができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755353/9a8a3f72-ea0c-41a3-b459-9f8b5ba8b43d.png)

ところどころ知らない内容が出題されることもありましたが、概ね上記の勉強内容でカバーできているかと思います。上記の内容に加えて勉強したい場合は、ハンズオンで手を動かしながら各クエリの使い方を覚えていくのが良いかと思います。

# 最後に
拙い文章ですが、最後までお読みいただきありがとうございました。この記事がすこしｄ皆さん参考になれば幸いです。