GCP未経験者が三週間勉強してGoogle Cloud Professional Data Engineerに合格した話

会社でBigueryの研修会があり、それをきっかけにGCPに興味を持ったので、目標としてGoogleの認定資格であるProfessional Data Engineer合格を掲げて勉強しました。
無事、合格できたのでその時の備忘録を共有したいと思います。

![2020-09-23_21h01_20 - コピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143393/e85d95f5-515c-f1a8-8dcf-4937c4129d43.png)

## 私のスペック

- 社会人6年目 今年で30歳
- GCPは完全に未経験（業務、趣味共に）
- 機械分析、データ分析は業務未経験（大学で少しRをやっていた程度）
- AWSは前職で使っていた
- AWSはDeveloper Associate, DevOps Professionalを所有（素人じゃないじゃん！とツッコミが来そうですが、GCPは初心者なので目をつむってください汗）

## なぜ取得しようと思ったか

- 漫然と勉強するよりも、なにか目標があったほうが勉強しやすいから
- Google認定資格のProfessionalの中でも、対象となるサービスの範囲が狭くなる分、簡単そうだと感じたから
- 自チームでDWHやデータパイプラインの構築、他チームでデータ分析基盤を構築していたりするので、自分の業務に今後つながる可能性もありそうだったから

## Professional Data Engineerという資格とは

公式のドキュメントでは以下のように書かれています。

> Professional Data Engineer は、データを収集、変換、公開して、データに基づく意思決定ができるようにします。Data Engineer には、セキュリティとコンプライアンス、スケーラビリティと効率性、信頼性と忠実性、柔軟性とポータビリティに特に重点を置いて、データ処理システムの設計、構築、運用化、保護、モニタリングを行う能力が必要です。また、既存の機械学習モデルの活用、デプロイ、継続的なトレーニングもできなければなりません。

出題は以下の項目となっています。

> 1. データ処理システムの設計
2. データ処理システムの構築と運用化
3. 機械学習モデルの運用化
4. ソリューションの品質保証

私見ですが、以下の事柄の知識、理解をテストされていると思います。
特に、下記1~4が主要な範囲だと思っています。

1. データ分析基盤におけるGCPサービスの違いを理解、その上でのサービス選択
2. オンプレからGCPサービスへの移行方法
3. データ分析基盤におけるGCPサービスを使用したベストアーキテクチャ
4. データ分析基盤系GCPサービスの仕様、使い方
5. 機械学習の基礎的知識
6. セキュリティ

対象となる主なGCPサービスは以下のものがあります。

- DB/DWH系
    - Cloud Bigtable
    - Cloud Datastore
    - BigQuery
    - Cloud SQL
    - Cloud Spanner
- データバイプライン構築
    - Cloud Pub/Sub
    - Cloud DataFlow
- ジョブの自動化
    - Cloud Scheduler
    - Google App Engineのcronサービス
    - Cloud Composer
- ビッグデータ分析/処理
    - Dataproc
- 機械学習系
    - Vision API
    - AutoML Vision
    - Bigquery ML
- データ移行系
    - Data Transfer Service
    - Transfer Appliance
- その他
    - Cloud Storage
    - Google Compute Engine
    - Cloud Dataprep

## 勉強期間と勉強時間

3週間（平日は1日30分~1時間、週末は1日3時間くらい）
合計 30時間程度

## 勉強方法

[[Google 認定資格] GCP Professional Data Engineer の勉強方法と対策](https://trainz.jp/media/learningtoai/1545/) の記事をを参考にしつつ、以下の順で勉強を進めました。
上記サイトは試験対策に役立つ情報が結構書いてあるので、読むことを強くおすすめします。

1. 気になるQwiklabsを受けてみる
1. GCPの入門書を読む
2. Courseraの講座を受講
3. Googleが用意している模擬試験を受ける
4. Udemyで練習問題を解く

#### 1. 気になるQwiklabsを受けてみる

会社のBigQueryの研修を受けたことで、一ヶ月無料で受けられる権利を得ていたので受けました。が、あまり意味なかったです。
後述するCouseraでも、Dataエンジニア関連のQwiklabsは受けることになるので、個人的にはCouseraを受ければ十分だと思っています。

#### 2. GCPの入門書を読む

GCP未経験者だったので[GCPの教科書](https://www.amazon.co.jp/dp/B07S1LG1Y1)という本を読みました。AWSとの違いが書いてあり、AWS経験者としては良書でした。

#### 3. Courseraの講座を受講

Googleが開講している講座を受講しました。https://www.coursera.org/professional-certificates/gcp-data-engineering の中の https://www.coursera.org/learn/gcp-big-data-ml-fundamentals です。
内容は非常に良かったのですが、私は2点ミスを犯しました。
ないとは思いますが、お気をつけください。

1. 無料期間（1週間?）を過ぎてしまい、支払い（5,000円強）が発生した  
   勝手に1ヶ月くらいだと勘違いしていました。完全に無知でしたorz
2. 日本語の講座の存在に気づかなかった  
    私が受講した講座は英語字幕のものでした。  
    技術的内容も初見が多かったのでしんどかったです。  
    https://www.coursera.org/specializations/gcp-data-machine-learning-jp の中に  
    https://www.coursera.org/learn/gcp-big-data-ml-fundamentals-jp  
    という日本語字幕の講座があることに途中から気づき、こちらに乗り換えました。  
    日本語字幕により私比5倍くらい効率がUPしました。

#### 4. Googleが用意している模擬試験を受ける

[Professional Data Engineer模擬試験](https://cloud.google.com/certification/practice-exam/data-engineer?hl=ja)です。
わからないこと、気になることは答え合わせ時に調べました。
あまり良く覚えていませんが、正解は6割くらいだったと思います。
（実際の試験より易しめなので注意が必要）
Hadoop, Sparkに関する知識が欠如していることが判明したので、図書館で関連する本を借りて該当する章を読みました。
[ビッグデータ解析の現在と未来: Hadoop,NoSQL,深層学習からオープンデータまで](https://www.amazon.co.jp/dp/4320009207)の本は端的だけど、技術的な記述がしっかりあって参考になりました。

Hadoop, Spark, Beam辺りはGCPのDataproc, DataFlow辺りと強く紐付いているので、大凡の理解をしておくことをおすすめします。

#### 5. Udemyで練習問題を解く

https://www.udemy.com/share/103vOABEQcdF1QTXQ=/
の問題を購入し、解きました。基本的に英語なので、Google翻訳にお世話になりながら取り組みました。
テストは4回分あるのですが、全て解くことを強くおすすめします。
直接的に同じ問題は少なかった（1~2割くらい）ですが、考え方が同じ問題を含めると4~5割くらいはカバーされていたと思います。
私は4回中3回が6割台、1回だけ8割台でした。
解説が丁寧なので、点数よりも、答え合わせ時の確認が重要だと思います。
問題や解答で、気になるところ、不明点は公式のドキュメントや、ネット記事、実際の画面を確認することで実際の試験を解く上での知識はかなりカバーできてくると思います。（むしろそれをしないと合格点には届かないイメージです。）

## 感想

データ分析基盤系のGCPサービスの知識だけでなく、オープンソースや機械学習の基礎的知識もほんの少しではありますが、触れられたのは良かったです。

あくまで印象ですが、AWSと比べてフルマネージドだったり学習がしやすかったり（Couseraで講座の開講、BigQueryのパブリックデータセット）して使いやすそうだなーと思いました。
BigQuery中心に今後は業務で触れてみたいなーと思っています。

合格すると、（黒のパーカー or リュックサック） + ステッカーがもらえるようです。
私は黒のパーカーを選択しました。

![2020-09-24_00h08_53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143393/0e68b5c7-0c33-d8bd-7a0e-641422735579.png)

幸いなことにも、事後報告にも関わらず快く会社からは受験費用が出るようです。値段も安くない（$200）ので助かります。

次の目標はAWSかGCPのCloud Architect Professionalの資格にチャレンジしたいと思います。