プログラミング道場Top

プログラミングの勉強の順番について説明します

更新日:

「Progateやドットインストールを使ってもエンジニアになれない」
「Railsを教えているスクールは駄目」などといった不満を聞いたことがあります。

実際のところ、プログラミングはどのような順番で勉強したらいいのでしょうか?


こういった疑問にお応えします。
運営しているスクールのポジショントークである場合は別にして、何でこういった不満が出てくるのでしょうか?
スクールの誇大広告という側面もあるかもしれません。
でも、プログラミングの勉強の流れや順番が整理されてないという気もします。

今回は、それについて説明したいと思います。

本記事の内容

  • サービスが配信されるまでの仕組み
  • エンジニアが勉強すべき技術
  • 初心者はどこからフォーカスしていくべきなのか
  • 初心者から中級者になるために

サービスが配信されるまでの仕組み

プログラミングの学習を効率よく進めてもらうために、まずはエンジニアがプログラムを作って、それがユーザーの手元に届くまでに、どれだけの技術が使われているかを説明します。

Ruby on Railsがサービスを提供するまで

Ruby on Railsを使ったサービスの場合に、一例ではありますが、サーバーにはこれだけの技術が使われています。
Ruby on Railsはサービスを提供するための、ほんのごく一部の技術です。
そのため、「Ruby on Railsから始めるのは駄目」と言う発言が、私にはよく理解できません。
それは例えるならば、野球でヒットの打ち方を習っている最中に、特定のメーカーのバットに文句を言っているようなものです。
バットは、あくまでもヒットを打つための一要素です。
料理に例えるならば、包丁メーカーの文句を言っているようなものです。
包丁は、料理を美味しく作るための一つの要素です。
Railsもそれと同様です。

エンジニアが勉強すべき技術

上の図を見て、「こんなに勉強しないといけないの?」と思った方もいると思いますが、安心して下さい。
エンジニアとして働く上で、最初に全てを理解する必要はありません。
まずは自分の専門の領域から勉強を始めましょう。
エンジニアの仕事ごとに技術を分けると、下の図のようになります。

  • バックエンドエンジニア。Ruby on Rails、MySQL、Git、(Vue、JavaScript)
  • インフラエンジニア。Linux、Nginx、Puma、MySQL
  • フロントエンジニア。JavaScript、Vue、Git
  • デザイナー。HTML、CSS、Bootstrap、Git

さらに付け加えると、Ruby on Railsだけでも、完全に理解するためには以下の内容を学ばなければいけません。

Ruby on Railsを確実に理解するため技術

朧げながら、プログラミングの奥深さを理解してもらえたでしょうか?
もしかすると、「PHPだったら簡単じゃない?」という意見もあると思うので、画像を貼っておきます。

大して、Ruby on Railsと変わらないことがわかって貰えるはずです。

初心者はどこからフォーカスしていくべきなのか

さて、上記のことを踏まえて、初心者はどこから勉強するべきなのでしょうか。
一昔前の勉強の仕方はこうでした。

  1. 高いハードルを越えるために勉強
  2. プログラミング楽しい
  3. 楽しいから勉強しよう
  4. 1人前のエンジニアになる

このやり方では、多くの人が「プログラミングの面白さ」に気付く前に、プログラミングを止めてしまいました。
それが今のエンジニア不足の一因です。
最初のハードルを越えられた人だけが、エンジニアの卵になれました。
それが昨今では、こういった流れになりつつあります。

  1. プログラミング楽しい
  2. 高いハードルを超えるために勉強
  3. 1人前のエンジニアになる

このような流れに沿って、楽しくプログラミングを始めるために、Progateやドットインストールなどのサービスから始めましょう。
もしくは、プログラミングスクールに通ってもいいと思います。
その際に、Ruby on Railsから始めることは何の問題もありません。
ただ、それは自分が知るべきことのほんの一部であるということも同時に理解しておいて下さい。

初心者が「プログラミングって楽しい」、「もっと勉強してみたい」と思って、エンジニアの入口に立てただけで、私はエンジニア向けの教育サービスは成功だと思います。

こういった理由で、エンジニア向けの教育サービスへの批判は、的外れな気がしています。
もし、本当に一人前になれるサービスを求めるならば、生徒側もよほどのお金と時間を払う必要が出てきます。

スクールに興味がある方は、無料で通えるプログラミングスクールの記事を書いたので読んでみて下さい。

初心者から中級者になるために

上記のことはわかったけど、私は早く中級者になりたいという方もいると思います。
その勉強方法も軽く説明しておきます。

中級者になる方法
  • 幅広く勉強しましょう。
    バックエンドならば、Ruby on Rails、Ruby、MySQLの全てを順番に勉強しましょう。
  • 自分の分野とは違った、隣合う分野も勉強しましょう。
    バックエンドならば、Linux、Nginx、Pumaなども勉強した方がいいです。
  • 幅広く勉強したあとは、自分のサービスを作ってみましょう。

これらのことを自分なりに繰り返していれば、いつのまにか中級者になっているはずです。

Good luck for your engineer life!

-プログラミング初心者, 勉強方法

Copyright© プログラミング道場 , 2018 All Rights Reserved Powered by AFFINGER4.