どうもこんにちは!樋渡です。
本日のブログは、これからプログラミングを始めてみようと思っている方に向けた内容です。
最初に私のことをお話すると、約2年前にプログラマーとしてコードリックに入社しました。
それまで、プログラミングに触れたことがなかったので、入社前に0から独学を始めています。
当時、まず最初にぶつかった壁は
「どのプログラミング言語から勉強したら良いのか」ということです。
同じような壁にぶつかっている方は、きっと参考になる内容になっていると思います!
最初はまず、Webサイトなどを作る上で必須となるHTMLとCSSは触っておいた方が良いです。
しかし、厳密に言うとHTMLとCSSはプログラミング言語ではありません。
そこで、「プログラミング言語」について調べてみると、たくさんの種類が出てきますよね。
次に、「プログラミング言語 初心者 おすすめ」などで調べると、
どの言語からでも良い、
トレンドの言語、などの回答が得られると思います。
確かに、どれも間違いじゃなさそうですが、ちょっとざっくりしていて決めきれません。
では、1つ1つの回答を紐解いていき、自分にとってベストな言語を見つけていきましょう!
文字だけで見ると投げやりな印象を受けますが、決してそういう事ではありません。
0からプログラミングを勉強すると覚えることがたくさんあり、なかには挫折するほど難しいと感じる方もいるでしょう。
ですが、1つの言語を一通り覚えてから別の言語を勉強すると、意外とスッと理解できます。
そのため、
「どの言語からでも良い」というのは、最初に覚えた言語は次に活かせるため、とりあえず何か触ってみようという解釈もできます。
「そういう事ならまずは触ってみよう!」と思った方に向けて、1つだけ注意点があります。
プログラミング言語の種類を調べていくなかで、
フレームワークというものを目にすることがあると思います。
ここで言うフレームワークは、
「プログラミングをより簡単に扱える言語」と解釈してOKです。
かなりざっくりとした説明になりましたが、コードリックが主に使用している言語で例えると、プログラミング言語がJavaScriptで、フレームワークがVue.jsです。
そして、1つのプログラミング言語に対して、複数のフレームワークが存在します。
さらに、そのフレームワークに対してもフレームワークが存在する、という話をしていくと頭が混乱してくるので、ここでは割愛しておきましょう。
つまり何が言いたいかというと、
プログラミング言語より先にフレームワークを勉強するのはお勧めしません。JavaScriptを簡単に扱えるVue.jsから勉強をしても、肝心のJavaScriptを知らないと理解が深まらない可能性があるためです。
順番が前後したら絶対に駄目という決まりはありませんが、基本的には元となるプログラミング言語を学習してから、それに対するフレームワークを勉強していくことをお勧めします。
例えば、先ほどから何度か登場しているJavaScriptや、その他で言うとPython、PHP、Java、Rubyなどが
「プログラミング言語」と言えます。
どの言語から勉強しても良いと分かったものの、それでも悩む方はいると思います。
私もその中の1人でした。
では、今人気があって需要の高い言語、つまり
「トレンドの言語」を見ていきましょう!
最近では、AI開発や機械学習、データ分析などにも用いられるPythonの人気がとても高いです。
また、汎用性が高く求人数も多いJavaも安定した人気が伺えます。
その他に、純国産プログラミング言語であるRubyも学習しやすいという声をよく聞きます。
これらの中から選んでいくのも良いですが、その前に目的をしっかり定めておくのも重要です。
個人的に、この目的によって最初に学ぶ言語が決まると思っています。
ここで言う目的とは、何を作りたいかというよりは、なぜ作りたいかです。例えば、趣味として何かを作りたいのであれば、それこそ最初に学ぶ言語は自由です。
Webサイトを作るならJavaScriptやPHP、ゲームならC#、iOSアプリならSwiftなど、制作物に合わせた言語選びをしましょう。
ですが、これからプログラミングを始めてみようと思っている大半の方は、仕事に繋げていきたいと思われているのではないでしょうか。
仕事に繋げる場合、大きく分けるとフリーランスか、どこかの企業に就職する、になってくると思います。
もしフリーランスを希望されていたら、トレンドの言語から勉強していくのがお勧めです。
トレンドということは世界的に注目されている言語ですし、これから先もっと需要が増えていく可能性があります。
そのため、案件数も多く、報酬単価も比較的高い傾向にあります。
しかし、実務未経験からフリーランスを目指すのは困難な道のりです。
単価の高い案件、もしくは単価は安いけれど達成しやすい案件というのは、おのずと希望者が集まってきます。
クライアントはその中から、スキルの高さ以外に、過去の実績も考慮して選定していくもの。
そうなってくると、実務未経験はどうしても不利な立場になってしまいます。
もちろん、実務未経験でも地道に案件を獲得しながら実績を積まれる方もいると思うので、不可能ではありません。
ただし、非常に狭き門にはなりますので、まずは
就職してから実績を積むというのが確実な方法になります。
プログラマーとして就職するために勉強をしようと思っている方は、まず
「地元企業の傾向を知る」ことから始めてみましょう。
傾向とはもちろん、
地元企業で主に使用されているプログラミング言語のことです。
県外へ引っ越す方は別として、基本的にはご自身の住んでいる地域で就職・転職活動を始める方が多いと思います。
現在では「未経験からフルリモートでプログラマー」といった選択肢もありますが、実際は実務レベルのスキルを求められるケースもあるので、難易度はかなり高めです。
地元企業で主に使用されているプログラミング言語を調べるには、求人サイトを見ればOKです。
募集要項のなかに
「言語」の項目を設けている企業が多いので、そこから傾向を知っていくのが良いと思います。
気をつけてほしいのは、
「人気が高い言語」という理由だけで選ばない、ということです。
私が独学を始めた頃、国内のプログラミング言語ランキングではPythonやRubyが上位でした。
しかし、ここ石川県で実際に求人を探すと、これらの言語をメインとしている企業はほぼなく、大半の求人がPHPやJavaだったと記憶しています。
余談ですが、コードリックでは現在、JavaScriptの上位互換とも言われるTypeScriptを始め、Vue3やPythonなど、地方では珍しいモダンな言語で開発をしています。
話が逸れましたが、メインとなる言語は地域や時代によって大きく左右されます。
そのため、地元企業の傾向を把握しておくことはとても大切です。
もちろん、
『1. どの言語からでも良い』の項目で書いたように、最初に覚えた言語は次に活かせるため、別の言語から勉強しても間違いではありません。
ですが、企業側の立場で考えると、自社でメインとしている言語を勉強してきた人の方が採用しやすいのも事実です。
そのため、これから就職に向けてプログラミングの勉強をしようと思っている方は、
「地元で求人数が多いプログラミング言語」から触ってみることをお勧めします!
本日のブログは以上です。
今回の内容はあくまで個人的な見解ですので、当てはまらないケースもあると思います。
ですが、プログラミング初心者の方にとって、最初に学ぶ言語というのは迷うものです。
ぜひ、当ブログの内容が参考になれば幸いです!