Railsが難しい理由を現役エンジニアが解説!学習効率を上げるには○○を高めるべき!

7 min
Railsが難しい理由を現役エンジニアが解説!学習効率を上げるには○○を高めるべき!

Ruby On Railsの学習を始めましたが難しすぎて思うように学習が進みません。プログラミング初心者がいきなりRailsを学習するのは無理なんでしょうか?学習する良い方法などあれば教えてください。

今回の記事ではこんな疑問に答えていきます。

本記事の内容
  • Railsがプログラミング初心者に難しい理由
  • 効率よくRailsを学ぶ方法
本記事の信頼性
himakuro
himakuro(@himanakuroneko

この記事を書いている僕はエンジニア歴7年で、スマートフォン向けのゲーム開発や社内SEとして実務経験を積んできました。最近はプログラミング学習で悩みを抱えている初学者の方を、MENTAというオンラインサービスで指導させて頂き、プログラミング学習のサポートからエンジニアとして内定が貰えるまでのサポートを行ったりしています。

今回の記事では現役エンジニアの僕が、Rails学習が思うように進まずに悩んでしまっているあなたに、効率よく学習を進めるための方法を解説していきます。

Railsが書けるようになると掲示板、ブログ、レビューサイト、SNS、ECサイトなど、一般的なWebサービスと言われるものが作れるようになり、エンジニアとしての需要も格段に上がります。

そうなれば、未経験からでもエンジニア転職やフリーランスになることも夢ではありません。

プログラミングの学習方法は人それぞれなので正解はありませんが、今回の内容は僕がMENTAでエンジニア未経験の方にプログラミングを指導させて頂き得た知見、そして内定獲得までサポートした実績を元に記載しています。

今回紹介する方法を実践することでRailsでの学習効率を高め、エンジニアと言う自由度が高い働き方を獲得して行きましょう。

Railsは一朝一夕ではマスター出来ない

エンジニアになりたいという気持ちが強すぎるあまり学習を焦ってしまい、理解出来ていないのに先へ進んでしまってはいませんか?

僕は今までに下記のような依頼を何度か受けたことがあります。

Railsを使ったポートフォリオを1ヶ月で作成して、エンジニア転職活動を始めたいのでサポートしてください!平日の日中は今の仕事があるので学習を進められませんが夜は4時間、週末は8時間以上プログラミングの学習にあてられます!

今の仕事を続けながら出来る限り速く技術力を身に付けてエンジニア転職をしたいという気持ちはとてもよく分かりますし、サポートをしてあげたいと思いました。

しかし実際問題、1ヶ月という短期間ではポートフォリオの完成どころか、Railsを使いこなせる様になるのもギリギリのラインです。

加えて言うとプログラミング未経験の方がRuby On Railsを学び始める場合は、最低でも2ヶ月以上を目安に学習期間を取るべきだと考えています。

Railsは開発に使える様々な機能が盛り込まれたフルスタック(全部入り)なフレームワークで、使い慣れてくると非常に少ないコードの記述で機能を実装できるようになります。

しかしこれらを理解して使えるようになるには、Rubyの基本的な構文を理解し、更にRailsの仕組みや使い方も把握していく必要があるため時間が掛かります。

それを1ヶ月という短期間で仮に詰め込んで学習したとしても、最初の方に学習した内容は殆ど忘れ、直近学んだことも理解が出来ていない可能性が高いでしょう。そしてこの状態では間違いなくエンジニア採用面接時には何もアピール出来ずに撃沈します。

Railsの学習効率を上げる3つの手順

Ruby On Railsの学習効率を上げるには基礎力を高めるべき。

Ruby On Railsを使って開発を進めていく上で必要な知識は大きく分けて3つの要素に分解することが出来ます。

Rails開発に必要な知識
  1. Ruby
  2. データベース (MySQL / PostgreSQL)
  3. HTML&CSS

これら3つの要素はRailsで開発を進める際の基礎知識となり、これらの力を上げる事がRailsの学習効率を向上させる鍵となります。

Rubyの基本的な書き方を理解しよう

Railsを使った開発ではRubyと言うプログラミング言語を使ってコードを書いて行きます。

つまりRubyの基本的な書き方が頭に入っていないとコードが書けず、更に理解もままならない状態になります。

Ruby基礎学習で抑えるべき内容
  1. 変数、配列
  2. if文
  3. eachを使ったループ処理
  4. クラスの作成方法
  5. 関数(メソッド)の定義方法、呼び出し方

上記の内容は基礎中の基礎なのでこれらの内容がまだ曖昧な方は下記のいずれかの方法で学習をしておきましょう。

また当ブログではRubyの学習ロードマップを作成しているので、こちらも合わせて確認をしてみてください。

よく使うMySQLコマンドを把握しよう

Railsで開発を進めて行く上で切っても切り離せないのがデータベースの知識です。

ポートフォリオなどの開発を進める中でログイン機能やユーザーが投稿した情報を保存するなど、どこかしらで「データを保存したい」という用途が発生します。その保存先がデータベースとなります。

当ブログでは初心者の方に向けたデータベースの基礎を下記の記事にまとめています。

データベースとテーブルの違い、基本的なMySQLコマンドの使い方をまだ知らないという方は参考にしてみてください。

また記載しているコマンドは全て暗記する必要はありませんが、どの様なコマンドが存在して何が出来るかぐらいは把握するようにしましょう。

最低限のHTML&CSSの理解

サーバーサイドエンジニアを目指す場合でもHTML&CSSが書ける事が望ましいです。

Railsを使って開発しようとしている多くの方は、ポートフォリオが完成した暁にはポートフォリオを武器として企業の書類選考に応募したり面接に挑まれると思います。

その際に重要なのがポートフォリオの第一印象、つまり見た目です。

サーバーサイドエンジニアを目指している方であれば実務でHTML&CSSを触ることは殆どありません。

しかしポートフォリオの作成時には必然的にHTML&CSSを触る必要があり、更にレイアウトが崩れていたりすると第一印象としては最悪です。

そうならないためにも、下記に挙げているHTML&CSSの最低限抑えておくべきポイントは学習しておきましょう。

HTML&CSS学習で抑えるべき内容
  1. 各種タグの使い分け(header, footer, div, ul, span, pなど)
  2. CSSで装飾をする際のidとclassの使い分け
  3. Flexbox・Grid Layout(floatはもう古い)
  4. marginやpaddingの使い分け
  5. メディアクエリ(レスポンシブ対応で活用)

またよくある質問で「Bootstrapは使えたほうが良いですか?」というのがありますが、使えるに越したことはありませんが必須ではありません。

Bootstrapを活用することで、予め用意されているCSSを使い簡単に画面の装飾をしていくことが可能です。

言い換えるとどの様なクラスを付加すれば、どのような見た目になるかさえ覚えておけば、CSSが書けなくてもレイアウトの作成が可能になります。

Bootstrapを使えば画面のレイアウト作成の時間を短縮出来るというメリットはありますが、他のBootstrapを使っているサイトと似通った見た目になってしまったり、自分でCSSを書く機会は激減するのでHTML&CSSの向上はあまり期待出来ないでしょう。

HTML&CSSの学習方法としては下記の様な物があるので、あなたに合った学習方法で進めて行きましょう。

ちなみに今回紹介したHTML&CSSの学習で最低限抑えておくべきポイントを学ぶと、簡単なランディングページ(LP)を作れるようになります。

LPが作れる様になるとクラウドワークスやランサーズでの案件受注にも繋げることが出来て、お金を稼ぐための幅も広がります。

是非これを機会に上記のような教材を駆使して学習していきましょう。

学習効率を更に上げる方法

ここまでの内容でRailsの学習効率を上げるために基礎知識が重要と言うのを伝え、更にその基礎知識の学習方法を解説してきました。

最後に、更に学習効率を上げたいという方のために2つ方法を紹介します。

MENTAで現役エンジニアと契約をする

MENTAで現役エンジニアと契約をする事で、気軽にプログラミングに関する質問が出来るようになり悩む時間も削減。料金もプログラミングスクールの半額以下。

menta

MENTAはエンジニア(メンター)とプログラミングを学習したい人(メンティー)が繋がれるサービスで、メンターはプラン内容や料金を決め、その内容で教わりたいと思ったメンティーが契約をして行きます。

1,500人を超えるメンターが様々なプランを掲載していますが、相場としては下記のようになっています。

 

MENTAの相場(月額)
  • チャットで質問し放題:月額3,000円〜
  • Web開発のサポート:月額10,000円〜
  • エンジニア育成:月額20,000円〜50,000円
  • 弟子育成:10万円〜

ポートフォリオの開発であれば上記で言う「Web開発のサポート」か「エンジニア育成」辺りを契約する事になります。

プログラミングスクールは10万円を超える物が殆どなので、月額5万円以下で学習効率を挙げられるのは非常にコスパが良いと思います。

ただMENTAには契約されたメンターによって下記のようなデメリットがある場合があるので、契約前には必ずレビュー内容を確認したり、直接メッセージを送り求めている様なサポートをしてもらえるかを確認しましょう。

MENTAを利用する際のリスク
  • 返信が雑すぎて何もはかどらない可能性
  • メンター側の技術不足で問題を解決してもらえない可能性
  • 返信頻度が少ない。ひどいと数日に1回程度。最悪音信不通になる可能性

MENTA

プログラミングスクールへの入校

プログラミングスクールの質は日々向上している。厳選すれば学習効率を格段に上げることが可能。

プログラミングスクールはお金の無駄とか、行く必要がないみたいな情報がネット上には沢山あります。

しかしその様な情報が書かれているプログラミングスクールの記事の殆どは、実際にプログラミングスクールには通ったことがないブロガーの記事です。

つまり誰かが批判した内容をそのまま言い回しを変更しただけの記事が量産されているだけです。

今回僕がおすすめするプログラミングスクールは、スクールでのメンター経験と実際に通わわれた事がある方のリアルな感想を聞いて厳選した2校となります。

おすすめのプログラミングスクール2選

ポテパンキャンプ

有名企業の現役エンジニアが講師としてコードのレビューや質問に答えてくれる、Webエンジニア多数輩出のプログラミングスクール。

ポテパンキャンプの特徴
  • WebアプリケーションコースとRailsキャリアコースの2つが存在
  • カリキュラムに沿って無駄なく学ぶ事が可能
  • 毎日10時から23時までの幅広い時間で技術的な質問をサポートしてくれる
  • Railsに特化したプログラミングスクールと言っても過言ではない

WebアプリケーションコースではHTML&CSS、JavaScript、Rails、SQL、Gitなど最低限必要な技術の詰め合わせパックのようなコースになっています。

料金もキャリアコースと比較して半額なので、教養や副業などのためにプログラミングの基礎を学習されたい方には非常にコスパが良いコースとなっています。

一方、Railsキャリアコースではより実践に近い技術を学べ、専任のキャリアカウンセラーによる転職サポート付きです。

学べる内容としてはWebアプリケーションコースの内容に加えて、rspecを活用したテスト実装、CircleCI、Docker、WebAPI開発などを学ぶことが出来ます。

またこのキャリアコースでは入校前の無料カウンセリングにて現在のあなたのスキルチェックを行い、その結果により学習の期間と料金が変動します。

既に一部のスキルはマスターしているから、このコースだと無駄が多いな…と言う事にはならないのは嬉しいですね。

開発エンジニアを目指すなら【ポテパンキャンプ】

DIVE INTO CODE

Railsを扱う受託会社の新人研修の教材を使って学ぶ事ができ、チーム開発の経験も可能な実践よりなプログラミングスクール

DIVE INTO CODEの特徴
  • 機械学習とAIに特化したプログラミングスクール
  • Railsのコースとしてはベーシックプログラムと就職達成プログラムの2つが存在
  • Railsを扱う受託会社の新人研修の教材を使って学べる
  • チーム開発の経験が可能
  • 卒業課題としてオリジナルアプリケーションの開発が可能

ベーシックプログラムでは入門Term、基礎Termの2部構成で組まれており、HTML・CSS、JavaScript、Rails、データベースなどを学習する事が可能になっています。

1つ前に紹介したポテパンキャンプのWebアプリケーションコースと非常に似ているカリキュラムですが、Railsの学習部分の内容が若干こちらの方が濃い内容になっています。

就職達成プログラムではベーシックプログラムの内容に加えて就職Termのカリキュラムを受講する事が出来ます。

この就職TermのカリキュラムにはVue.js、AWSで環境構築などが組み込まれており、更に卒業課題としてはオリジナルアプリケーションを開発することが可能です。

独学で学習をしていると、「ポートフォリオは作れたけど本当にこの実装方法で良いのかな?」と不安になることが多いと思います。

DIVE INTO CODEではそのポートフォリオ開発を講師の方のレビューを受けつつ開発をすることが出来ます。そして作成したオリジナルアプリケーションは、そのまま面接時のアピールポイントとしても活用出来るのが大きなポイントとなります。

DIVE INTO CODEはポテパンキャンプと比較して料金も高めで最低開講人数や定員などもありますが、より実践に近い形で学べ、オリジナルアプリケーションを講師の方のレビュー付きで開発が出来るプログラミングスクールです。

受講できるかはタイミング次第なところもあるので、タイミングとお財布と相談をしつつどちらのプログラミングスクールを選ぶか検討してみてください。

DIVE INTO CODE (次回締め切り12月25日(金) 19:00)

Sponsored Link
himakuro

himakuro

新卒で入社したブラック企業から脱出して超ホワイトな会社に転職。エンジニア歴は7年で普段はウェブサービス作ったりブログを書いたり、MENTAで未経験者の方にプログラミングを指導しています。

カテゴリー:
関連記事

コメントを残す