私はRubyを使い始めた頃、色々な事に手を出してしまって学習効率が悪かったなと反省しています。
これからRubyを実務で使う方には私の二の舞になって欲しくないので、自分の経験からRubyを実務で使う前に集中してやった方が良い事をまとめます。
プログラミング自体が初めてで、Rubyが最初の言語という方もいると思うので、そういった方の目線に立ってまとめていこうと思います。
プログラミング自体が初めての方へ
まずは、プログラミングが初めてで、今後Rubyを使おうとしている方向けです。最近は、すごく有名になってきましたがプロゲートをおすすめします。
プログラミングを始める上で1番やっかいなのが、環境構築とやる気の継続です。
プロゲートなら環境構築が必要なく、ブラウザ上で動かせますし、問題を一つずつ解いていくスタイルなので、小さな成功体験が得やすく、やる気の継続がしやすいと思います。
ちなみに私は、プログラミング始めたての頃、環境構築を泣きそうになりながらやってました(笑)。
初心者のうちは、まず用語がわからないので、とりあえずプロゲートやって慣れてきたら環境構築にも手を出す感じで良いと思います。
プロゲートの進め方と注意点
Rubyを実務で使うのであれば、まず、プロゲートのRubyとRailsのコースを2、3周やって下さい。と言うのも、1周だけじゃ全く身につかないからです。
みなさんは、漢字や九九、英単語など、どう覚えたでしょうか。ドリルや小テストで繰り返しやって覚えたはずです。プログラミングも繰り返しやる事が重要です。
プログラミング初心者の方へ(なんとなくプログラミングがわかるレベル)
プロゲートなどでRubyを触ったことがあり、プログラミングがちょっとわかると言う方は、基本文法に慣れる事に集中した方が良いと思います。
基本文法に慣れるおすすめの方法1
Codewarsをやることです。Codewarsとはブラウザ上でRubyの問題を解くサイトです。
サイト内の表記が英語のみになってしまうのですが、解答後に他のユーザーの解答も見れて便利です。「なるほど、こういう書き方があるんだ」と、勉強になります。
とりあえずCodewarsの初級レベル8kyu、7kyu、6kyuあたりの問題を解いてみると良いと思います。
ここで重要なのが、初級レベルの問題を繰り返し解くことです。あまり難しい問題に手を出しても時間ばかりかかってしまうのでおすすめしません。
初級レベルであれば問題文もGoogle翻訳でなんとかなると思うので、ぜひ試してみて下さい。
基本文法に慣れるおすすめの方法2
英語がわからない、苦手と言う方には、paizaのプログラミングスキルチェックがおすすめです。
こちらもCodewarsと同じような、ブラウザで問題を解くサイトです。こちらも初級レベルのDランク、Cランクの初級レベルの問題を繰り返しやりましょう。
ただ、paizaは他のユーザーの解答が見れないので、個人的にはCodewarsがおすすめです。
プログラミング初心者の方へ(基本文法が身についたレベル)
Rubyの基本文法が身についた方は、Railsで実際にアプリを作ってみることをおすすめします。
自分が好きなものを作った方が、やる気も出ますし、プログラミングが好きになると思います。問題解いてるだけじゃつまらないですからね(><;)
アプリと言っても、何を作ればいいかアイディアが思い浮かばない方はRailsチュートリアルをやってみるのもおすすめです。
Railsチュートリアルって、プログラミング初心者には難しいと思うのですが、ここまでくれば何とか進められるんじゃないかと思います。
コンソールでコードを動かすクセをつけよう
実際にアプリを作るとなると、新しいことを覚えながら作ることになると思います。そこでやってほしいのがコンソールでコードを動かすクセをつけることです。
ググって出てきたものを読みながら、よくわからなくて悩んだりすると思うのですが、そういう時に、ターミナルを開いて「irb」と打ってコンソールを開き、実際にコードを動かしてみましょう。
Railsの機能を使う方は、「rails console」を使いましょう。
以下のような感じで、簡単なコードであればサクッと動作確認出来るので、とりあえず動かして遊びながら作ることをおすすめします。
binding.pryでデバッグしよう
Railsでアプリを作っているとバグに遭遇することがありますが、そんな時のためにデバッグ方法を知っておかなければなりません。
とりあえず、今作っているRailsアプリにpry-railsを導入しましょう。
pry-railsの使い方は、ググるとめちゃくちゃ出てきます。例えば以下のQiitaの記事とか。
https://qiita.com/STHEXA/items/1de2411cb3987066c9b9
pry-railsを導入後、コード中に「binding.pry」と記入すると、記入した箇所で処理を一時的に止めることが出来ます。
一時的に止めた後は、コンソールと同じような操作が出来るので、その箇所での変数の中身をコンソールに出力して確認したり、デバッグに役立つ情報を得ることが出来ます。
型を意識しよう
最初のうちは型の意識が曖昧だと思いますが、型を意識しないと後々バグを作る原因となるので、しっかり意識しましょう。
以下の状況では、変数aはIntegerの100、変数bはStringの100が入っています。
変数の中身はどんな型が入っているのか意識して使えるようになると良いと思います。
また、画像でも使ってますが、xxx.classとすることで型を返してくれます。前の項目で説明したbinding.pryで一時停止させた時に変数の型名を出力したりするとデバッグに役立つと思うので覚えておきましょう。
Rubyエンジニアとして実務を目指す方へ
Rubyについて知識を掘り下げる
「プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで」をやりましょう。通称チェリー本。
Rubyについての知識を掘り下げるのに良いと思います。テストについての意識も高まるので実務の前に読んでおいてほしい一冊です。
オブジェクト指向について知識を掘り下げる
オブジェクト指向について掘り下げるには、「オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方」がおすすめです。
最初にこの本を読むと難しく感じると思うのですが、ここまでやってこれたなら出来るはず!
ポートフォリオを作るなら、スクールの課題と別のものを用意しよう
スクールに通っている人の話になりますが、みんなが作っているスクールの課題をポートフォリオにするのはやめましょう。
採用担当者は、スクールの課題を提出されまくって見飽きている場合があるからです。
「こんなものを作りたい」という自分なりの企画を考え、どう実現すれば出来るのか試行錯誤しながら作り、考えてもわからなければスクールの先生に聞きましょう。
面接で落ちても気にしない
私がRubyを始めた頃は、面接時点でそこまで高いレベルを求められなかったのですが、最近は面接のハードルが上がっていると聞きます。
今、Rubyエンジニアを目指している方は十分高いレベルで戦っているんです。
面接で落ちても、必要以上に自分はダメなんじゃないかと、落ち込まないようにしましょう。
また、就職はタイミングもかなり重要になってきます。先に内定を出した人で募集枠が埋まったり、企業側が忙しくなり、新入社員の受け入れを止めたり等、タイミングもかなり重要になってきます。どれだけ頑張っても企業側の都合で左右されてしまう場合もあるんですよね。
面接の反省をすることは大切ですが、悩む事には意味がありません。切り替えて次に行きましょう。
まとめ
私がRubyを実務で使う前に知りたかったことをまとめました。
あとはTwitterとかで「あれもやった方がいいですか?」とか聞いてもらえれば、出来る限り答えたいと思います。