はじめに

こんにちは、たけとりと申します。
現在フルリモートでWebエンジニアとして働いています。

私は未経験からエンジニア転職を目指し、2024年12月末に Ruby技術者認定試験 Silver(通称Ruby Silver)に92点で合格しました!

この記事では、

  • Ruby Silverの勉強方法・勉強時間
  • 使用した教材
  • 試験の当日の流れ
  • 資格が転職に役立ったのか?

などを実体験をもとに詳しくまとめています。

Ruby Silverとは?試験の概要

正確な名称としては、Ruby Association Certified Ruby Programmer Silver version 3 となります。

試験要項については以下のとおりです。

項目内容
試験時間90 分
試験方法コンピュータ試験(CBT)
問題数(方式)50 問(選択式)
合格ライン75%
料金16,500円(税込)

https://www.ruby.or.jp/ja/certification/examination

なお、試験は各地会場で頻繁に開催されているため、近所の会場で受験することが出来ました。
皆さんのお近くにも会場があると思いますので、探してみてくださいね。

勉強時間と勉強方法まとめ

私はプログラミングスクールで Rubyの基礎を学んだ経験はありましたが、実務経験ゼロでした。

それでも約40時間の勉強で合格することができました!
戦略的に勉強すれば未経験者でも十分狙える資格です。

使った教材とおすすめポイント

REx

300 問もの模擬問題があり、毎回ランダムで出題されます。
問題内容としては、メソッドの細かい違いなど、若干細かい点を聞かれる印象を受けました。
本番の試験よりも細かいところが問われるように感じます。
これを安定して 85~90%くらい解けるようにしておくと安心かと思います!

https://rex.libertyfish.co.jp

模擬問題集(GitHub で配布)

それぞれ 1 回分(50 問)の問題集です。
私はこちらも 85 % 以上取れるように復習しました。

Ruby技術者認定試験Silver模擬問題
silver_j.md

公式テキスト

Amazonでのレビューがいまいちだったので少し不安になりましたが、結果買ってよかった!と感じました。

私は上記の REx などの問題集を仕上げたうえで公式テキストの問題集に挑みましたが、初見の問題も多く、初回は 70 % も得点できませんでした…。

やはりこちらの公式テキストの問題集のほうが、実際に出題される試験の問題とは類似しているため、一度解いておくことをオススメします。

ただ、確かに解説は全体的にあっさりしている印象でした。
そのため、分からない箇所は ChatGPT に聞くことで理解を深めました。

受験当日について

当日は試験の開始時間の 30 分前から 15 分前までに受付をしなければなりません。
これに遅れると試験を受けることが出来ませんので、ご注意ください!

また、当日受付には本人確認書類の提示が必要です。こちらもお忘れなく。
試験の注意事項などは以下にも記載がございます。

https://www.prometric-jp.com/examinee/test_list/archives/10

試験時間は 90分ありますが、恐らく時間に困ることはなかなかないと思います。
実際私は 60分もかからずに試験を終えました
結果は試験終了と同時に画面上に表示されます!

転職に役に立ったのか?

正直に言えば…微妙に役に立ちました!
資格全般に言えることですが、Ruby Silverを持っているからといって採用されることはありません。

しかし、未経験での転職活動では、

  • 学習意欲のアピール
  • 基礎知識の証明として一定の効果はあったと感じます。

実際、面接でも資格の話題になり、

「どうやって勉強したのか?」 「なぜこの資格を取ろうと思ったのか?」

といった質問を受けました。

今はRuby以外の言語を使っている現場ですが、Rubyを通して学んだ基礎知識は他言語にも応用できますし、学んで損はありませんでした!

おまけ(学習の備忘録)

おまけとして、個人的に覚えるのに少し苦戦したメソッドたちを整理しておきます~!

比較のメソッド

equal? メソッド

オブジェクト ID(メモリ上のアドレス)が完全に同一のオブジェクトであるかを評価する。同一性を評価する。

a = "abc"
b = "abc"
puts a.equal?(b) # false (内容は同じだが、異なるオブジェクト)

c = a
puts a.equal?(c) # true (aとcは同じオブジェクト)

eql? メソッド

オブジェクトの値と型の両方が同じであるかを評価する。

a = "abc"
b = "abc"
puts a.eql?(b) # true (同じ文字列かつ同じ型なので true)

c = 1
d = 1.0
puts c.eql?(d) # false (型が異なるので false)

== メソッド

オブジェクトのが同じかどうかだけを評価する。

a = "abc"
b = "abc"
puts a == b # true

c = 1
d = 1.0
puts c == d    # true (値が等しいので true)

&& 演算子

論理 AND 演算子。両方が真でなければ全体は真ではない。
最初の条件が false なら後ろは評価しない。

a = false
b = [1, 3, 5]
a && b #=> false

& 演算子

2 つの配列の共通部分を求める。
積集合の要素だけを集めて、新しい配列を作成する。

a = [1, 2, 3]
b = [1, 3, 5]
a & b #=> [1, 3]

|| 演算子

論理 OR 演算子。いずれかが真なら全体が真になる。
最初の条件が true なら後ろは評価しない。

a = [1, 2, 3]
b = false
a || b #=> [1, 2, 3]

| 演算子

2 つの配列の共通要素を含む部分(和集合)を求める。

a = [1, 2, 3]
b = [1, 3, 5]
a | b #=> [1, 2, 3, 5]

配列に要素を追加・削除するメソッド

pop メソッド

配列の最後の要素を破壊的に削除する。

array = [1, 2, 3]
removed_element = array.pop  # => 3
array  # => [1, 2]

push メソッド

配列の最後に新しい要素を破壊的に追加する。

array = [1, 2, 3]
array.push(4, 5)  # => [1, 2, 3, 4, 5]

shift メソッド

配列の先頭から要素を破壊的に削除する。

array = [1, 2, 3]
removed_element = array.shift  # => 1
array  # => [2, 3]

unshift メソッド

配列の先頭に引数の要素を破壊的に追加する。

array = [2, 3]
array.unshift(1)  # => [1, 2, 3]

配列を組み合わせて新たな配列を作成するメソッド

product メソッド

自身と与えられた配列から 1 つずつ要素を取って組み合わせた配列を作る。
その全ての組み合わせを要素とする配列を返す。

[1, 2].product(["a", "b", "c"])
=> [[1, "a"], [1, "b"], [1, "c"], [2, "a"], [2, "b"], [2, "c"]]

zip メソッド

自身と与えられた配列から 1 つずつ要素を取って配列を作る。
組み合わせは前から順に、同じインデックスのもののみ。

[1, 2].zip(["a", "b"])
=> [[1, "a"], [2, "b"]]

まとめ:Ruby Silverの勉強は、未経験者の転職にもプラスになる!

本記事のポイントとしては、以下の通りです。

  • 約40時間の独学でも合格可能
  • 教材選びと問題演習がカギ
  • 転職活動でも一定のアピールポイントになる
  • Rubyの基礎は他言語にも応用できる

Ruby Silverの受験を考えている方は、ぜひ一歩踏み出してみてください!

ABOUT ME
たけとり
20代地方在住。未経験からフルリモート勤務のWebエンジニアに転職しました。 このブログでは、新人エンジニアの立場から、資格学習・業務理解・読書を通じて得た学びや気づきを、実体験をもとにまとめています。 【取得資格】 基本情報/応用情報/簿記3級 AZ-900・104・305/Ruby Silver/TOEIC810/FP3級