こんにちは。フィヨルドブートキャンプ卒業生のふわ(@fuwa-syugyo)です。
先日、Ruby技術者認定試験Silverに合格したので勉強法や受験してよかったこと等を書きます。
合格ラインは75点で私は86点でした。
なぜ受験したのか?
一番大きな理由はRubyの復習がしたかったからです。
フィヨルドブートキャンプ(以下、FBC)の最終課題である自作サービスではRubyやRailsを使っておらず、かなり忘れてしまっていると感じていました。
就活に備えて復習するのにうってつけだと思い、受験することにしました。
勉強について
勉強期間
約3週間でした。
一日の平均学習時間は2,3時間程度だったと思います。全く勉強できなかった日や7時間程度勉強できた日もあり、日によってまちまちです。
勉強方法
以下ものを使用して学習を進めました。
Ruby技術者認定試験合格教本(以下、公式教本)
プロを目指す人のためのRuby入門(以下、チェリー本)
1.と2.
問題の雰囲気を掴んだり、自分がどの程度知識があるかの確認を行ったりしました(ちなみに最初にREXを解いたときは34点でした!自信を持って正解だと答えられる問題が何一つなかったことを覚えています…)。
加えて、知らないメソッドが出てきたらRubyの公式ドキュメントで調べることも行なっていました。
3.
基礎力確認問題を解く→解説を読む→教科書部分を読む→模擬問題を解く→解説を読む という流れで勉強しました。
4.
模擬問題を解いた後に、わからなかったところや自信のないところの復習として使用しました。
私個人の感想ですが、優先度的には公式教本の問題>チェリー本>>>模擬問題
かなと感じました。公式教本の模擬問題に近いものは本番で多少(3割くらい?)出題されていたと思いますが、他の模擬問題はあんまり出題されていなかったと思います。
ただ、公式教本以外の模擬問題は問題の雰囲気を掴んだりとか、自分がどこがわかっていないかを把握したりとかという点ではそれなりに有用だと思います。何回か解いたら公式教本に進んで良さそうです。
受験してよかったこと
Rubyの知識が増えた
もちろん純粋に勉強になりました。 新しくメソッドを知ることができたり、文法を学べたり、などですね。
特にメソッドの優先順位は興味深かったです。例えば、クラスメソッドが特異メソッドの一種であるというのは知りませんでした。
公式ドキュメントを読みやすくなった?
以前からもできるだけ公式ドキュメントを調べるようにしていましたが、前よりとっつきにくいと感じることは減りました。まずは公式ドキュメントから!と調べるようになったのは良かったです。
書籍をきっちり読むことが大事とわかった
今回の学習で、最も役に立ったと感じたのはチェリー本でした。
教本以外の模擬問題で合格ライン以上を取れている状態にしてから教本の模擬問題を解いてみたのですが、結果は42点と全然理解できていなかったのです。
教本の模擬問題の回答の解説があまり詳しく書かれていないこともあって不安で、基礎からしっかり理解した方が良いかも…と思っていました。そこで登場したのがチェリー本です!
FBCのプラクティスの段階でチェリー本を読んでいたときは「なるほど、こんなことができるんだ〜へぇ〜」くらいの解像度で理解していたのですが、Ruby Silverの模擬問題を体験してからだと「このメソッドは!がついていないけれど破壊的メソッドなのか、気をつけないといけないな」とか「◯◯メソッドと△△メソッドはほぼ同じことをするけれどここが違うのか」とか「演算子の優先順位は…」等と、以前よりも「どこに気をつけて読むべきか」がわかって理解の解像度が上がったと感じました。
基本的には何回かREXを解いて雰囲気を掴む→公式教本の模擬問題を解く→公式教本で間違ったところの解説を読む→それでもわからなかったところ&不安なところについてチェリー本を読む
で合格できるかなと思います。(私は不安なところが多過ぎたのでほぼチェリー本をまるっと読み返すことになりました。)
ちょっとポジティブになった
最近以前より勉強することが楽しいと感じるようになりました。(FBCを卒業して心にゆとりができたというのもあるかもしれませんが、)おそらくRuby Silverの学習が原因だと思います。
チェリー本を読み返してわからなかったところを見つけたとき、「私はこんなことも覚えていなかったのか」ではなく「まだ勉強できることがある!」と思ったことに我ながらびっくりしました。
資格に合格するというわかりやすい形で成長を実感できたのでポジティブになれたのかなと思います。
どのタイミングで受験すべきか?
以下、主にFBC生に向けた話となります。
身も蓋もない話ですが、何を目的にするかによると思います。 私の場合はRubyの復習と就活に備えてという理由だったので、卒業後でちょうど良かったと思います。 もしRubyのプラクティスを終えて、まだ理解が足りていないと感じて受けたいというのならそのタイミングでも良いと思います。
ただ、Rubyのプラクティスを終えたばかりなら受かりやすいか?と言われるとそうではないかなと思います。プラクティスで求められるものと、Ruby Silverで求められるものは結構違う印象を受けました。プラクティスでは調べつつ使えるようになれば良いのに対して、Ruby Silverでは正確な知識が求められます。前者ではエイリアスメソッドとか知らなくても全く問題ないですし。就活がメインの目的であればプラクティスを進めるのを優先した方が良いかもしれません。
しかしながら、早い段階で公式ドキュメントや書籍をきっちり読む習慣をつけられるというのは大きなメリットだと思います。少し寄り道をするのも良い選択だと思いますね。(逆に言えば、すでにできている人にはあんまりメリットがないかも…)
まとめ
ざっくり言うと、Ruby技術者認定試験Silverを受験してよかったと思います!
資格を取るということだけでも有益だと思いますが、私の場合はそれに付随して書籍や公式ドキュメントをしっかり読む習慣ができたり学習が楽しくなったりと良い変化を迎えられたと思います。
興味があればぜひ受験してみてください〜