プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

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

更新日:

「Progateやドットインストールを使ってもエンジニアになれない」
「Railsを教えているスクールは駄目」などといった不満を聞いたことがあります。
実際のところ、どのような順番で、プログラミングを勉強したらいいのでしょうか?

記事の内容


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

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

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

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

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

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

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

職種ごとに必要とされる技術

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

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

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

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

PHPでも勉強することは多くあり、大してRuby on Railsと変わらないことがわかって貰えるはずです。



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

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

一昔前の勉強方法

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

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

今の勉強方法

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

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

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

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

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

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

中級者になる方法

ここがポイント!

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

これらのことを自分なりに繰り返していれば、いつのまにかレベルが上がっていきます。
スクールに通っただけでは、このレベルまでは、なかなか到達できないかもしれませんが、地道に勉強していけば必ず中級者になれるはずです。

Good luck for your engineer life!

具体的にどこから勉強すべきか考えている人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

働きながらプログラミングを学習したい人は、この記事を読んで下さい

働きながら学べるオンラインプログラミングスクール【転職すれば無料もあります!】

プログラミングを始めたいのですが、仕事を辞めるつもりはありません。 私にはプログラミングの才能があるかわからないので、保険的な意味で仕事を辞めるべきではないと思うからです。 それでもプログラミングを始めてみたいのですが、働きながら通えるプロ ...

続きを見る


30代からプログラミングを始めようか迷っている人は、この記事を読んで下さい

30代からプログラミングを始めることは可能なのか?【頑張ればギリギリセーフ】

エンジニアは人気の職種だと聞いていますが、若い人達が多い印象です。 30代から始めても間にあいますか? 2019年12月の有効求人倍率 記事やニュースなどで知っている人もいるかと思いますが、今、エンジニアは世界的に不足しています。 まずは、 ...

続きを見る


プログラミングスクールに行くか迷っている人は、この記事を読んで下さい

なんとなく、エンジニアになりたい人が無料のプログラミングスクールに行くべき理由【2020年最新】

有料や無料のプログラミングスクールが多すぎて、どこにしようか迷っています。 無料のプログラミングスクールは、お得そうに見えますが、実際の所はどうですか? メリットやデメリットなどがあれば教えて下さい。 前提として この記事は、エンジニアにな ...

続きを見る


自分がやりたいことにプログラミングが必要かどうかを知りたい人は、この記事を読んで下さい

プログラミングを始める前に動機を確認しよう【プログラミング学習は本当に必要ですか?】

プログラマの仕事の今と昔 プログラマという職業に就く人達が増え始めたのは、2005年ぐらいからです。 2005年は、Webが流行り始めた頃だと言い換えてもいいかもしれません。 プログラミングを使った仕事の変遷を知るためにも、まずはその当時の ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


海外で働いてみたい人は、この記事を読んで下さい

海外で働きたいエンジニアが登録すべき求人サイト

海外で働いてみたいけど、何から始めたらいいの? どのサイトに登録したらいいんだろう? doda dodaのサイトで検索条件を「勤務地;海外」、「職種;技術職」として検索してみましょう。 そうするといくつかの案件がマッチします。 ここでは、そ ...

続きを見る

関連コンテンツ

-初心者向け, 勉強方法

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