ruby silverに無事合格したので、体験記をまとめてみる(2021/02)

無事ruby silverに合格したので
他、数多くの合格体験記がありますが
私もその例に倣って書いてみることにします。

2021年2月の最終週に初受験。88点で合格しました。
12問までミスしても大丈夫だ！というのが、心理的には大分安心材料で
多少答えに自信がない問題があったとしても、ペースを崩さずに進められました。

##前提
私のrubyとの関わり具合です

+ ちょうど業務でrubyを使い始めて1ヶ月くらい（railsに苦戦中）
+ 会社で取得を推奨されたので、重い腰をあげてトライしました
+ 以前からrubyの勉強はちまちましていたが、udemy1,2講座と、所謂チェリー本を少し読んだ程度
+ プログラマー歴自体は3年弱
+ あまり意識は高くない方のプログラマーです。勉強は好きじゃないです（白目）

##勉強時間

+ 約1ヶ月くらい前から準備し始めました
+ 平日は基本勉強らしい勉強はせず。休日メインで学習を進めました。
+ 合計学習時間は30時間くらい
+ 集中してガッツリ取り組むより、ながら勉強が多かったです。

##勉強に使用したもの
① ruby技術者認定試験合格教本
② Rex
③ 模擬問題集
④ ruby実行環境
⑤ Qiita
⑥ google先生

基本はとにかく問題を解いて、間違えたところや、理解が乏しい部分を中心に
本やwebで調べるという作業を繰り返しました。
他のさまざまな試験の勉強と、特別違うところはないですね。

silverは暗記ゲー なんて書かれたりもしていますが（確かにその側面も大きいですが）
暗記に頼って挑むと足元を掬われるような、いやらしい細かい部分を問われる問題もそこそこ出題されるので
きちんと一つ一つの問題を理解できるまで深堀った方が、結果的に近道かな、と感じました。

## ①ruby技術者認定試験合格教本
![教本](https://images-na.ssl-images-amazon.com/images/I/519gNUrXcML._SX350_BO1,204,203,200_.jpg)
rubyの試験を受けるならまず用意すべき本
私はそもそもrubyに関しての知識が不足していたので、まずはさらっと、silverの試験範囲に関して目を通しました。
1回読んだだけじゃ正直何も頭には入ってこないのですが、その後問題とかを解き始めてから再度この本に戻ってくると
ああ、そういうことだったんだ〜ってなったりして、いい使い方ができたと思います。

問題の解説を読んでもいまいち理解できなかった時に、リファレンス代わりにこの本で調べたりもしました。
（巻末の索引がナイスです）

amazonのレビューにも書かれてますが、silverとgoldの試験範囲が判りづらいのが難点。

用意されている演習問題の80問は、試験の1週間前に解きました。
本番を終えた今振り返ると、どの問題も合格に直結する重要問題ばかりでしたので
この演習問題でちらほら間違えている様だと、受験には時期尚早かもしれません。

## ②Rex
[REx - Ruby Examination](https://rex.libertyfish.co.jp/)
ruby silver, goldの演習問題を、本番さながらに解く事ができるサービス（要gitHubアカウント）
一回通して教本を読んだ後は、Rexを繰り返し解いていました。
最初、50問通して解いてみたところ62点で
（お、最初からこれくらい点取れてたら結構余裕じゃん？）と思ってしまい
そこから勉強に身が入らない期間が続きました（悪いクセ）
その後、複数回解いてみても点が伸びず、焦り始めることになります。
最終的に6回、通して解きました。94点が自己最高得点。

Rexの問題は教本の問題と比べると、コードの細かい違いによる結果の相違が問われる問題が多いと思います。
一見似た様なコードなのに、スペースが一つ空いているだけで得られる結果が違ったりして
何度もそれにひっかかりました。解いている時はムカついていましたが
おかげで、注意深く問題を読むクセがつけられたと思います。オススメです。

##③模擬問題集
[silver_j.md](https://gist.github.com/sean2121/945035ef2341f0c39bf40762cd8531e0)
gistで公開されているsilverの問題集です。
Rexと同じ様な使い方をして、何度か繰り返し理解できるまで解きました。
本番でも、似た様な問題が実際に出題されました。

35問目と36問目が、全く同じ問題になってるのは気にしない

## ④ruby実行環境
①~③の問題を解いてみて、よく理解ができなかった問題や
この選択肢はなんで間違いなんだろう？と思った問題は
実際に実行環境で流してみて、出力を確認する様にしていました。
これをするだけで理解スピードが段違いだったと思います。アウトプット大事。
途中途中でputsしたりして、変数の中身がどう変わっていくのかを追ってみたり
少しコードをいじってみて、出力内容がどう変わるのか試してみたりすると
応用力が付いた気になれます。オススメ。

## ⑤Qiita
問題を解いてみても理解できなかった箇所や
さらにそこから派生した知識を得たい時に、Qiitaで調べると
先人たちが残してくれた記事がいくつもひっかかるのでありがたかったです。

また、④と同様、アウトプットの場としても優秀で
自分がよく間違えた問題や、本番でついミスってしまいそうな箇所をまとめて記事を1つ作りました
[ruby silver受験前に個人的な注意ポイントまとめ](https://qiita.com/k10/items/48912e4b72d88cfdc1a3)

公開する際に、間違った事を適当に書くわけにいかないので
自ずと関連する知識まで、ちゃんと調べる必要が出てきます。
この作業によって、苦手だな〜覚えられないな〜と感じていた部分を
なくす事ができ、自信にも繋がりました。
今振り返ってみると、上記でまとめた内容に関連する問題が
本番で3,4問は出題されてました。やっておいてよかった…
後からruby silver受ける方達のためにもなるので、積極的に発信側に回りましょう！

## ⑥Google先生
教本の解説は分かりやすいですが、淡々と説明が続いていくため
個人的には頭に入りにくく感じました。
より分かりやすく、噛み砕いた説明が欲しい時は、google先生にとりあえず聞いてみると
いい感じにまとめられた記事が見つかる事が多いです。
公式のリファレンスも、サンプルコードがあったりして意外と親切だし、何より絶対間違いがないのでオススメですが
いきなり公式のリファレンスを読みにいっても、分量に圧倒され、モチベが続かないと思うので
他で勉強したところの補強程度に留めておくのが賢い使い方かと感じました。
また、公式はver.3.0準拠になっている点も注意です
（ruby silver試験は2021年2月現在ver.2.1準拠です）


##受験当日の流れ
試験開始が14時半からだったので、早めに現着して近くのカフェで最後の見直しを行いました。

具体的には以下の通りです
<dl>
  <dt>①教本の演習問題80問を最後にもう一度全て解き直し</dt>
  <dd>この時にはわからない問題がない状態まで理解を進めていたので、自信を持たせる目的が大きかったです。</dd>
  <dt>②Qiita記事の最終確認</dt>
  <dd>
自分自身でミスってしまいそうなポイントをまとめておいた事がここで活きました。
また、直前に見直す用に先人の方がまとめていただいた神サイトを見直しました。
組み込み定数や、特殊変数、上書きできない演算子など、単純な暗記項目は直前に見直しておくといいと思います。
[Ruby Silver試験前に見直すと幸せになれるメモ](https://tamata78.hatenablog.com/entry/2015/08/07/200454)
 </dd>
</dl>

テストセンターでの受験は初めてだったので、どんな感じなのかな〜と思っていましたが
PC毎にデスクが区切られていて、周囲の雑音をシャットアウトするヘッドホンも備え付けられており
集中して受験できる環境が整っていました。
紙とペンも与えられるので、計算が絡む問題を整理しながら解きたい時などに利用できます。
（持参は不可）

同じ時間に受験の受付している方で、一人証明書の不備があって受験できなかった方がいらっしゃったので注意です。
なんなら試験勉強よりもよほど大事です。試験要項はきちんと確認しておきましょう。

**本人確認書類は2種類必要です！**
>A:　写真付きの確認書類（運転免許証・社員証・マイナンバーカードなど）
>B:　署名付きの確認書類（クレジットカード・図書館の利用証など）

Bの証書を私もすっかり忘れていて、クレカを受付であたふたしながら提出することとなりました。



気になる方は以下も確認を
[試験当日の受験の流れ](http://it.prometric-jp.com/tutorial/sp/exam_procedure.html)


90分の試験ですが、正直そんなに時間は使わないと思います。
見直しも兼ねてもう一度頭から全て解き直して、45分くらいで終わりました。
見直しの際に間違いに気づいた問題が1,2問あったので、必ずやりましょう。

問題の所感としては、今まで解いてきた練習問題と、難易度的には変わりないです。

練習問題とほとんど同じ内容の問題：4割
練習問題に関連した事柄について問われた問題：4割
練習問題ではあまり見なかった箇所を問われた問題：2割　くらいだったかと思います。

割合から見ても、練習問題を完璧にできる様にしておく・関連する知識を深堀して覚えておく
これを徹底できれば、合格はさほど難しくない試験だと感じました。12問まで間違えられますしね。

##まとめ

+ 各練習問題を何度も解いて、頻出問題の理解を深める！
+ つまづいた箇所を中心に納得するまで深堀して、アウトプットを行う！
+ 暗記項目は試験直前にもう一度確認！
+ 本人確認書類を忘れない事（これ大事）　落ち着いてチャレンジしましょう

新たなrubyist達の、試験合格をお祈りしております。

~~(次はgoldだー)~~

＝＝＝2021.07.31追記===
goldにも無事に受かりましたので
そちらの体験記も残しておきました。
ぜひこちらもご覧ください〜
[ruby goldにも無事合格したので、体験記をまとめてみる(2021/06)](https://qiita.com/k10/items/512b0a8d1b0039c5b608)