Ruby Silverに申し込んで、合格までの勉強方法をイメージしてみた！

# 0. はじめに
## 私の勉強前のスペック
- Web系エンジニアになってすぐに受験
（入社日：2023年4月1日、受験日：2023年5月14日）
- 入社前はスクールに入り、主にRubyとRailsの勉強
- 基本情報技術者試験に合格
- 独学でポートフォリオを作成　⚠️以下の記事になります。

https://qiita.com/TS1engineer/items/7a5b5d33903d73992c49

- 初めて問題(REx)を解いた時の点数はこちら
![スクリーンショット 2023-04-12 8.47.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2674841/5f94df27-aaab-881e-f4a2-c67e591a498e.png)


# 1. 試験概要
## 試験について（2023年4月現在）
**試験会場**：テストセンター（日本全国）
**試験日**：通年開催　⚠️１つのテストセンターで「１週間に1日程度」。
**試験時間**：90分
**試験方法**:コンピュータ試験（CBT）
**問題数(方式)**:50問（選択式）
**合格ライン**:75%
**言語**：日本語・英語
**受験料**：16,500円（税込）　⚠️自分の場合は会社からお金が出たので無料
**予約**:試験日の60日前から3営業日前まで。⚠️試験日が土日の場合は4営業日前までです。
**予約の変更**：試験日の3営業日前まで。試験日が土日の場合は4営業日前までです。

⚠️詳しくは以下の公式サイトを確認してください。

https://www.ruby.or.jp/ja/certification/examination/version3.html

## Rubyのバージョン違いに注意
2022年10月3日より、Ruby 3に対応した問題になったとのこと。
ただし、学習教材は基本Ruby 2.1対応なので若干異なる点がある。

![スクリーンショット 2023-04-10 8.54.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2674841/0f2c4b49-c0ab-548a-ecfc-2ee031e961e0.png)

# 2. 試験を受ける際の注意点
## 試験の申し込み
30時間以上の勉強確保が必要と考えた。
（自分の場合は、過去にRubyでアプリを作ったことがあり、完全な初学者ではない）
そのため、毎日2時間以上勉強をすることに決めて、勉強開始から20日後に設定。

総勉強時間：40時間（予定）
勉強開始日：2023年4月24日
試験日：2023年5月14日(勉強開始日から`20日後`)

## CBT試験の形式に慣れる
Ruby SilverのCBTはなかったが、代わりに基本情報っぽいテストは以下で体験できる。

https://www.prometric-jp.com/trial/tutorial/sp/cbt_tutorial.html

## 合格に必要な点数
75%が合格ラインなので、全50問で1問2点とすると、38問正解で合格
そのため、12問は不正解になっても良い。
　→ **難しい問題は無理して解かずに、「正解できる問題をいかに間違えないか」が重要**

## ペース配分
全90分のうち、10分を見直しに使うことを考えて、問題を解く時間は80分
全50問なので、1問当たり1分36秒
　→　**「1問を1分半で解くイメージ」を普段の勉強から意識しておく**

## 消去法で選ぶ
選択肢は4択なので、純粋な正答率は25%。
回答がすぐにわかれば良いが、わからない場合はランダム回答ではなく選択肢を絞っていく。
その時、「明らかに正解ではないだろう」という選択肢を除いた２択までには絞りたい。

## 「誤っているものを選択」や「複数選択」
ほとんども問題が「正しいものを選択」なのだが、まれに「誤っているものを選択」や「複数選択」がある。
そのため、いきなり選択肢を見るのではなく、問題文をしっかり読んでから回答していきたい。

# 3. 学習教材
Silverに合格した先輩に「Silver受けたいっす」という感じで話かけたら、快く教えていただいた。
本を貸していただいたり、問題が解けるサイト等々あるので共有していく。

## [改訂2版］Ruby技術者認定試験合格教本（Silver/Gold対応）Ruby公式資格教科書
- 先輩から貸していただいた本
- 対策本としては、この本しかないみたい（2023年４月現在）
- 試験の問題が一緒（本なので当然だが）で暗記してしまうので、オンラインの問題集と併用することがオススメ
- 出題範囲に関する知識を体系的に学習できるので、リファレンスとしても活用できる

https://www.amazon.co.jp/dp/B0756VF9Y3/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

## REx
- オンラインの問題集
- 8割共通で、残りの2割が受けるたびに変わる
- スマホ対応でもちろん無料
- githubアカウントとの連携が必要

https://www.ruby.or.jp/ja/certification/examination/rex

## Rubyアソシエーション - Ruby技術者認定試験 - Ruby Association

[こちらからページに飛びます](https://gist.github.com/sean2121/945035ef2341f0c39bf40762cd8531e0)

# 4. 問題解説記事
## Ruby Silver試験前に見直すと幸せになれるメモ

https://tamata78.hatenablog.com/entry/2015/08/07/200454

## 【Ruby技術者認定試験】ポイントまとめ

https://qiita.com/menmenshod/items/aa03c7fe1701a1f03a56

## プログラミング言語 Ruby リファレンスマニュアル

https://docs.ruby-lang.org/ja/

# 5. 学習の心構え
## 学習記録を作成
勉強時間などの記録を可視化することで、進捗を把握する。
自分は以下のNotionテンプレートを利用した。

https://www.notion.so/ja-jp/templates/pursue-your-dream-study-template

## 始業前に勉強
10時から勤務開始なので、朝7時から3時間の勉強。
まだ現場に入っていないので、10時から12時の時間も勉強に充てる。

## 間違えた問題は必ず理解
上記のテンプレートに、間違えた問題をメモしていく。

## 常に本番の意識を持つ
「間違えてもいいや」ではなく、「間違えたらヤバイ」という感覚で行う。

## 周囲の人に目標を宣言
5/14の受験日を共有し、必ず合格するという意思を示す。

## 試験結果
**2023年7月1日に受験し、「82点」で合格しました！！**
![Screenshot 2023-07-01 at 4.56.57 PM.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2674841/a55f22be-c7b9-2573-4060-c4b7f07dd260.png)
5月から案件に入ったこともあり、受験時期を少し遅らせました。
RExでの問題で100点を取れるようになったので、本番も余裕かと思いましたが、ややギリだったので少し焦りました。
RExの問題と系統は似ているが異なるメソッドや演算子等があり、対応できない部分があったと思います。
それでも、試験勉強の中でirbを使って1つ1つのメソッドの動作を確認する癖がついたのは良いことでした。

## 今後について
次はGoldを目指そうかと思い、RExで問題を解いたのですが、結果28点でした。
複雑なクラスやモジュールの問題があり、暗記に頼らずしっかりと理解する必要があるようです。
Qiitaでの合格体験記を読むと、Silverより勉強が必要のようです。
また、実務で使わない問題も多いようで、受験はひとまず後回しにしようと思います。

# 6. 参考記事

https://qiita.com/jonakp/items/7f7550eeea78973a0a7f

https://qiita.com/motty93/items/413485469e4ec665c329