【経験談】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。
このルールがあったおかげで、無理にやらなくちゃいけないという気持ちにならずに、続けられた気がします。
よければ、皆さんも試してみてください!