こんにちは、アンドリューです。今のご時世プログラミングの需要が高まっていますよね。人手不足だ、人手不足だ、と言われやっと政府も動き出し2020年にプログラミング教育の義務が始まりますね。すでにイスラエルでは2000年にプログラミングの義務化がなされ、イスラエルにいるユダヤ人が大活躍しているご時世でもあります。そんな中「これからの世の中はプログラミングだ!」と意気込み、勉強を始める人もかなり多くなってきたように思います。
これは世の中の法則でもありますが世の中には2対8の法則(パレートの法則)が存在しており、例えば世の中の8割の資産を2割のお金持ちが保有していることだったり、会社の2割の人間が会社の売り上げの8割をあげていたりと、ありとあらゆる所で見受けられる現象でもあります。もちろんそれはプログラマーの世界でも同じ事が言えるわけです。そんな中どうしたらトップ2割のプログラマーの方に入れるのかを未経験の時から考えておかなければ結局なんとなく過ごしてしまい、10年後後悔してしまうことになりかねません。
現に私が働いてる会社の30代の先輩が「20代の時になんとなく過ごしてしまったから後悔している。もちろん、なりたい人物像はあったけどその人物像がフワフワしていたからハッキリさせておくべきだった」とおっしゃっていました。ここで言えることは、なんとなく過ごしてしまったらやっぱり後悔することが多いんだなと感じたと同時に自分の中でしっかりと目的と目標を定めなければなんとなく過ごしてしまう原因になってしまうんだなと思ったところです。
実際に自分でサービスを作った方が圧倒的に成長できる
これは自分でも実感していることなのですが、自分で何かサービスを作りながら学んでいったほうが圧倒的に早く成長できます。もともと、プログラミングというものは何かを作るための手段でしかありません。プログラミングを学ぶことを目的にしていては本末転倒です。なので何か作りたいサービスがある人は実際に作りながら学んでいったほうが絶対に良いと思っています。例えばですが、野球が出来るようになりたいと思っている人がまともにキャッチボールや素振りをせずにずっと野球のルールブックを読んでいるだけではいつまでたっても成長できません。そんなことをするよりもルールをある程度覚えたら真っ先にキャッチボールや素振りを行ったほうが圧倒的に成長できるので早く実践した方が得策でしょう。
自分で作成しながら分からないところは調べて解決したり、逆に上手くプログラミングを書くことができたときには「嬉しい!」という気持ちや、「楽しい!」といった気持ちが芽生えてきたりするのでモノをゼロから作る楽しさを実感できるでしょう。
かといっていきなり作ろうと思っても右も左も分からないと思うので初心者向けのプログラミング学習サービスを使って少し学んでみたり、本を使って学ぶと全体像が見えてくるので最初はそっちから学習していったほうが良いかもしれません。プログラミング学習サービスは、Progate や ドットインストール が初心者向きでオススメです。そして、本はこちらが分かりやすくてオススメです。
焦らず、コードを1行1行理解すること
「早くプログラマーになりたい!」という気持ちが先行してしまい自分のポートフォリオを制作することを最優先にしてしまっている人が多いように思います。もちろんそれはそれで素晴らしい意気込みなのですが、コードの1行1行を理解していないと意味がありません。分からない所があればGoogleで調べてコードを真似るとおもうのですが、そのままコピペするのではなく、1文字1文字自分の手で打ってみてそのコードの意味を理解することが長期的に見ると大事なのです。
めんどくさくてもコードを1文字1文字書いていかないと、いざ会社で仕事を任された時に自分の手が止まってしまいます。もちろん、そうなった場合はGoogleで調べればいいのですが意味も分からずにコードのコピペをしていてはいつまでたってもそのループから抜け出せることができません。例えコードの書き方を完全に覚えていなくとも理解だけしておけばたくさんのことを吸収しやすくなります。そして、今まで点と点になっていたものが線と線になって繋がってきたりします。実際、そんな地味な作業が大事で、繰り返しコードを書いていく内に、に勝手に覚え、素晴らしいコードが書けるようになり、自然と仕事が楽しくなっていくでしょう。理解して、自分でコーディングして、ちゃんと機能することが分かった瞬間の嬉しさはなんともいえない嬉しさです。
プライドを捨てて誰かに頼る能力を身につけること
プログラミングを学習する際は必ず自発的に勉強していることが大事です。これはどこに行ってもそうなのですが、自発的に楽しく行っている人とそうでない方だと圧倒的に差が開いてしまいます。もちろん未経験の方でも実際にやり始めて「面白くないな〜」と感じたならばやめてもいいと思いますし、「面白いな〜」と感じたならばそのまま続けて行ったほうが良いでしょう。
しかし、かならずどこかで壁にぶつかります。どうしても自分だけでは解決出来ない所が出てくるでしょう。そんな時に周りに一人でも教えてくれる人がいないと正直、やっていけません。もちろん、一人で自発的に解決していくぞ!という気持ちはすごく大事なのですが何時間も解決できない問題をそのままほったらかしにしておくほどもったいないことはないので、必ず自分のメンターを見つけておくことが大事です。
実際、誰かに頼る能力はかなり大事なことです。変なプライドが邪魔をして自分の成長を妨げてしまうことが多いからです。分からないことは一瞬の恥ですが、知らないことは一生の恥になってしまうので変なプライドを捨てて自分が分からないことを認めて素直に誰かに頼りましょう。
最後に
IT業界に憧れてプログラミングを学ぼうとする方は本当に最近多いなと感じています。ですが、プログラミングは分かるようになると本当に面白いです。自分で作ったサービスが実際に動いた瞬間の嬉しさは、何ものにも代えがたい嬉しさです。最初は分からなくて苦しいなと思うときもあるかもしれませんが、プログラミングが楽しいなという気持ちがあれば必ずやっていけます。そんな気持ちを抱きながら世の中に素晴らしいサービスを僕自身も作っていけたらなと思っています。