G.I.G. に参加して Professional Cloud Developer を取得しました！

# はじめに

このたび、Google Cloud 主催の G.I.G. Japan 第6期プログラムに参加し Google Cloud Professional Cloud Developer （以下 PCD ） の認定資格を取得することができました！祝

G.I.G. Japan は、Google Cloud Innovators Gym Japan の略で「各業界をリードするエンジニアに向けた招待制特別トレーニング プログラム」とのことです。
私の参加時のスキルセットなどを紹介しつつ、G.I.G. を振り返ります！
この記事が G.I.G. 参加 および PCD 資格取得を考えている方の一助になれば幸いです。

# 私と Google Cloud について

私は現在(2023年7月)、[株式会社ビットキー](https://bitkey.co.jp/)（以下 ビットキー）のエンジニアです。2020年4月から社会人としてWeb業界でエンジニアを始めているので G.I.G. 受講時(2023年4月)の業界経験歴は 3 年となります。
開発では Go 言語を使い、プラットフォームとして Google Cloud を活用しています。

ビットキーには[2022年11月にジョイン](https://qiita.com/_otakakot_/items/5bbedd3d77dcae90aded)し、Google Cloud を触り始めました。そのため G.I.G. および PCD 受験時の歴としては半年ほどとなります。Google Cloud では主に GKE を活用していて他にも Cloud SQL や Memorystore for Redis、Cloud Pub/Sub etc... を活用しています。

経験として、前職で AWS を活用していて [Lambda](https://aws.amazon.com/jp/lambda/)・[DynamoDB](https://aws.amazon.com/jp/dynamodb/)・[AppSync](https://aws.amazon.com/jp/appsync/)・[SQS](https://aws.amazon.com/jp/sqs/) etc… などのサーバーレスサービスを一通り触っています。

認定試験は推奨される経験として「業界経験が 3 年以上（ Google Cloud を使用したソリューションの設計と管理の経験 1 年以上を含む）」とあります。エンジニア歴は 3 年になり、AWS を活用してクラウドサービスに関してもある程度理解はあったと思っていますが、Google Cloud を触っている期間は約半年と短いため受講に対して不安がありました。

# G.I.G. について

G.I.G. は以下のコンテンツにて構成されています。

- 必須で参加が必要なセッション *複数回
- 任意で参加可能な補習セッション（別称：もくもく会） *複数回
- 参加者同士のオンライン懇親会
- 参加者同士のチャットスペースによる交流
- Coursera を活用したオンライン学習（規定コースの受講完了）
- いずれかの認定資格試験の合格
    - [Professional Cloud Architect](https://cloud.google.com/certification/cloud-architect?hl=ja)（PCA）
    - [Professional Cloud Developer](https://cloud.google.com/certification/cloud-developer?hl=ja)（PCD）
    - [Professional Data Engineer](https://cloud.google.com/certification/data-engineer?hl=ja)（PDE）

学習や交流を通して認定資格試験合格を目指していくことになります！

# G.I.G. とどう向き合っていくか作戦を考えた

第1回セッションに参加し Coursera の学習コースを閲覧したタイミングで G.I.G. とどうやって向き合っていくのか考えました。
私が所属するチームは主に GKE を活用しているということもあり、私の興味は GKE にあります。
Coursera では認定資格試験ごとにおすすめのコースが表示されます。
しかし、GKE の講座は PCA 受験者に向けておすすめされていました。
また、PCD おすすめの講座ではアプリケーション開発で手を動かす箇所があったのですが、Go 言語での実装がなさそうだったので受講する気になりませんでした。

そこで、私は Coursera の受講と PCD 受験勉強は別物として考えようと決心します。
PCD 受験のための勉強は Coursera ではしない。Udemy を検索したら模擬試験があったので、それをあとで解きまくるという戦法にしました。

## Coursera 受講コース

受講するコースは以下に決めました。 

| コース名 | 推定受講時間 | キーワード |
| --- | --- | --- |
| Google Cloud Fundamentals: Core Infrastructure 日本語版 | 約8時間 | `Google Cloud プロダクト` |
| Getting Started with Google Kubernetes Engine 日本語版 | 約12時間 | `コンテナ` `Kubernates アーキテクチャ` `Kubernates ワークロード` |
| Architecting with Google Kubernetes Engine: Foundations 日本語版 | 約11時間 | `コンテナ` `Kubernates アーキテクチャ` `Kubernates ワークロード` |
| Architecting with Google Kubernetes Engine: Workloads 日本語版 | 約19時間 | `Kubernates` `Deployment` `Job` `スケーリング` |
| Architecting with Google Kubernetes Engine: Production 日本語版 | 約14時間 | `Kubernates` `アクセス制御` `セキュリティ` `ロギング` `モニタリング` `ストレージサービス` `CI/CD`  |

大まかに各コースは

- 動画による説明
- ハンズオン（専用の Google Cloud アカウントがプラットフォーム上で都度発行される）
- テストによる確認

がコンテンツとして提供されています。

Coursera には「日本語版」が用意されています。が、動画の音声は英語で日本語の字幕が表示される形です。

## スケジュール計画

選択したコースを踏まえて私は以下のようなスケジュールを計画しました。

| スケジュール予定 |  |
| --- | --- |
| ~ 2023.04.16 | Google Cloud Fundamentals: Core Infrastructure 日本語版 |
| ~ 2023.04.23 | Getting Started with Google Kubernetes Engine 日本語版 |
| ~ 2023.04.30 | Architecting with Google Kubernetes Engine: Foundations 日本語版 |
| ~ 2023.05.14 | Architecting with Google Kubernetes Engine: Workloads 日本語版 |
| ~ 2023.05.28 | Architecting with Google Kubernetes Engine: Production 日本語版 |
| ~ 2023.06.30 | PCD 勉強 |
| 2023.07.09 | PCD 受験 |

# 振り返り

## G.I.G. セッションについて

今回のセッションは以下のような内容でした。 ※期により異なる可能性があります。

第1回セッションは Google Cloud のサーバーレスについての紹介です。Google Cloud のサービスについて紹介があり、Google Cloud を触って日が浅かった私にとっては有益な情報でした。AWS と同じくGoogle Cloud もサーバーレスサービスが充実しているのだと知りました。

第2回セッションは Google Cloud のデータベースについての紹介です。ハンズオンでは Cloud Spanner を触りました。[インターリープ](https://cloud.google.com/spanner/docs/schema-and-data-model?hl=ja)や[シャード](https://cloud.google.com/spanner/docs/schema-design?hl=ja)など Cloud Spanner を活用する際には気をつけなければいけない観点があるそうです。

第3回セッションは Google Cloud の CI/CD についての紹介です。Google Cloud に限らず、CI/CD への信頼がなぜ求められているのかという説明もありました。ハンズオンでは Cloud Deploy を用いた Cloud Run のデプロイを実施しました。Cloud Run の状態を宣言的に管理できるのでぜひ使ってみたいです。また、Cloud Deploy で GKE も管理できるとのことなので手を動かして確認してみたいです。そして、私のチームで活用している [ArgoCD](https://argo-cd.readthedocs.io/en/stable/) と使い勝手などを比較しようと思います。

G.I.G. は参加者および Google エンジニアの方が参加するオンラインチャットのスペースが用意されます。セッションの時間に関しては Google エンジニアの方から直々に回答をいただけるのでセッションまでに勉強して疑問に思ったことなどをメモしておいてセッション中に質問するというムーブはよいなと思いました。

## 懇親会について

社会人になって初めて他社さんとの交流でもありました。普段の業務の話から趣味の話までわいわいと盛り上がることができて楽しかったです。お話を伺っているとみなさん Cloud Run を使っていて人気がすごいのだなと感じました。

## Coursera について

以下のような日程で完了しました。
それぞれのコースは記載してあった推定受講時間よりも短い時間で完了しています。

| コース名 | 予定 | 完了 | 受講時間 |
| --- | --- | --- | --- |
| [Google Cloud Fundamentals: Core Infrastructure 日本語版](https://coursera.org/share/d6bf3375f415bd3b98e8b69776c36b04) | ~ 2023.04.16 | 2023.04.15 | 約5時間 |
| [Getting Started with Google Kubernetes Engine 日本語版](https://coursera.org/share/b9654c7cd1f157fb2bad39155bde9d59) | ~ 2023.04.23 | 2023.04.18 | 約5時間 |
| [Architecting with Google Kubernetes Engine: Foundations 日本語版](https://coursera.org/share/ac194d3a018e4eaeb00e67df69636949) | ~ 2023.04.30 | 2023.04.19 | 約3時間 |
| [Architecting with Google Kubernetes Engine: Workloads 日本語版](https://coursera.org/share/c5d29683fc3857a8675c23aeb945cfc0) | ~ 2023.05.14 | 2023.04.22 | 約5時間 |
| [Architecting with Google Kubernetes Engine: Production 日本語版](https://coursera.org/share/de64cb3ebf547e2ee33999b4569e1b45) | ~ 2023.05.28 | 2023.04.23 | 約4時間 |

Coursera は以下のような姿勢で受講しました。

- 音声は英語なので基本聞かず倍速でただ字幕を読み続ける
- モチベーション高い GKE 周りのコマンド(kubectl)はちゃんとキーボードで打ち込む
- それ以外のコマンドはコピペしてへぇ〜と眺める（なのであまり血肉となっていなそう）

ちなみに … 
早い段階で多くのコースを終了させたので「スタートダッシュ賞」をいただくことができました！！（やったね。）
（一方でこれで PCD 落ちたらどうしようと焦りも感じました。）
景品が贈呈されるとのことなのでお待ちしています。

## PCD について

### 2023/04/14 模擬試験をやってみた

自分の今の実力を見ておきたかったので勉強はせずに模擬試験をやってみました。
公式リンクから以下の模擬試験を受けることができます。

[Professional Cloud Developer 模擬試験](https://docs.google.com/forms/d/e/1FAIpQLSc_67KaPnNwQrLZ7kuhw-aubz7gMAwY6DQwRJYcW0qlG-iajA/viewform?hl=ja)

結果は 23 / 39 → 58% の正答率でした。ここで8割くらい取れたら勉強しないでもいけるっしょと思いましたが、そこまで甘くありませんでした。「ちゃんと勉強しよう」と決意します。
一方で、Google Cloud 歴が半年未満でもまったく歯がたたないという感触を得ることができました。
問題も Google Cloud に限った話ではなかったのが影響していると思います。

### PCD を取得するためにやったこと

カレンダーで勉強時間をメモしていたので見直したところ、PCD 受験のために使った時間は 30 時間ほどでした。
Coursera 受講が完了したあとの5月下旬から6月下旬までは、毎週土日あわせてだいたい 3 時間ほどを使っていました。試験1週間前の平日は仕事から帰宅した後 1 時間くらい時間を使いました。また、試験当日は有給休暇を取得し試験開始までの 2 時間程度時間を使いました。

勉強方法としては

- 過去問を解きまくる
- 分からない用語は公式ドキュメントを読む

を繰り返しました。

過去問は Udemy で販売されているものを利用したり [EXAMTOPICS](https://www.examtopics.com/exams/google/professional-cloud-developer/view/) というサイトを活用しました。最初はまったく分からず試験合格への不安が募るばかりで正直辛かったです。
ただ、用語が整理できてくると楽しく思えるモードに突入しました。
終盤は、過去問を反復しすぎて暗記ゲームに突入してしまったので作業感がすごかったです。
ちょっと無駄な時間だったなぁと後悔しています。

### 試験問題について

私は試験を日本語版で受けました。
注意点として、問題文で出題される単語が無理やり日本語訳されているような箇所がちらほらあるということです。
サービス名の Cloud Functions や Web Security Scanner であったりロールの Invoker などが無理やり和訳されていてなんだこれ?となりました。
試験当日も英語 <-> 日本語を切り替えるなどはできなかったので過去問を通じて慣れておくのが良さそうです。

### 試験当日について

当初は 7/9 に受験を計画していましたが、`正式な合格通知が届くまでに時間がかかる（通常は 7-10 日）` であることや仕事、プライベートのスケジュールを考慮して 7/4 にしました。
試験はオンラインではなくテストセンターでの受験を選択しています。
試験は15時45分開始で予約していましたが、15時20分にテストセンターで受付をし15時30分には試験を開始しました。
問題は 60 問出題されましたが、見直しを含め 30 分で解き終わりました。
試験結果は当日終わった直後から確認することができ、無事に**合格**していました！
（ちなみに、正式な合格通知は 7/6 に来ました。ご参考まで...）

# おわりに

序盤 PCD の勉強しているときは辛かったですが、最終的には資格を取得することができたので G.I.G. に参加できてよかったと感じています！機会がある方はぜひ参加してみてください！！
G.I.G. はオンライン修了式に出席するまで続きます。それまで私たち参加者は「楽しみに待つ」という使命があるみたいなので、気を緩めず G.I.G. に参加している自覚を持ち続けようと思います。

G.I.G. 参加前に比べると Google Cloud に関する知識は増えたと思います。ただ、まだプロダクト開発へと還元できたことはないように感じるので実践に投入できるように手を動かしていきます。

このままの勢いで PCA も取得したいなぁと思いつつ、Kubernates に関する資格も取得したい気持ちです。
ただ、試験勉強は時間が溶けるので日程調整しつつ頃合いを見ます。