エンジニア２年目、Java SE11 Goldに1ヶ月勉強で受かったのでやったことを記録する

# はじめに

はじめまして、miu-yです。
Java Goldに受験したので、その記念に勉強法などを記録したいと思います。

# 受験時のスペック

* 2月にJavaSilverを受験
* Javaは１年弱、古いコードしか触った経験がない

# 試験結果

* 勉強期間：
　    7月上旬～8月上旬（1ヶ月ほど、4月に本は買って勉強してたもののサボりすぎてほぼ実績0の状態）
* 得点率（ボーダー63%）：
    　83%

# きっかけ

6月中旬ごろにフロントエンドに転向したいと思いJISOUというプログラミングスクールに加入しました。
その際に、今仕事にしているサーバーサイドのJavaの経歴を何かしら形に残したいと思い、改めて資格取得を目指しました。

# 使った参考書および問題集

他の方と変わらないと思いますが、黒本と紫本です。

### 紫本（オラクル認定資格教科書 Javaプログラマ Gold SE11(試験番号1Z0-816)）

https://www.amazon.co.jp/%E3%82%AA%E3%83%A9%E3%82%AF%E3%83%AB%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E6%95%99%E7%A7%91%E6%9B%B8-Java%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E-Gold-SE11-%E8%A9%A6%E9%A8%93%E7%95%AA%E5%8F%B71Z0-816/dp/4798162027

試験範囲について、様々なクラスやメソッドをまとめた教科書のようなものです。
章末に簡単な確認問題もついています。

### 黒本（徹底攻略Java SE 11 Gold問題集[1Z0-816]対応）

https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5Java-SE-11-Gold%E5%95%8F%E9%A1%8C%E9%9B%86-1Z0-816/dp/4295012564

各章ごとの基礎問題＋本番に近い演習問題と細かい解説が乗っている問題集です。

# 勉強法について

勉強のやり方については人それぞれあると思いますが、私は一度4月に勉強を挫折しました。
同じように失敗する方を減らすよう、失敗と成功したやり方についてまとめていこうと思います。

## 失敗した勉強法

学生時代と同じように、教科書を読んで内容を知る→問題を解いて理解度確認というやり方を行っていました。

1. 紫本(教科書)の内容をノートにまとめる
1. 紫本の章末の問題集で理解度を確認する
1. 黒本(教科書)の問題を解いて理解できていない所について再確認する

私にとっては馴染み深いやり方でしたが、社会人として勉強をする上でいくつか問題がありました。

### 時間がない

学生時代からは思いもよりませんでしたが、社会人になると個人の勉強に使える可処分時間が大幅に減ります。
具体的に私の4月ごろの平日のスケジュールはこんな感じでした。

```
     ~07:50 起床・準備
07:50~09:15 出勤
09:30~18:30 勤務
18:30~20:00 退勤
20:00~21:30 食事/入浴/明日の支度
23:00~      就寝
```

社会人としては至極普通のスケジュールです。
フル出勤ですが、残業がない分かなりホワイトかもしれません。

ですが、可処分時間は２時間しかありません。学生時代は勉強に使えていた昼の時間も勤務に専念しないといけません。
満員電車内でノートを広げることも出来なかったので、かなり窮屈な状態でした。

### 知っている事も多かった

当然ですが、業務等で使用しているので紫本には既に知っている内容も多々ありました。
そういった内容を見るたび、「この勉強は非効率なんじゃないか」と思いモチベーションが下がる一方でした。

### 結局どうなったか

5月ごろに別プロジェクトに配属になったのも重なり、受験を諦め毎日ゲームなどで時間を潰す日々でした。

## 成功した勉強法

上記の流れから半ばあきらめていましたが、JISOUで「社会人として勉強するやり方」について考え直す機会があり、せっかくなら再挑戦してみようと思いました。

### きっかけとなった記事

https://qiita.com/miu-Y/items/94dc18fe4e41a67880e6

勉強法も以下のように変えました。

### 問題集(アウトプット)中心の学習にする

JISOUの課題を進める上で、「どこまで出来るか」を知る必要があるなと考えました。
今回は問題集中心の学習に切り替えました。
結果、あれだけ教科書を読んでいたのにも関わらず正答率は4割程度…
結局のところ、読んだだけで一切身についていない事が分かりました…

まずは問題集で自身が出来ていない所を洗い出し、出来ない所を潰すところから始めました。
問題ごとに以下の分類をしました。

#### 1. 理論も理解していて回答できる

すべての試験範囲に対してこの状態に持っていくことは不可能でした。

#### 2. 理論は理解していないが回答できた

Javaの仕様やクラスの傾向から推察して正答できたもの、理論は知らない状態です。
解いている最中に少しでも悩んだら、この状態にあると思い問題にマークして教科書で理解を深めました。

#### 3. 理論は理解しているが間違った

この問題があった時は、自分がその時どういう考え方で回答したのかを思い出して間違っている箇所をノートにまとめました。
もし理論を知っているが合っているか不安になった時は、ノートの端っこにその解答をした理由を書きました。

#### 4. 理論も知らないし間違った

0の状態です。
黒本の解説と紫本の内容をノートにまとめ、インプットを行いました。
解説を読みながらどこが重要なポイントなのか、覚える事の重みづけをしました。

### 勉強時間のルーティンを決める

JISOUの学習ステップを進める上で、もっと時間を有効に使えないか考える機会もありました。
今回の試験だと、通勤時間や昼休み時間を勉強に充てました。
当時の一日のルーティンとしては

1. 出勤時に問題集を1章解く
1. 昼休みに間違った所をまとめる
1. 退勤時に問題集を1章解く
1. 帰宅後に間違った所をまとめる

という流れを作りました。

# 受験した感想

とにかく良かったという感想しかありません。
なにより今までやってきたJavaの経歴が形になったのは言葉にできないほど嬉しいです。

# これからについて

ちらっと話しましたが、JISOUというプログラミングスクールに入っています。
ここはJavaではなくReact中心のプログラミングスクールですが、名前の通り自分で勉強するという意欲の高いメンバーが集まっています。
私は割と趣味でエンジニアを楽しめればいいなーと思っていた節がありましたが、集まっているメンバーの意欲の高さもあり色々とエンジニアとして成し遂げたい事が出てきました。（今回資格を取ったのもその関連です）

https://projisou.jp/

## 次の目標

今はフロントエンドエンジニアへの転向を目指しています。
JISOUの課題を終わらせてReactを身に着ける事を目標にしたいと思います。

平行で書籍で学習できる何かをやりたいのですが…
（今の勤務先が私物電子機器・外部ネットワーク不可のため）
フロントの技術関連で有名な本でも読んでみようと思います。