Kaketan::Tech

誰かのためになるかもしれないテックなことに関するメモを書いています。

Ruby技術者認定試験( Ruby Association Certified Ruby Programmer Silver/Gold version 2.1 )に合格しました

▼ 宣伝 ▼

これを読んでいるあなた!HP制作・アフィリエイトサイト制作に興味ありませんか?

現在、コーポレートサイトやアフィリエイトサイトの制作、月額課金制のファンクラブ制作などを行っています。

新しい収益源・集客ツールとしてのWeb制作はお任せください!「Kaketan::Tech を見た」で特別価格にてご案内いたします。

詳細は こちら のお仕事一覧をご覧ください!

プログラミング学習支援サロンのご紹介

フリーランスエンジニアの私が、あなたがプログラマとして案件を獲得できるようになるまでサポートいたします。詳細は こちら をクリック!

▲ 宣伝 ▲

この度、Ruby Association Certified Ruby Programmer Silver/Gold version 2.1 の資格を取得しました。
先月(7月)に Silver に合格し、今月(8月)に Gold に合格しました。

どんな資格か

Silver

Rubyの文法知識、Rubyのクラスとオブジェクト、標準ライブラリの知識について、基本的な技術レベルを持つことを認定します。

Gold

Silverで求められる範囲(文法、オブジェクト指向、組み込みライブラリ、実行環境など)を更に掘り 下げた知識に標準添付ライブラリ知識やアプリケーション設計に必要となるクラスやオブジェクトに関する知識を追加し、Rubyによるプログラム設計技術を持つことを認定します。

Ruby Association HP より

なぜ受験したのか

  • Ruby プログラマとして自分にどれくらいの知識があるのかを、(非エンジニアの人も含めて)、客観的にわかりやすく伝える手段が欲しかったから。
    • 今年から個人事業主として生計を立てているということもあり、アピールできることは増やしておこうと思ったため。
  • Ruby を書くお仕事を数年やっているというのもあり、業務の知識をもとに簡単に合格できそうでコスパがよさそうと思ったから。
  • 手段の目的化を促して学習できそうだから。
    • 「資格取得」を仮目的として設定することで、Ruby の知識を深めることに励み、いつのまにか本当の目的である Ruby の知識を深めることを実現させること。

Silver 対策でやったこと

[改訂2版]Ruby技術者認定試験合格教本(Silver/Gold対応) Ruby公式資格教科書

[改訂2版]Ruby技術者認定試験合格教本(Silver/Gold対応) Ruby公式資格教科書

この合格教本の Silver の範囲をテキトーに流し読みをして、「まあ余裕っしょ〜」と思いながら受験をしました。落ちました。
100 点満点中 75 点以上で合格なのですが、 68 点で不合格でした。完全に調子に乗っていました。試験終了後に「不合格」と表示されたときに、手足から大量の汗が吹き出したのがわかりました。人間って本当に予測不能な自体に陥ると「えっ」と口から漏れてしまうということを学びました。絶対に不合格になったことは誰にも知られてはいけない、なぜなら受験料が 16,200円(税込) (記入時点) するし、絶対にブログに書くときも一発合格したかのように装うようにしようと思いました。
それからは人間が変わったかのように真面目になり、髪色を金にして、第 7 章の演習問題を解きました。さらにインターネットで「Ruby Silver」と検索し、受検レポートを読み漁りました。そうして、数日後に2度目の受験をして 86 点で合格しました。

Gold 対策でやったこと

上記の試験合格教本に加えて、メタプログラミング Ruby を読みました。今更、読みました。

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

学習時間:約 13 時間

以下のようなスケジュールで進めました。

スケジュール

一発合格 (84 / 100点) でした。

全体を通しての感想

試験内容

Silver のほうが覚えることがたくさんあって大変でした。エイリアスメソッドや、組み込みクラスの細かなメソッドなど、実務であればググってリファレンスを読むことで解決できるようなことも暗記しておく必要がありました。
Gold については、学習するにあたって、特異クラスやメソッド探索、オブジェクト指向、Proc クラス、大域脱出などについて改めて学習するいい機会となりました。また、 Ruby 1.9 から追加された Fiber クラスや Ruby 2.1 から正式に導入された Refinements については初見でした。知れてよかったです。

試験への向き合い方

合格までにやる必要があることを予め整理して、そこから逆算し、スケジュールに落とし込み(実際に Google カレンダーに日時をそれぞれ登録する)、あとはたんたんと実行していくやり方が達成できたのでよかったです。
やっぱり人間は「いつかやろう」ではなかなか行動に移せないので、カレンダーにぶち込んでいくスタイルは効果があるように感じました。(たとえサボってしまっても、翌日に「昨日の分」をやらないとと思えたのがよかったです。)おかげで、いつか読もうと思っていたメタプログラミング Ruby を読むことができました。(特異クラスとメソッド探索については Rubyのしくみ -Ruby Under a Microscope- なども併せて、知識を深めようと思います(いつか...)。)