はじめに
Ruby技術者認定試験のうちRuby Association Certified Ruby Programmer Silver version 2.1を受験し合格しました。
受験した理由
基本的なプログラミングスキルを身につけたかったからです。 「それならガンガンコード書いてGitHubにあげたり、Qiitaで記事書けよ」と言う意見が出てきそうです。 僕はかなり石橋を叩いて渡るタイプで結構メンタルが豆腐なので、まずは基本的な知識を身につけたいし自信を持ちたいと思いました。 その手段としてRubyの試験勉強と受験を選びました。
僕とRuby
全くのプログラミング未経験、Ruby未経験ではないです。 僕は地方私立大学の工学部情報工学科出身です。 かれこれ10年ほど前、卒業研究のために(年齢がバレますね)Rubyで簡単なプログラムを書いたり、texで論文を書いているときにerbで実験データを埋め込んだり、そんなことを通してRubyと触れ合っていました。 そこから10年ほどブランクが空いてのRubyプログラミングの再開となりました。
勉強法を紹介
おそらく試験に合格するだけならこんな回りくどいやり方をしなくても良いと思いますが参考までに。
参考書を2冊購入しました。 どちらも電子書籍を利用しました。
1冊目はいわゆるチェリー本です。 ruby-book.jnito.com Ruby技術者認定試験のSilverを受験することを念頭に置いていたため、シラバスと照らし合わせて範囲に含まれている箇所を中心に勉強しました。 1回目は通読し、2回目はVisual Studio Codeで実際にサンプルコードの動きを見ながら手を動かして勉強しました。
2冊目は試験対策向けの本です。 gihyo.jp 内容全部を勉強してはいません。 書籍の後ろの方の問題を答えを見ながら解き、パターンを覚えていきました。 また例外やクラスなど自分の理解が不足しているところは、ピックアップして読みました。 この本にも数行のサンプルプログラムがあったため、ピンとこないところはVisual Studio Codeでプログラムをし、途中の変数を出力したりしながら動きを把握するよう努めました。
モチベーションの維持
勉強は短期間集中ではなく、ゆるゆると半年くらいかけてやっていました。 そこで課題となるのがモチベーションの維持です。
1つは勉強時間をStudyPlusで記録していました。
勉強時間を記録すると月ごとのカレンダーに草が生えます。 けっこう、僕は記録することが好きで、生えた草をみるとモチベーションがあがるのでそれを利用しました。
また、gitlab.comにプライベートリポジトリを作り、勉強のときに書いたコードをコミットしていました。 こちらも水色ではありますが草を生やすことができます。
これらの記録を見返すことによって「僕頑張っているじゃん」と自分を鼓舞して学習を進めることができました。
合格してみて
受験したらギリギリでしたがなんとか合格しました。 元々の狙いだった基礎知識は身についたと思いますし、合格する前と比べ自信もつきました。
これから
試験の合格が目的ではないので、Goldには挑戦しません。 それよりも周辺技術や具体的なプロダクト作りを通して、プログラミングスキルを身につけていきたいです。 Rails Tutorialをやったり、HTML/CSS/Javascript周りの技術もキャッチアップしていく予定です。