Edited at

Ruby Association Certified Ruby Programmer Gold version 2.1合格体験記

More than 1 year has passed since last update.


はじめに

先日、Ruby Association Certified Ruby Programmer Gold version 2.1に合格しました。得点は Silver 88点/Gold 78点(合格点はそれぞれ75点)と、Gold が結構ギリギリの結果でした。

自分は Ruby(Ruby on Rails) を使うようになって約半年ほどで、Ruby の知識に偏りがあるという漠然とした不安がありました。また、合格をする事で、試験で必要とされる技術レベルを満たしているという事をアピールできると考えて受験をしました。


試験の概要をつかむ

まずは Ruby Association Certified Ruby Programmer Gold version 2.1のページを読んで、出題範囲等を確認します。試験改定のお知らせも重要なのですが、他の方のエントリを読んでいて知りました。

Ruby Association Certified Ruby Programmer Gold version 2.1 は「Silver(RY0-100)試験」と「Gold(RY0-200)試験」の2試験に合格する必要があります。

受験の順番はどちらが先でもOKですが、難易度は Sivler < Gold となるので、通常はこの順に受験する事になると思います。また、一日で両方受験するのではなく、Silver を受験後、時間をあけて Gold 向けの対策をしてから受験する方が多く、自分もそのようにしました。


ウェブの受験体験記を読む

検索サイトや Twitter で「Ruby 試験 Silver」などと検索すれば、受験体験記がいくつかヒットします。後述しますが、試験の参考書が乏しく、どんな問題が出題されるのか、合格までに何に重点を置いて学習すればよいかを知ることが出来ます。

旧試験について書かれているものもあるので、対象試験バージョンに注意してください。


Silver


Gold


参考書を読んで問題集を解く

2016/10/9日現在、Gold までカバーした試験対策用の参考書は次の1冊しかありません。

Gold はともかく、Silver はこれ1冊で十分だと思います。サポートページも確認しておきます。

また、もともと試験を決意する前に、Ruby の学習として パーフェクトRuby を読んでいました。こちらは文法からメタプログラミングまで Ruby に関して広く扱った入門書です。

これらに加えてウェブ上に問題集があります。実際の試験問題はこれらの問題より一段階難易度が高く、単に正解するだけでは十分ではありません。間違った問題はなぜ間違ったのか、正解以外の回答はどこが誤りなのかを理解できるようにします。


実行環境を整え、自分用のメモを作る

上記問題集で間違ったり、正解したけれどあやふやだった問題は実際に動作させて確認するとより記憶に残ります。その際、テストで対象となる Ruby バージョン 2.1.X に合わせて rbenv + pry で環境を作成します。リファレンスは直接ウェブページではなく、Dash で参照した方が早くてオススメです。

また、確認した内容は自分用のメモを残しておきます。前提条件や細かい説明を省略した、自分が見れば分かるものです。

最初、Marxico という Evernote に Markdown 形式で入力できるサービスを利用していました。Chrome の機能拡張または Mac アプリがあり、いい感じのデザインで保存されるのですが、10日間の試用後は $15.99/year の有料となります。

他に色々検討した結果、次のような仕組みになりました。


  1. git の Private リポジトリに Markdown 形式でメモを作成

  2. commit のタイミングで redcarpet + highlight.js で HTML に変換

  3. Dropbox に配備

  4. 昼休みなど時間のある時に Dropbox のメモファイルを確認

Private リポジトリは Bitbucket が無料で今のところ不満もありません。


2016/10/9追記

メモにスマートフォンからアクセスする場合、わざわざ Markdown から HTML に変換しなくてもアプリから直接確認・編集できるので、デザインなど細かい事を気にしなければこちらの方が簡単です。


  1. Markdown アプリ(例えば Android だと MarkdownX )をスマートフォンにインストール

  2. Markdown 形式で作成し、そのまま Dropbox に配備

  3. 昼休みなど時間のある時に Markdown アプリからメモファイルを確認・修正


最後に

受験対策をしていく上で、知識の偏りというよりもほとんど分かっていなかった事が認識できましたが、着実に理解が進んでいるという実感がありました。受験をしなくても時間をかければそのあたりを徐々にカバー出来たと思いますが、受験をした事でより早く出来たと思います。

また、普段のチームメンバーのコードで改善点をアドバイス出来るようになったり、OSS のコードを見て、知らないメソッドをすぐにリファレンスに頼ることが少なくなりました。

あとは試験の認知度があがれば技術レベルの底上げにも繋がるし、自分としては評価も上がって嬉しいです。

自分の考える Ruby の魅力は強力なメタプログラミングだと思うので、策定中で上位資格の Platinum はその辺りのリファクタリング技術が問われるのかな、なんて考えています。