G.I.G. プログラムと PDE 認定資格試験体験談

こんにちは。データエンジニアとして仕事をしている ハマダ です。

今回、Google が主催している G.I.G. （ Google Cloud Innovators Gym ）プログラムに参加しました。
今後、プログラムと認定試験を受ける方々の力になれればと、参加した感想とこうしたら良かったという内容をまとめましたので、参考にしていただければ幸いです。

## １．G.I.G. プログラムとは

G.I.G. プログラムとは Google Cloud Innovators Gym プログラムの略で、Google Cloud のプロダクトやサービスを学ぶことができる招待制のプログラムです。

私としては**参加して良かった**と考えています。当時の私には必要だった知識も含めて学習することができたので、感謝しております。

### １）対象の認定資格
* Professional Cloud Architect ( PCA )
* Professional Cloud Developer (PCD )
* Professional Data Engineer (PDE)

### ２）期間
約４ヶ月（私の場合は、4月初〜7月末）

### ３）構成
* セッション
* Coursera
* 認定試験

### ４）良いところ
* Google Cloud のプロダクトやサービスを学ぶことができ、背景にある対象分野の知識も合わせて学ぶことができる。
* 用意された Coursera のコースを受講して、無料で修了証を受け取ることができる。（個人で支払うと、約 5,000 円 〜 ／月）
* 認定資格試験を受ける為のサポート

### ５）大変なところ
* 受講必須の Coursera コースのボリュームがそれなりにあるので、業務と並行と進めるのはそれなりに大変。
* 日本語字幕が準備されているが、基本的には英語となる。
* 認定資格試験の難易度が高めなので、プレッシャーが厳しい。

### ６）かかった時間
#### ＜Coursera＞
必須と任意の合わせて 9コースを平均 1〜2 時間／日（日曜日はお休み）で、4月初旬から 6月中頃までの約 2.5ヶ月かけて完了させました。 ざっくりですが、約100時間程度の時間をかけています。ただ、任意のコースも受講していますので、必須だけであれば、もっと少ない時間で完了すると思います。

#### ＜認定資格試験対策＞
公式模擬試験(27問)、対策問題集（50問 × 3セット）をそれぞれ４回ずつこなしました。
公式模擬試験の１回にかかる時間は 15分程度、対策問題集1セット、１回にかかる時間は大体 30分程度になります。また、問題でわからないところや気になったりした部分を調べたりもしていたので、大体、10時間程度の時間をかけていると思います。

## ２．セッション
セッションは２種類あります。

### １）通常セッション

おおよそ月１回開催される **必須参加** のセッションです。
**セッション終了時にアンケートURLが通知されますので、そちらに回答して参加** という形になります。

セッションでは下記が行われます。
* プログラムに関する連絡や説明
* サービスの紹介とハンズオンでのデモ

プログラムに関する質問やデモに関する質問については、Google Workspace の Chat で行うことになりますので、ここでの質疑応答はほとんどありません。どちらかというと、最新サービスの紹介するハンズオンでのサービスデモがメインで、認定試験に対してはほとんど関係しないと思います。

初回については、プログラムの説明やプログラムの修了条件、 Coursera での学習方法を説明するので、しっかりと聞く必要があります。

２回目以降は全体の進捗状況や連絡、優秀な参加者の表彰を行いますが、ハンズオンでのサービスデモがメインとなります。

### ２）補修セッション
おおよそ月１回開催される任意参加のセッションです。

「もくもく会」とサブタイトルがついており、おそらく、「学習をもくもくと行う会」の略なんだと思います。自己学習時間（ chat での事務局への質問、回答）をメインに、ミニセッションを行なっています。


## ３．Coursera
プログラムについての学習は Coursera で行います。プログラムの事務局が **「所属する組織からのおすすめ」** として、各認定資格ごとに学習するコースをまとめてくれていますので、それらのコースを進めていくことになります。

:::note info
PDE Track
こちらは認定資格 Professional Data Engineer の受験を希望される方向けのコースです。
:::

というようなタイトルと説明書きが表示されています。
私の場合はこのPDEを受講しました。

:::note info
**PDE Track で学ぶ内容**
データエンジニアリングに関係した Google Cloud のサービス、プロダクトについて、学んでいくことになります。最終的にこれらのサービス、プロダクトを利用したデータ処理システムや機械学習モデル等の構築と運用ができるようになることが目標となります。
* ストレージ
* データベース（Cloud SQL, Cloud Spanner, Bigtable, Datastore, etc)
* データウェアハウス（BigQuery, etc）
* ETL（Dataprep, Dataflow, Pub/Sub, Cloud Composer, etc）
* 機械学習（BigQueryML, Vertex, etc）
:::

ただし、各認定試験ごとにまとめられた　**コースには必須と任意のものがある** ようです。内容としては、仕事と並行に進めるには結構なボリュームがあるので、どのコースが必須なのかを把握することをお勧めします。また、Coursera については申し込み後、早くから取り組むことができるので、第１回セッションを待たずに、 **すぐに始める** ことをお勧めします。

また、Coursera では Google Cloud （旧 GCP） 上でサービスを使用する課題が出てきます。課題を始めると、まず、その課題で実施する内容と手順についての説明ページが表示されるので、その通りに進めることになります。

### ＜　Google Cloud （旧 GCP）　での課題を進める上で引っかかりそうなところ＞
Google Cloud　での課題を進める上で引っかかりそうなところ（というか引っかかったのは）は、下記の部分です。

* 実施する内容と手順は英語なので、訳しながら進めないといけませんが、一括で訳してしまうと Google Cloud　上のメニューや選択項目や設定値も訳してしまって、わけがわからなくなる。

* 説明ページのほとんどが文章なので、次に選択する対象が画面やメニューのどこにあるかが分かりづらい場合があり、最悪の場合は制限時間付きの ○ォー○ーを探せになる。

* 各課題には時間制限があり、超過すると強制終了されて最初からとなるが、　Google Cloud　のサービス起動等で大半を食い潰されてしまうことがある。 

* 説明の内容が　Google Cloud　の最新バージョンに対応していない場合に、説明通りの表示がされなかったり、選択項目の選択肢に出てこない場合があり、課題を進めることができなくなる。

:::note warn
最後の内容のような問題が発生した場合には、対象コースにある「ディスカッションフォーラム」で同じ問題に直面しているコース受講者の質問とその回答を見ることをおすすめします。
:::

## ４．認定試験



認定試験については、本プログラムに参加することで受験の為のサポートが受けられます。
認定の有効期間は 2 年間です。

**問題数は 50 問で選択式で、時間は 120 分間です。**

試験の問題例としては、下記のようなものがあります。

:::note info
A社はオンプレミスで運用しているリレーショナルデータベースを Google Cloud に移行したい。A社はコスト効率を重視しているが、どのサービスが最適かを選択せよ。
　A. Cloud Spanner
　B. BigQuery
　C. Cloud SQL
　D. Bigtable
:::
選択肢として、A, C が移行することが可能なデータベースのサービスなのですが、問題文の **「コスト効率も重視」という文言があるので** 、よりコストが安い **「C. Cloud SQL」が正解** となります。

逆に「コスト効率も重視」が **「グローバルで活用できることを重視」とか「グローバル展開を考えている」となっていると「A. Cloud Spanner」が正解** となります。

この **認定資格試験は難易度が高い** と感じていました。
Coursera を勉強して、公式模擬試験をやっただけでは、まず、合格できないだろうと感じていました。

理由としては下記の点が挙げられます。

* 認定資格試験の問題は現実にありそうな実務上の課題を提示されます。課題に対する要件を洗い出し、要件に最適なプロダクト、またはサービスを選択しないといけません。

* 回答の為に着目する要件や最適なサービス、またはプロダクトの選択根拠は Google Cloud の考え方に沿う必要があるので、この考え方を理解、把握しておくことが必要です。

* 認定資格試験の情報が Coursera の１コースと公式模擬試験（ 27問 ）しかなく、非常に少ないです。

* Coursera では サービス、またはプロダクトの学習はできますが、「この要件に対してはこのサービス、プロダクトを選択するべき」というような内容を学ぶ機会は試験対策用の１コースでいくつか出てきますが、十分とは思えません。

どういうことかというと、認定資格試験で合格点を取得するには、 **Google Cloud の考え方** に沿う形で、課題の **要件に最適なサービス、またはプロダクトを選択** する必要があります。

この **Google Cloud の考え方** を理解、把握する最適な対策としては、たくさんの実務ケース（実務上の課題についての要件を洗い出し、要件に対して、適切なプロダクト、またはサービスを選択してシステムを構築した例、実績）をひたすら読み込んで、どのような内容を要件として着目するか、プロダクトやサービスを選択する根拠を理解、把握して、応用できるようにしておくことが考えられるのですが、この情報が少ない為、要件として着目するポイントやプロダクトやサービスを選択する根拠が理解しづらく、把握しづらいです。

また、 **要件に最適なサービス、またはプロダクトを選択** するには、Coursera でサービスやプロダクトの特徴、長所、利点を理解、把握する必要があります。こちらについては Google Cloud の考え方 を理解しない中では学習のポイントを絞ることができないので、明確で自信のある学習方針、やり方を立てられない状態で、ボリュームのある Coursera の内容を学習しないといけません。

このことが認定資格試験の難易度を上げる大きな原因だと考えています。

気分的には霧の中の的に矢を打っている感じで、最後まで不安しかありませんでした。

私の **試験対策** ですが、試験慣れと Google Cloud の考え方を把握する為に対策問題集を購入、３つある問題集を各４周して、9 割は正答になる状態で認定試験に臨みました。結果として、合格することができました。（正直、どういうことをすれば合格できるのかは最後までわからなかったので、非常に緊張する試験でした。）

公式模擬試験にしても、問題集にしても、初見では 5割程度しか正答できませんでしたので、おそらく、上記をやっていなければ合格できなかったと思います。
（また、今の Google Cloud の考え方が対策問題集が作成された当時から変わっていた場合は厳しかったと思います。）

:::note warn
**Google Cloud の考え方のポイント**
問題文に下記の要素があるかどうかをしっかりと見極めること。
　１）課題の状態（初期構築か既に構築したものの流用が前提か）
　２）期間
　３）コスト
　４）サイズ
　５）リアルタイム／バッチ
　６）グローバル
:::

:::note warn
**要件に最適なサービス、またはプロダクトを選択のポイント**
１）データベースの種類と特徴
　　・NoSQL
　　・RDS
　　・最大データサイズ
　　・グローバル対応
　　・その他

２）ETLサービスの種類と特徴
　　・SparkやBeams、Hadoop等の基盤となっている仕組み
　　・コードベースかGUIベースのサービスか
　　・リアルタイム処理かバッチ処理
　　・サービスの組み合わせ
　　・その他

３）機械学習の知識
　　・教師なし学習か教師あり学習の選択
　　・under fitting か over fitting の判定とその対応方法
　　・GPU、TPU の使用判断
　　・その他

４）Google Cloud の最新サービス
:::

試験時間は 120 分間あるので、まずは一周 → 気になった問題を再確認 → 問題文の再確認で一周という形で時間をかけて回答をしていきました。

## ５.まとめ
とりあえず、まとめてみました。
改めて参加して良かったと感じています。

ただ、認定資格試験は常に霧の中にいるような感覚で非常にプレッシャーがありました。Google で他の方の試験体験記を見て、情報を収集したり、 Udemy の対策問題集を購入して対策はしていましたが、自分が受ける試験が問題集と同じ方式、傾向かは最後までわかりませんでしたし（Google が意地悪で考え方や出題傾向、方針をガラッと変えてきたらどうしようかと）、提出から合格の２文字を見るまでは非常に不安で心臓がバクバクしてました。

本プログラムを進めていただいた方々、開催していただいた Google 様には感謝を申し上げて、終わりたいと思います。

ありがとうございました。