【合格体験記】DB初心者が2か月でSnowPro Coreに合格した

# はじめに
先日DB初心者（DWHですらない）から、2か月の勉強でSnowPro Coreを取得しました。
勉強にあたりやってよかったことなどをまとめておきます。資格取得記事は最近無限に生産されているので、あまり他では言及がなさそうなことを中心にしようと思います。

# こんな方におすすめ
- SnowPro Coreに興味はあるが、実務経験がない
- データエンジニアリングを学んでみたいが、どこから手をつけるといいかわからない

# 簡単なバックグラウンドと経緯
- Tableauによるクロス集計中心のデータ分析職（他業務も兼務）から、2023年2月にデータ分析基盤およびBIダッシュボード構築を行うデータアナリストに転職
- 前職では、ほぼ編集してはいけないテキストファイルのSQLを、あるフォルダに格納するとCSVでデータが抽出されるという謎環境だった
- エンジニアのいない組織だったので実務的には役立たなかったが、[Data Engineering Study](https://www.youtube.com/channel/UCFde45ijA-G9zs7s2CuftRw)は初回からずっと視聴していた
- データエンジニアリングを学ぶにあたり、GCPやAWSの資格は歴史が長い分領域が広くハードルが高そうに思えたのと、Snowflakeを学んでおくとデータエンジニアが何を嬉しいと思うのかを理解できそうに思い、SnowPro Core受験を考えた
- 資格の勉強を始める段階でSQLの実務経験は2か月、BigQueryの経験は1か月のみ
- 2か月の勉強で783/1000（合格ライン750）でSnowPro Coreに合格！

# やったこと
資格取得にあたっては、下記の流れで勉強しました。
1. 各種資格取得ブログを読み漁って、どういう勉強をすると良さそうかを理解する
1. [SNOWDAY JAPAN](https://www.snowflake.com/about/events/snowday-japan-2023/)の各種セッションを視聴
1. [SnowPro Core試験学習ガイド](https://learn.snowflake.com/courses/course-v1:snowflake+SPSG-Japan+B/about)に基づいて公式ドキュメントを読み漁る
1. [Hands-On Essentials](https://learn.snowflake.com/en/pages/hands-on-essentials-track/)に取り組む
1. [Level Up](https://learn.snowflake.com/en/pages/level-up-track/)に取り組む
1. 社内勉強会でSnowflakeの概要／特長について発表
1. Udemyで[[COF-C02] Snowflake SnowPro Core Certification Practice Sets](https://www.udemy.com/course/snowflake-snowpro-core-certification-exam-practice-sets/)の模擬テストに取り組む

※その他、[Snowflake Advent Calendar 2022](https://qiita.com/advent-calendar/2022/snowflake)や[datatech-jp](https://datatech-jp.github.io/)Slackのrss-snowflakeチャンネルに流れてくる記事で面白そうなものを流し読み

# やってよかったこと
SnowPro Coreは資格試験としての歴史がそれほど長くないのもあり、大体どの人も上と似たような勉強をしているかと思います。資格取得ブログでも大体同じようなことが書かれていますね。

とはいえ、DB／DWHの実務経験が浅い人がいきなり細かいところに突撃するとよくわからないことがよくわからない説明をされていて挫折するので、とりあえず何となく何がしたいのか／どういうことができるといいのかをさらうところから始めるとよさそうです。

## 概要をつかむ
ざっと概要をつかもうとするには、
- Data Engineering Studyでデータエンジニアリングの概要を聞いてみる（特に[第5回はSnowflake特集](https://www.youtube.com/watch?v=_kYW7EneUu4)でおすすめ）
- SNOWDAY JAPANのセッションを視聴してみる

がよかったです。技術的なことを学ぶ前に、まずイメージが湧くのは大事ですね。

## 公式ドキュメントを読み漁る
次に、SnowPro Core試験学習ガイドを辿りながら公式ドキュメントを読み進めることになると思います。試験の内容は公式ドキュメントをきちんと読んでいれば合格できるような内容なので、読み込むことはとても大切です。

ただこの時点で全部理解しようとするとパンクしてしまうので、なんとなく一通り目を通すくらいの意識で、後日問題を解きながらこのあたりにあったなと思いだせるくらいでいいでしょう。

また、公式ドキュメントからリンクを飛んでいくと、英語ドキュメントに飛ぶことがよくあります。右下の言語設定のところから日本語にするといいです。私はこの設定に気づかずに~~翻訳されてないのかよこのやろうと思いながら~~しばらく英語をのまま読んでいました。

この公式ドキュメントで10時間くらいかけていたようです。もう少しさらっとでもよかったかもしれません。

## 触ってみる
ざっくりSnowflakeについて理解したところで、公式が無料で提供しているHands-On Essentialsに取り組みました。内容としては、
- Data Warehousing Workshop
- Data Application Builders Workshop
- Sharing, Marketplace, & Exchanges Workshop
- Data Lake Workshop
- Data Engineering Workshop

の5つのコースになります。私はすべてのコースに取り組みました。
試験範囲外のもの（例えばStreamlitなど）も含まれていたり、基礎からの丁寧な説明になるので、ある程度経験のある人にとってはやらなくても、または一部つまみ食いするくらいでもよさそうです。

ただ、DB／DWH初心者の私にとっては、DWHを中心にしながらデータエンジニアリング関連の知識を一通り学ぶことができたので、非常に勉強になりました。1つあたり6～8時間くらいかかったので、結構時間は使いましたが・・・

## 解いてみる　その①
Level Upも公式が提供している、基礎的なクイズになります。本当に基礎で分量も少ないのでぶっちゃけやってもやらなくてもどちらでも良さそうですが、試験がこんな感じなのかという理解にはつながりました。

## まとめてみる
資格受験をしようというタイミングの直前に社内勉強会の日程があったので、まあ何とかなるだろということでSnowflakeについての発表をすることにしました。ぶっちゃけこのためにまとめるのが死ぬほどしんどかったのはあるのですが、やはり人に説明するためにまとめようとすると設計の意図が腹落ちしたりして、大変勉強になりました。

## 解いてみる　その②
試験日の1週間前くらいから、仕上げとしてUdemyの模擬テストを解き始めました。初回の正答率が40％だったので終わった！？！？と思いましたが、解く→答え合わせ→不明点を調べる＆メモにまとめるを繰り返して、3周して正答率9割くらいになったところで、試験に臨みました。

ちなみに、模擬テストは複数選択の際に該当する選択肢の数が不明なのに対して、試験では選択しの数が明示されているので、その分難易度が下がります。

模擬テストは解答が怪しかったり、試験と出題傾向が違っていたり、プロダクトのアップデートについていけていなかったりとがあるので、点数が低くても落ち込まなくて大丈夫です。模擬テストが解けると試験で満点を取れるわけではないですが、でも合格点まではいくだろうという何とも微妙な位置づけですね・・・

# さいごに
「DB初心者が2か月で」は正直非常に大変なのですが（笑）、気合いを入れて勉強してみるとめちゃくちゃ勉強になるので、短期集中でやってみようという方にはおすすめです。

教材は探してみると色々ありますが、プロダクトアップデートが多く試験の内容も変わっていきそうなので、とにかく最新の公式ドキュメントを読むのとトライアルアカウントを作って自分で手を動かしてみるのが引き続き大事になりそうです！