こんにちは、ハクトです。
プログラミング言語は
1つでも多くマスターしていた方が
社会で有利と思ってました。
プログラミングで扱う言語は
業界によって違いがあります。
さらには扱う製品・サービスによっても
異なってきます。
だからプログラミング言語をたくさん使えると
それだけ多くの仕事が出来ることになるので
有利だよなという話です。
でもプログラミング言語の種類はめちゃくちゃあって、
Java、C言語、PHPみたいなメジャーどころから
誰も知らないようなマイナーまで含めると
全世界で200種類の以上存在しているらしいです。
(誰が使うの!?って感じのも結構ある)
これらを1つでも多く使えるようにならないと!!
↑こう決意するのは立派ですが、
無理ゲーじゃね?
と僕は思うのです。
よく意識高い系の人と会話してて聞くのが
- 英語勉強したい
- プログラミングもやりたい
- イラストの勉強したい
- ビジネスに興味ある
- 株とか投資を始めたい
って言葉。
やりたいことたくさんあるのは幸せだし
自己研鑽欲が高くて立派だけど、
「絶対ぜんぶ上手くいかないだろうな…」って思ってます。
全部を一気に始めてしまうと
何もかもが中途半端になって
高確率で失敗してしまう。
裏では
「やりたいことありすぎて、
何から手をつけていいか分からない」
状態になっているはずです。
そんな無茶な状態だと
上手くいくものも
失敗してしまうんじゃないかと思います。
大事なのは選択と集中
あれもこれも全部を一気に勉強しよう!!
なんて無理なんです。
そんなチートはこの世にありません。
大事になってくるのは
「選択と集中」なんですよ。
プログラミング言語も同じで
自分がまず取り組む言語をしっかり選択して
そこに集中することが
やっぱ大事だなー
って思うんです。
それにプログラミング言語の場合は、
1つを極めると、
他の言語の習得が
超絶スムーズになるという
メリット付きです。
興味本位で始めたら、時間を無駄にした話
偉そうに語りましたが、
僕自身、昔こんな状態になりました。
最初に入った会社で
配属先として飛ばされた大企業の中で
出会った先輩の話になるんですが、
めちゃくちゃ頭が良くて、
仕事も出来てという
エース社員がいたんですよ。
旧帝大を卒業して、
大企業へ入り、
次期課長候補No.1と
みんなが口を揃えて噂するほど
エリート街道を
まっしぐらに駆け抜けている人。
マジで雲の上の人過ぎて
配属されて1年間ぐらいは
会話するだけでも緊張してましたね。
その人とだんだん打ち解けて
仲良くなり、
色々と話しているうちに
「実はスマホのゲーム作って配信してるんだ」
って話を聞いたんです。
「俺はこの会社に一生雇われている気持ちは無い。
独立して会社作る!!」
と野望も話してくれました。
せっかく大企業入って、
そこで評価され、
出世コース乗っているのに、
もったいない。
でも、カッコいいーー!!!!
その人の言葉を夢中で聞きました。
こんな風に考えている人はまわりに皆無だったので
すごく新鮮だったんです。
寮に帰宅後、
早速でその人が作ったゲームをダウンロードした。
正直ゲーム自体の完成度は
他に比べたら低かったけど、
個人でもこんな風にスマホゲーム作れるんだ…
と分かり、
単純な僕はスマホゲームに非常に興味が湧いた。
やってみよっか〜
と、この時思ったんです。
でも仕事上プログラミングはやっていましたが、
内容がエンジン制御だったので、
スマホのアプリの経験も知識もゼロ。
だけど世の中ネットで調べたら
大抵の情報は出てくるから、
それを頼りに
1日に1〜2時間ぐらいの勉強を
しばらく続けていたんです。
この時Javaを勉強してました。
だけど、
プログラミング自体始めてから
2年と少し。
会社でも先輩に教えてもらいながら
進める程度のスキル。
苦戦しました。
いま振り返ると、
この時の勉強は
全くと言っていいほど
身に付いてません。笑
そんなある日にふと、
自分の行動の優先順位を考えてみて
気付いてしまったんです。
まだ仕事で使うC言語すら
まともに理解していない中で
他のこと勉強している暇なんてあるのか?
と…
あの先輩はまず今の仕事を完璧にできてて
そこにプラスしてアプリ開発してる。
「まずは目の前の仕事を一人前に出来るようにしよう!」
こう思ってJavaの勉強は止めました。
この時自分を俯瞰的に見てました。
やっぱ自分のやるべきことの優先順位を
しっかり考えないと、
一番大事な資産である時間を
失ってしまうんですよね。
本当に大事なのは選択と集中です。
限られた時間の中で
優先事項をしっかりと見極める。
とっても大事なことです。
もしも他の言語取得が必要になった時
やっぱり目の前の仕事に集中して
自分の分野のスキル上げた方がいい。
僕の場合だったらC言語で
エンジン制御を極めるところに
集中した方がいい。
これを実践したことで、
スキルのみで大企業へ転職もできましたし
間違ってなかったと思います。
このプログラミング言語習得については
もう1つ話があって、
それは転職した今の会社での出来事です。
僕はC言語しか出来ない。
でも今の仕事の分野はそれで良かった。
だけど時代は変化する・・・
急に仕事の内容が変わり、
別のプログラミング言語を使う場面がやってきた。
今やっている仕事が
いつまで続くのか保証なんて無くて
だからいつかは他の言語使う時が来るんだろうなーって
漠然と思っていた。
それが急に来てしまった。
僕は
「C言語しか分かんねーし。これマジでやぱいいい!」
と、内心焦りまくってた。
職場の同僚に聞いてみたら
同僚「ちょっと前に業務で使ったことがあって、
読むぐらいなら出来ますね!!」
なんだよ。やったことあるのかよ!
聞かなきゃよかった。。。
余計に焦りが出てきた。
せっかく転職したこの会社でも
また前の会社のように
お荷物を経験することになるのか??
僕の中ではかなーりのトラウマだったので
マジで怖かった。
で、実際に業務が始まって
おそるおそるソースコードを開いてみると・・・
全然読めるし!!!!
もちろん部分的には良くわからないとこもあった。
それでも全体の意味は分かる。
ビビっていたのが嘘のように安心した。
業務が本格スタートしてからも
問題なく読み書きできるし、
ちょっと意味が分からないなーって
部分が出てきたら
その都度調べれば問題ないレベル。
プログラミングの構造は同じ
なんで僕が別の言語も普通に使いこなせたのか?
それはプログラミング言語の違いは
「書き方」の違いであり、
大きな構造は同じだからです。
「書き方」の違いというは、
日本語や英語などの言語と似たような違いです。
単純な言語の違いは当然として
日本語は「主語→目的語→動詞」
英語は「主語→動詞→目的語」
といった文法的な違いは
プログラミング言語にもあります。
だけど、それ以外の
「変数、関数」、
「if文、for文といった制御文」
といったプログラミングの構造・考え方は同じです。
そのため、1つをマスターしていれば
同じ構造のため簡単に思えてしまうのです。
ちなみに新しく使うようになった言語は
Pythonでした。
最近人気が高まっている言語で
AIのプログラミングが得意だったりします。
まとめ
たくさんのプログラミング言語を
一気に使えるようにするのは大変なので
選択と集中をして
まずは1つをマスターすること。
そして1つマスター出来たのなら、
他の言語もそれほど苦労せず習得出来ます。
僕自身がC言語を学んでいたおかげで
Python習得は楽だったという経験からも言えます。
最後にアドバイスとして、
今からプログラミングの勉強を始めるのであれば
その「選択」はPythonが良いと思います。
以前フリーランスに興味があって
そのエージェントさんと会話した際、
Java、PHP、Ruby、Pythonが人気があり
稼ぎやすいと聞きました。
中でも今後のAIの普及を考えた将来性では
Pythonが最もアツいようです。
実際に僕も使っていますが、
細かいルール少なくて習得も楽だと思います。
もちろん自分がやりたい分野に合わせて
言語選択してもらえば良いですが、
言語習得のしやすさ、稼ぎやすさといった
コスパで考えると、Python推奨します。
コメントを残す