プログラミング初学者は言語を一つに絞りましょう

2019年5月11日

プログラミングの勉強を始めたばかりの人は

  • 『何を勉強すればいいかわからない。』
  • 『全部できるようにならないといけないの?』
  • 『頑張って全部できるようになるぞ。』

と疑問を持ったり、意気込んだりすると思います。
しかし多くの言語を学ぶことはプログラミング初学者が一番やってはいけないことです。

その理由を私の失敗談を交えて説明していきたいと思います。

なぜプログラミング初学者は言語は一つに絞るべきなのか

私はなぜプログラミング初学者が言語は一つに絞るべきと考えるのかは

  • フロントエンドとバックエンドのどちらで食っていくか絞れない
  • 言語ごとに書き方が違うので全く知識が身につかない
  • 一つの言語の理解を深めると、他の言語でも対応できる

などの理由が挙げられます。

まずフロントエンドとバックエンドのどちらで食っていくか絞りましょう

プログラミングの勉強を始めた頃は
『フルスタックエンジニアになるぞ!』
とやる気が高まっている状態かと思います。

私自身の失敗談を述べると
まずProgateを始めました。次にドットインストールを始めました。

様々なレッスンがある素晴らしい学習サイトではありますが
厄介なのはレッスンが豊富すぎてプログラミング言語を絞れないことです。

私が手を出した言語はとにかく多すぎました。

HTML・CSSは誰もが始めは通る道として
JavaScript・Ruby・PHP・Swiftに手を出しました。

そのあとJavaScriptのフレームワークであるReact
PHPのフレームワークはCakePHP・Laravel
RubyのフレームワークのRuby on Rails・Sinatra
さらに初学者のうちからAWSまで手を出しました。

他にも色々な言語やフレームワークに手を出しました。

これらに触れてみて良かったことは
このような様々な言語、ライブラリ、フレームワークがあるんだと知れたことくらいです。
しかしこれらのことは明らかに無駄なことです。

このような状態ではフロントエンドとバックエンドのどちらでいきたいのか決めることができません。

今私が実際に触るのはほとんどが
HTML・CSS・PHPとフレームワークのLaravelだけです。

言語は絶対に一つに絞りましょう。

フレームワークも現場や案件によって変わるので
一つのフレームワークを深く学べばある程度対応できます。

言語を一つに絞りましょう

私は先輩エンジニアの助言からPHP・Rubyを学びました。
しかし私の失敗は2つの言語を同時に勉強したことでした。

Rubyはかなり上級向けの言語です。
私はRubyの求人だけを探し、そこの募集要項を見て使われている技術を調べまくりました。

しかし現場に入ってから学べばいい技術がほとんどです。
例えばフレームワークやAWSなどのインフラ関係は現場に入ってから覚えればいいものです。

私は最終的にRubyは未経験からだとなかなか厳しいと判断し、PHPに切り替えました。
この判断はとても賢い選択だったと考えています。

色々な言語を勉強しようとすることで確実に遠回りになってしまうので
例えばPythonならPython関連の技術だけ、JavaならJavaだけと一つだけに絞りましょう。

フロントエンドとバックエンドどちらもできる必要はない

プログラミング初学者のうちはなんでもできることがエンジニアだと考えます。
しかしほとんどの現場では役割が決まっていますし、一人で開発することはあまりないですし、複数人で開発します。

最終的にどちらもできるエンジニアを目指すことはとてもいいことだと思います。
しかし最初にどちらから始めるかを決めることはとても大切です。

初めからどちらもできるエンジニアなんてほとんどいません。

まずフロントエンドかバックエンドどちらでやっていくのかを決めて
フロントエンドで食っていくと決めたならJavaScript中心に勉強し
バックエンドで食っていくと決めたならPHPだけ、Rubyだけと必ず一つの言語に絞りましょう。