今プログラミングを勉強していますが、やはり言語は複数勉強した方が良いでしょうか。転職の時などの印象はどうでしょうか。
本記事では上記のような疑問を解決します
以前以下のようなツイートをしました。
プログラミングを勉強していると、別の言語を勉強したくなることってありませんか?
今勉強している言語に行き詰まると、「他の言語なら理解できるんじゃないか?」と希望を抱き、他の言語の基礎学習から始める→また行き詰まって次の言語に。。。
というサイクルになる人の気持ち、凄く分かります。
僕もそうだった時期がありますから。
でも今、WEBエンジニアとして企業に所属していて思うことは「中途半端に学習した言語を網羅しても戦力にはなれない」ということです。
ではどうすればいいか。
今回は上記のツイートについて深掘りしていきたいと思います。
プログラミング言語は複数勉強するべき?
では「プログラミング言語は複数勉強するべき?」という疑問に対する回答ですが、結論は「1つで良い」です。
中途半端に色んな言語を勉強しても、その言語をマスターするにはかなりの時間を要するはずです。
それなら、一つの言語を突き詰めて、「この言語のことなら誰にも負けないぞ!なんでも聞いてくれ!」と言えるくらいのスキルを身につけた方が結果的には市場価値が上がります。
実際に企業側としても、網羅的に勉強している人よりも、何か大きな強みを一つ持っている人の方が魅力的に映るからです。
他の仕事に置き換えてみよう
実際このことを他のことに置き換えてみればよく分かります。
例えばスーパーで勤務していて、品出しやバックヤード業務、レジ業務などで「それぞれ何をしているかはなんとなく分かるけど、自分は仕事として出来るレベルではない」という人と、
「レジしかできないけど、レジなら誰にも負けない正確さ、スピード、接客力がある」という人では後者の方がよっぽど人材として貴重だということがわかるのではないでしょうか。
あれこれ手を出して結局どれも中途半端でプロレベルに達していないのが一番残念な例です。
スポーツでも同じような事が言えます。
どの競技にも「スペシャリスト」と呼ばれる選手がいます。
例えば野球であれば「走塁のスペシャリスト」「守備のスペシャリスト」などです。
打撃はそこまで優秀ではないが、一つの項目に関してはそのチームの中で誰よりも優れた能力を有しているという選手は、一軍でも重宝されます。
「芸は身を助く」という言葉がありますが、中途半端に手をつけていくよりも、一つのことを突き詰めていく方がずっと良いのです。
なぜ複数の言語を勉強してしまう?
ただ、このように学習する言語が複数になってしまう理由や原因は僕も凄くわかります。
自分自身の体験談として挙げられるのは冒頭にも書きましたが
この言語難しい・・・ちょっと他の言語の勉強してみようかな。他の言語を勉強したら今の状況を打開できるかもしれないな
というものです。
上記のように他の言語を勉強することが必ずしも悪いとは思いません。
例えばC言語やJavaなどはプログラミング言語の中では難しい部類だと言われていますがPHPやJavaScirptは比較的初心者でも入りやすい言語と言われているようにプログラミング言語の中にも「難易度」は確実にあるからです。
そのため、今の自分に合ってない、あまりにも理解できない、ということであれば必要に応じて勉強する言語を変えてみることも良策となるかもしれません。
ただ、その場合また一から基礎を勉強することになってしまうため結果的に遠回りになってしまう可能性もあります。
学習の目的を明確にしよう
ではこのような状況にならないためにはどうすればよいでしょうか。
それはやはり「学習の目的を明確にする」ことです。
プログラミング言語を勉強することは目的ではなく、その先にある目的のための手段のはず。
もし趣味で勉強しているなら話は別ですが、プログラミングを勉強している方の多くは「転職」や「フリーランスとしての独立」を目指しているのではないのでしょうか。
その上で、自分がやりたいことを明確にすれば自ずと勉強するべき言語も明確になってきます。
・WEB系エンジニア:HTML/CSS、JavaScript、PHPなど
・アプリ系エンジニア:Ruby、Java、PHP、Swift、Kotlinなど
最近ではJavaScriptはアプリ制作でも使われていますが、どちらかというとWEB系の言語です。
上記のように、自分が進みたい方向やなりたい像を明確にすることで、あっちへ行ったりこっちへ行ったりという状況からは抜け出せると思います。
なのでもし、言語を変えたくなった場合は「WEB系の範疇で変えよう」「アプリ系の範疇で変えよう」という風に決めておくと良いと思います。
WEB系を勉強していたのに、わからないからといって中途半端にアプリ系に行ってしまうとまたアプリ系でも同じことを繰り返してしまう可能性もあるからです。
大事なことはゴールを決めてそれに対する適切な手段を決めることだと思います。
終わりに
プログラミング学習を続けていると分からなくて嫌になることがあります。
ただ最初は分からなくて当たり前なんですよね。
僕たちも最初から日本語を話せたわけではなく、「ママ」など簡単な言葉を話すことから始まっていると思います。
それを長い時間をかけて書いたり、聞いたり、話したりを繰り返すことで少しずつ喋れるようになっていく、書けるようになっていきます。
プログラミング言語も同じで、いきなり最初の数ヶ月とかで全てを理解するなんてそもそも不可能ですよ。
なので焦らず、一つの言語と向き合っていくことがプログラミング上達の秘訣かなと思います。
疲れたら休みましょう。
そしてまた始めれば良いだけです。