img_【経験談】Ruby初心者が「Ruby技術者認定試験Silver」に合格するまで/

【経験談】Ruby初心者が「Ruby技術者認定試験Silver」に合格するまで


IT業界7年目(開発は4年くらい)のわたしが、Rubyを初めて勉強し、Ruby技術者認定試験Silverに合格するまでの経験を共有したいと思います。

<資格試験:Ruby技術者認定試験>
https://www.ruby.or.jp/ja/certification/examination/

試験勉強は、平日の仕事終わりに1〜3時間、休みの土日に6〜8時間程度少しずつやって、
約2ヶ月半ほどで試験を受け、無事、Silverに合格することができました。
 ・1月〜2月:入門書読み込み・実践
 ・3月初旬〜:REx・模擬問題にチャレンジ
 ・3月中旬:試験

準備

・公式の受験対策資料確認

・Rubyの入門書購入

・試験日の決定
 ※Ruby試験は通年あります。 
  試験を配信しているプロメトリック社のHPでは、直近3ヶ月の予定を調べることができます。

試験勉強

1.「たのしいRuby」で、Rubyの全体像を知る

今回、Rubyを勉強するのは初めてだったので、まずは本を買って、基礎〜応用までを勉強しようと思いました。
Rubyの初学者向けの本を探していたところ、「たのしいRuby(https://amzn.asia/d/j5xyXzq)」がおすすめという記事を見つけたので、こちらを購入してみました。

「たのしいRuby」には、SilverだけでなくGoldの範囲の内容も含まれていますが、Rubyを勉強するのが初めてだったので、Rubyがどういうものか知るために、最初に一通り学ぶことにしました。

ある程度IT知識を持っている人向けの本ではありますが、メソッドを多く取り上げていて、例題も豊富でした。
索引も付いていて、模擬問題をやって振り返るときにとても役立ちました。

2.公式の受験対策「RubyExamination(REx)」でひたすら問題を解く

RExは、Githubアカウントで認証することによって利用することができる、勉強ツールです。
もしGithubアカウントを持っていない場合は、作成してから認証へ進んでください。

RExにログインすると、以下の3コンテンツが表示されます。

 (1)Goldチャレンジ

   Goldの試験範囲の問題が、50問出題されます。
   問題回答が完了すると、「点数」「正解・不正解」「解説」が表示されます。

 (2)Silverチャレンジ

   Silverの試験範囲の問題が、50問出題されます。
   問題回答が完了すると、「点数」「正解・不正解」「解説」が表示されます。

 (3)学習マラソン

   GoldとSilverの試験範囲の問題が混在して出題されます。
   連続で正解することを目標とする学習法で、間違うまで出題され続けます。
   間違うと即終了ですが、間違えても解説を表示してはくれません、、、

   実は、間違ってもブラウザの戻るボタンでやり直しができるため、
   即終了になったら、他の選択肢を選び直して、
   「正解の選択肢を確認する」ということができます。

学習マラソンにGoldの内容が含まれていることを最初は知らなかったので、心が折れかけましたが、今回はSilverの試験勉強をする目的だったため(解説もないし)、学習マラソンは早々にやめ、Silverチャレンジで問題を解くことに集中しました。

Silverチャレンジには、多様な問題が出題されます。
普段、仕事ではわからない時WEBサイトで検索できますが、試験の時は検索できないので、メソッドを覚えるために、Silverチャレンジで「間違えた問題」「自信がない問題」を、繰り返し解き直しました。

そのときは、単語帳(裏表のある単語カード)機能を持つスマホアプリ、「WordHolic」を使いました。
スマホから一問一問登録するのは大変なので、CSVをインポートしてカード作成できるこのアプリを選びました。
※最初「マイナビティ」というアプリを試しましたが、インポートがうまくいかなかったので、「WordHolic」に変更しました。
わたしの場合は、PCでRExの問題・解説をCSV化して、CSVをiPhoneにAirDropしてインポートという流れです。

初めてSilverチャレンジをやった時は40点ほどでしたが、10日ほどで90点ほどになりました。

3.公式の受験対策「模擬問題集(Silver試験用)」をやってみる

今度は、GitHubに上がっている模擬問題を解いていきます。
模擬問題50問のみが掲載されていて、解答・解説も付いています。

Silver試験を経験した所感ですと、模擬問題はかなり本番に近い内容でした。

やったことまとめ

・勉強する前に試験日を確認する

・入門書でRubyを一通り勉強してみる

・模擬問題で出題ポイントを抑えつつ、RExで問題をたくさん解く

苦労したこと

・似た名前のメソッドがあって、覚えるのに時間がかかった
 (何度も間違えて一生覚えられないかと思った)

・Rubyには正規表現オブジェクトがあって、パターン問題が試験に出るので正規表現パターンも覚えないといけない
 (文法を説明するための例題でも、正規表現がよく出てきた)

・静的型付けに慣れていると、Rubyの動的型付けに戸惑う

・毎日勉強時間を作るのは、やっぱり難しかった
 無理をして続けると途中で心が折れてしまったりするので、勉強してて楽しいと思える時だけやった方が良い

さいごに

仕事が終わったあとは、疲れてしまってやる気が起きない、、、
そんな時は、先輩からのアドバイスを思い出して実践してみました。

「やる気が起きない時は、とりあえず1分だけやってみる。1分やっても変わらなければ、その日はやらない。」

毎日意識して、とりあえず、入門書を開いたりPCで問題を解いてみました。
もし1分やってもモチベーションが上がらなければ、その日は終了。
逆に、気分がノッてきたら、そのまま勉強を続けてOK。

このルールがあったおかげで、無理にやらなくちゃいけないという気持ちにならずに、続けられた気がします。
よければ、皆さんも試してみてください!