インターネット上にはRubyに関する情報があふれており、どのように学習を進めればよいか、また書籍や有料教材の必要性についても迷うことがあると思います。
プログラミング学習には「正解」というものは存在しませんが、悩みすぎて行動に移せない方のために、今回の記事ではRuby学習の効果的なロードマップの一例を、学習が停滞した際の対処法についても合わせて解説して行きます。
内容としてはRubyに特化していますが、他の言語学習にも応用可能な内容をなぜその順番で学ぶべきかという理由と共に紹介します。
今回の内容は僕が現役エンジニアとしてWebサービス開発や社内システム開発で培った技術力、プログラミングスクールやMENTAのサービスでエンジニアを目指している方を指導してきた経験に基づき記載しています。
そのため、殆どプログラミングを書いたことがない方や、プログラミングを実際に教えたことが無い方が書いた記事よりも遥かに具体的な内容になっていると自負しています。
前置きが少し長くなりましたが、今回のロードマップに沿って学習を進める事で確実にRubyでの開発力は向上するので、是非最後までやり抜いてみてください。
Ruby学習ロードマップ
Rubyを学習する方はRuby On Rails(Rails)での開発が出来るようになって、エンジニア転職を目標とされる方が殆どだと思います。
そのため今回のロードマップにはRailsでの学習も含めるようにしました。
-
Rubyの基礎をProgateの学習コースで学ぶ
-
自分のパソコンにRubyをインストール
-
エディタの準備
-
簡単なRubyのコードを書いて動かす
-
Rails学習に入るための準備
-
ProgateでRailsの学習コースを進める
-
Railsの道場コースを3週する
-
Railsの環境構築をする
-
ポートフォリオの開発を進める
-
そして転職へ…
ProgateでRubyの学習コースを進める
最初に環境構築から入る人は大抵挫折する。
Progateはプログラミング学習を始める方で知らない方は殆どいない、という知名度まで上り詰めたオンライン学習サービスです。
無料会員登録をすると各プログラミング言語の学習コースをすぐに始めることができるので、「Rubyの学習始めてみようかな…?」と思い立ってから3分もあればRubyの学習に入れます。
Rubyの環境構築から入ってしまう方がいますが、環境構築から入ってしまうと、殆どの方は躓いてやる気を削がれてしまい、全くRubyの学習に入れずに終わるケースが多いです。
「鉄は熱いうちに打て」と言うことわざにもあるように、プログラミング学習も熱量がある時に始めるに越したことはありません。
環境構築はプログラミング初心者が必ずハマるポイントなので、それを後ろ倒しにする事でプログラミング言語(Ruby)を書く楽しさを体感するのが良いでしょう。
Progateの有料会員について
Progateの有料会員は必須。
Progateでは各プログラミング言語の、最初の方のレッスンは無料会員でも受講する事が出来ます。
しかし途中から下記の画像の様な鍵マークが付加されており、有料会員でないと続きのレッスンが受講出来ないようになります。
Progateの有料会員の料金は月額980円(税別)なので、技術書1冊にも満たないような金額で全てのレッスンが受講し放題になります。
出来る限りお金をかけずに学習したい方もいるかと思いますが、この980円は実質5,000円以上の価値があるので必ず有料会員になっておきましょう。
また学習スピードにもよりますが、RubyやRailsの学習に必要なレッスンを一通り終えたらそのタイミングで解約するのが良いでしょう。
速い方だと1ヶ月、2ヶ月で一通りのレッスンをマスターして解約されていきます。
学習コースのハマり過ぎに注意
学習コースを何度繰り返しても技術力は対して上がらない。
Progateではレッスンをクリアすると学習経験値がもらえ、総経験値に応じてレベルが上がっていくというおまけ要素があります。
このレベルが高くなるとランキングにも掲載されるので、ランキングに乗りたいがために学習コースばかり進めてしまう方がいます。
これは本来の目標とは大分ずれてしまっているので、学習コースの周回は程々にしましょう。
Progateで学習を進める際の注意点については、下記の記事にまとめているので合わせて確認しておきましょう。
ProgateのRuby学習コースで抑えるべきポイント
どのプログラミングでも使える、基礎となる部分の理解をする。
Rubyの学習コースで抑えておくべきポイントは下記の項目になります。
- 文字列・数値の違い
- 変数の定義、変更(上書き)
- if文を使った条件分岐
- 配列の定義、使い方
- 配列を使ったループ処理(each)
- ハッシュ
- メソッドの定義方法、呼び出し方
- メソッドの引数、戻り値
- クラスの定義方法
- クラスを元にしたインスタンスの生成
- クラスに属するメソッドの呼び出し
上記の他にも継承やオーバーライドと言った内容もありますが、まずは上記の項目だけでも理解を出来るレベルになることを目指しましょう。
パソコンにRubyをインストールする
インストールするRubyのバージョンは安定版の中で新しいものを選ぶ
利用されているパソコンのOSによってインストール方法が異なるので分けて解説をしていきます。
WindowsパソコンにRubyをインストールする
Windowsパソコンを利用されている場合は、Rubyのインストーラーを公式サイトからダウンロードしてインストールを行います。
RubyInstallerには「WITH DEVKIT」と「WITHOUT DEVKIT」の2種類がありますが、「WITH DEVKIT」の中から最新のバージョンをダウンロードするようにしましょう。
間違ってDEVKITが含まれていないバージョンをインストールしてしまうと、Rails開発で必要なライブラリをインストールすることが出来なくなるので注意しましょう。
RubyInstaller uses the MSYS2 toolchain as its development kit. It is bundled into the Ruby+Devkit installer version as a selectable component, so that no additional downloads/installs are required. It’s possible to share one Devkit among multiple versions of Ruby. MSYS2 is required in order to build native C/C++ extensions for Ruby and is necessary for Ruby on Rails. Moreover it allows the download and usage of hundreds of Open Source libraries which Ruby gems often depend on.
また1つのバージョンに対してx(64)とx(86)の2種類がありますが、これは利用されているOSが64bit版(64)か32bit版(86)かでインストールするものを選ぶ必要があります。
下記の記事を参考に利用されているパソコンのビット数を確認して適したものをダウンロード、インストールするようにしましょう。
MacにRubyをインストールする
Macを利用されている場合は予めRubyがインストールされていますが、バージョンが古いので新しいものをインストールする必要があります。
詳しいインストール方法は下記の記事にまとめているので、「Macにrubyをインストール」の項目まで進めてもらえればと思います。
上記の記事の方法でインストールする事により、インストール済みのRubyのバージョンを簡単に切り替えることが出来るようになり、アンインストールも容易に行うことが出来ます。
既に独自の方法でインストール済みという方も参考にしてみてください。
エディタの準備
エディタを使うことで開発の効率化をしよう
プログラミングを書く上で自分にあったエディタを選択することは、開発効率にも影響するのでとても重要です。
またここで言うエディタとは、簡素なテキストエディタから、様々な機能が搭載されている統合開発環境(IDE)の両方を指しています。
- さくらエディタ
- Tera Pad
- 秀丸エディタ
- Visual Studio Code
- Sublime Text(サブライムテキスト)
- Atom
- Electron
- Brackets
- Visual Studio
- Ruby Mine
- IntelliJ
上記で紹介したテキストエディタ、IDEの中でRuby開発でよく使われているのは下記の2つになります。
- Visual Studio Code
- Ruby Mine
Visual Studio Code(VSCode)
Microsoft が提供する無料で使えるエディタ
通称VSCodeと呼ばれるこのエディタの最大の魅力は無料で使えることです。
Web開発で利用する言語は基本的に対応していて無料で使えるため、プログラミング初心者に圧倒的な人気を誇るエディタです。
- 無料で使える
- Web開発に利用する言語は基本的に対応されている
- 実務でも十分に使えるエディタ
RubyMine
Ruby開発に特化したIDE
RubyのIDEでと言えばJetBrain社が開発したRubyMineです。
- Ruby(Rails)での開発効率を最大限にしてくれる様々な便利機能が搭載
- Rails開発に必要なHTML&CSS、JavaScript、erbなどにも対応
- 他のプログラミング言語もプラグインを追加することで対応可能
- 1ヶ月は無料で使える(以降は年間22,900円)
RubyMineの魅力をここで書いてしまうと、それだけで1記事ぐらいの分量になってしまうので、下記の様な記事を参考にしてみてください。
https://tech.stmn.co.jp/entry/tech/627
簡単なRubyプログラムを書いて実行する
コードを書くことがプログラミング学習の一番の近道。
Rubyのインストール、エディタの準備が出来たら実際にあなたのパソコンでRubyのコードを書いて動かしてみましょう。
- Progateの学習コースで学習した内容を真似る
- 四則演算(足し算、引き算、掛け算、割り算)…など
ここでの目的はエディタを使ってRubyのコードを書いて実行する流れに慣れることです。
そのため、中身はあまり重要ではないので今までProgateで学んだ内容や四則演算などの簡単なプログラムを書いて実行しましょう。
作成したコードは ruby ファイル名で実行することが出来ます。
四則演算の足し算の部分だけを実装したコードを例に紹介しておきます。
math.rb
def sum(a, b)
a + b
end
puts sum(1, 3)
math.rbを適当なディレクトリで作成してエディタを使いながら中身を実装していきましょう。
実装が終わったら、ruby math.rbで実行しましょう。
4が結果として返ってくれば実行成功です。
この流れでもう2、3個Rubyのコードを書いて慣れていきましょう。
Rails学習の前にするべきこと
Railsの学習は難しいのでしっかりと準備をしてから挑むべき
Rubyの学習がある程度進んだら、その流れでRailsの学習を始める方が多いと思います。
これは決して間違ってはいないのですがRailsの学習効率を高めるためには、まず基礎となる技術力を高めるが重要です。
Railsで開発をする場合にはRuby学習の他に、様々な知識を組み合わせて進める必要があります。
しかしRubyを学習している方の多くはRubyだけ学習をしてRailsに挑戦してしまうため、思うように学習が進まず
Rails難しい…これ無理だ
と言う状態になってしまいます。
そこで当ブログでは、なぜプログラミング初心者がRailsの学習は難しいと感じてしまうのか、よりRailsの学習効率を高めるために何をするべきかを下記の記事にまとめました。
これからのRailsの学習をより快適な物にするためにも、是非記事を参考基礎力を上げておきましょう。
ProgateでRailsの学習コースを進める
Rubyを学習したのにRailsを学習しないのは損
Rubyのコードを書くのに慣れて、一通りの基礎が固まってきたら次は本命のRailsを学習して行きます。
冒頭でも述べたように、Railsが書けるようになるとエンジニアとしての市場価値があり、個人でも様々なWebサービスを開発出来るようになります。
ちなみにこのタイミングでRailsチュートリアルを活用して学習を進められる方もいますが、正直あまりおすすめ出来ません。
なぜならRailsチュートリアルの内容が長く、更に難しいため挫折してしまう方が非常に多いからです。
そのため今回のロードマップではRailsチュートリアルよりも内容が易しめで、かつそれなりのRails力を付けられるProgateでの学習を推奨しています。
ProgateののRailsレッスンでは15個のレッスンから構成されており、より実戦向きな道場コースも存在します。
まずは学習コースでRailsの書き方に慣れ、道場コースで理解度を深めていきましょう。
Railsの道場コースを3周する
道場コースは難しいけど、難しいからこそやる意味がある
Progateの学習コースでは、左に記載されている手順を元に右の画面に入力をして学習を進めて行きます。
記載されている手順がとても丁寧でわかりやすいため、殆どのケースで答えが書いてあるような状態です。
そのため、いくら学習コースを反復学習しても答えが書いてある状態で入力をするだけなので、自分で考えて実装をする力が全く身に付かないという問題があります。
そこで道場コースの出番です
より実践に近い、ヒントが少ない状態での開発を進める事で理解度も深まっていきます。
まずは出来る限り学習コースのスライドを参照せずにクリア出来ることを目指し、慣れて来た場合は
自分のポートフォリオを作るときにもこれ使えそうだ!
という感じで、ポートフォリオの実装に使えそうな内容を記憶して行きましょう。
Railsの環境構築をする
Railsの環境構築は実はそんなに難しくない
Railsの環境構築は学習初期の段階でやろうとするとかなり難しいと感じるかもしれませんが、今回のロードマップに沿って進めている場合はそこまで難しくありません。
なぜなら既にRailsの環境構築の一部であるRubyのインストールが終わっているからです。
この後の流れとしてはbundlerのインストール、Railsのインストール、データベースの設定の3つを主に行う必要があります。
当ブログではMacを利用されている方向けに、Railsの環境構築方法を下記の記事にまとめているので、是非参考にしてみてください。
Windowsパソコンをお使いの場合は、残念ながらまだ当ブログに手順を掲載出来ていないので、下記の様な記事を参考に環境構築を進めましょう。
ポートフォリオサイトの開発を進める
Railsの環境構築が完了したら後はポートフォリオの開発をするのみ
ProgateでRailsの基本的な実装方法を学習し、Railsの環境構築が終わったらあとはひたすら開発するのみです。
ポートフォリオを作る際のコツとしては、「面接官の評価を上げるためには何を実装すれば良いか」を考えるのではなく、「あなたが何を作りたいか」で考えると良いです。
ポートフォリオは面接の武器となるのは間違いないですが、エンジニア未経験の方が作るポートフォリオのレベルで差をつけるのは極めて困難です。
そのため機能で差をつける方針で考えると中々前へ進めなくなってしまいます。
そこで当ブログでは好きな題材でポートフォリオを開発し、その開発の中でしっかりと理解をしながら進める方針を推奨しています。
詳しくは下記の記事にまとめているので、是非作り始める前に一度目を通してみてください。
ポートフォリオが出来た後の転職活動
まずは正社員として実務経験を積み、その後にフリーランスへ
このタイミングで正社員を目指す方とフリーランスを目指す方に分かれると思います。
前の項目や別記事にも記載した様に、まずは正社員として実務経験を1年ぐらい積んでからフリーランスを目指す事を推奨しています。
理由としては独学での学習と実務で得られる経験値は段違いだからです。
正社員として実務をこなしエンジニアとして成長をしてからフリーランスになった方が、単価も上げやすく色々な案件を受けやすいです。
言い換えるとフリーランスとして案件を受注するハードルがぐっと下がります。
経験が無い、または浅い状態での案件受注はとても難しいので、少しでもこのハードルを下げられるようにしましょう。
正社員で始める場合の転職活動方法
まずは求人数が多い大手の転職エージェントから攻めるのが鉄板
エンジニアの実務経験がある場合はIT業界に強いGeeklyや、ハイクラス向けの転職エージェントJACリクルートメントを活用することが出来ますが、これらの転職エージェントは哀しいことに、未経験だと相手にしてもらえない可能性が高いです。
そこで今回紹介するのは、圧倒的な求人数を誇り未経験からでも利用することが出来るマイナビエージェントです。
マイナビエージェントは、IT・Web業界に強い転職エージェントで、全国の大手上場企業から人気ベンチャー企業など幅広い求人情報を扱っています。
取り扱っている職種としても様々なエンジニア求人があります。
- システムエンジニア(WEB、オープン、汎用、制御・組込)
- プログラマー(WEB、オープン、汎用、制御・組込)
- 社内SE
- ネットワークエンジニア
- サーバーエンジニア
- セキュリティエンジニア
- データベースエンジニア
また下記の記事ではマイナビエージェントを活用して、エンジニア転職を見事に成功した実例が記事で掲載されているので、こちらも合わせて確認をしておきましょう。
どうしてもフリーランスから始めたい場合
フリーランスから始めて成功している人もいる
正社員で経験を積んでからフリーランスになることを勧めてはいますが、中にはどうしても最初からフリーランスでやって行きたい!と言う方もいると思います。
その様な場合はフリーランスの1歩手前とも言える、副業案件を下記の様なサイトを活用して確認をしておきましょう。
ランサーズやCrowdWorks(クラウドワークス)ではホームページ制作・LP・アプリ・ウェブ開発などの案件があり、実装難易度が優しいものも多いです。
ただしその分ライバルが多いため、価格競争が激しく単価はあまり期待出来ないというデメリットがあります。
そこで単価も重視した案件を獲得したい場合は、レバテックフリーランスやクラウドテックの様なフリーランス求人サービスを活用するのがおすすめです。
レバテックやクラウドテックを活用することで、実際の企業の案件を受注することが出来るので報酬面はクラウドワークスなどと比べるとかなり良いです。
その分求められる技術力も高くはなりますが、フリーランスとして食べていくには遅かれ早かれ通らなければ行けない道です。
早い段階から自分の市場価値を見極めるためにも登録だけはしておくと良いでしょう。