こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
以前以下のようなツイートをしました。
プログラミングの勉強はどんどんつまづいてもいい。
最初から全部やろうとする必要はない。
学校の勉強じゃないから均等にまんべんなくやるのではなく、出来そうなことからやってみる。
そうすると難しいと思ってた場所が一気に簡単になることがあります。
一つ突破するとどんどん楽しくなります。
— もんしょー@週4時短webエンジニア (@sima199407) 2019年11月6日
プログラミングの勉強はどんどんつまづいてもいい。
最初から全部やろうとする必要はない。
学校の勉強じゃないから均等にまんべんなくやるのではなく、出来そうなことからやってみる。
そうすると難しいと思ってた場所が一気に簡単になることがあります。
一つ突破するとどんどん楽しくなります。
これについてもう少し詳しく解説していきます!
動画でも解説してます
なぜプログラミング学習につまづいてしまうのか
一つ目、プログラミング学習でつまづいてしまう訳についてです。
これには二つの理由があると思います。
一つ目、得体の知れないものと考えてすごくハードルを高く感じてしまうです。プログラミグって日常の中でなかなか見る機会も勉強するまではなかったと思います。なので、どういったものなのかと把握しきれていないってところがあると思います。
実際は、プログラミング言語と言われるので、言語なんです。文法とかがあって、単語があって、形としてプログラミングが動作していきます。
言語と思えば、ある程度、形があるんだなと思えれば、ハードルとしては下がると僕は思います。
二つ目、エラーが出ることです。
このエラーというのがちょっとやっかいなところかなと僕は思います。
例えば、先ほど言語と言いましたが英語だと文法とか単語とかが分からなくても、ある程度通じるってことがあると思います。
しかし、プログラミングの場合、きっちり型が決まっていて、それに合わない・間違えるとエラーが出ます。
そこが大変なところだと思います。プログラミングだとエラーも英文だったりします。英語が苦手だなと思う人だと引いてしまう可能性もあると思います。
けれど、その英文をよくよく見るとそんな大したこと書いてなかったりします。
例えば、syntax error って書いてあったら、syntaxってなんやって思います。これは、文法エラーって意味なんですけども、こういった単語とかを何回もエラーが出ると覚えていくわけです。
なので、何度も触れていってエラーなんだろうなって思っていたのが、検索とかしていくと、こういう意味なんだと何回も何回も繰り返していくと覚えていきます。そうしてエラーという障壁はなくなっていきます。何度も触れるというのがポイントです。
過去の失敗談
二つ目、僕の失敗談です。
僕は数えきれないくらいの失敗とか挫折しそうな時は結構ありました。
例えば、プログラミングの勉強始めた時は、「例外処理ってなんだ?」とかよく分からずにコマンドを叩いてしまうとか、これって結構やばいことなんですが笑
よく分からずコマンド叩いてしまうってのは、それで大惨事になってしまうっていうケースもあると思うんですけどもよく分からず打っていたこともあります。
あと、データの型とかよく分からなかったです。1は1じゃん、1なのになんで文字で扱ってんのとかそういったことを結構あったり思ったりしていました。
何個かエラーをメモったりとかこういったことだろと蓄積していくうちに、ある程度解決出来るようになりました。
今、エンジニア三年目くらいで、ある程度処理は出来るんですけどもやっぱりつまづくことはあります。
新しいことやっていったりとか、これどうやってやるんだっけかな?と考えることは結構あります。
よくある間違いとして、五年とか十年、もっと僕よりも熟練したエンジニアさんって、間違わずにすらすらと出来んじゃないのって思われるかもしれないんですけども、実際は、そんなことはなくてエラーなどのそういったとことは出てきます。
ただ、積み重ねた知識があるので、処理のスピードがめちゃくちゃ早いんですよ。これだったらこれねって、パターン化されたりします。
ただ、そこのスピードが熟練と駆け出しの違いだと僕は思います。
いろいろみんな失敗して生きているので、失敗したから俺プログラミング向いてないやって思うんじゃなくて、「こういうもんだろ」と思い、まずはいろいろ調べてみたり、ある程度エラーを見ていかないと、進まないんだなってことを思えば、割と気持ち的には楽になると僕は思います。
うまく学習する方法とは?
三つ目、うまく学習する方法とはについてです。
エラーとか出た時に地道に検索したりだとか、解決方法が出来たらメモしていくことだと思います。本当にこれって地道なんです、地道なんですけども、効率的ともいえないですが、地道にストックを積み上げていくことが、自分の知識となって後々の解決するってなった時に、処理するスピードにもつながってきます。
最初は、地道に地道に検索とかしていって、時間を使ってやっていくことが大事になってくると僕は思います。
独学でやろうとスクールでやろうと関係なく、知識をメモしていくってところが大事になってくるので、スクールだから教えてもらえるからいいやって思うんじゃなくて、自分でも調べてみるっていうことも結構プログラミングの学習では重要なポイントです。
時に遠回りをしたっていい
ちょっとここでですね。色々挫折しない方法とか、考えてきたんですが、プログラミングは嫌だと、他の方法に行きたいと、逃げ出したくなる時、そういう時は、一回逃げ出しても
いいんじゃないかと僕的のアドバイスですけども。
なぜこんなことを言うと、もうちょっと頑張ってみようよとか、応援みたいなメッセージもあるかと思うんですけども、自分にあってるものって最初は分からないと思うんですよ。
例えば、Webデザインの方が好きなのかもしれないし、マーケティングよりなWebマーケティングの方が好きなのかもしれないし、あってるかもしれない、というとことはもちろんあると思います。
どれをやるかは個人の選択なので、自分があっているものを試していって最終的にもしWebエンジニアだったらエンジニアとして勉強すれば良い。
それなら、一周回ってきてこれだなって言っているから、ある程度、本気度は以前よりあるはずです。
だから、一回全部見てきて、これだなって思ってちゃんと自分で選択したら、割とやる気とかモチベーション的なところは上がってくると僕は思います。
まとめ
一つ目、プログラミングの最大の壁は、エラー解決です。エラー解決がすんなりできるようになると、できるエンジニアになってくると僕は思います。
二つ目、ベテランの人でもエラーと戦っているんだなってことを覚えていてほしい。蓄積された知識とかはあるんですけども、エラーは出てしまうものと考えた方が、気持ち的な面ですごく楽になると思います。
三つ目、一つ一つ地道な作業を進めていく。本当にこれです。一つずつやっていきましょうってよく言われそうな言葉なんですけども、本当にこれがプログラミングで結構大事なところです。
一つずつ重ねていくっていうこと、分からない知識でも調べていって、「あ、こういうことなんだ、覚えたわ」って思えるくらい勉強していきます。
もちろん、大変かもしれないんですけども、こういったところをやっていくと自分の力につながっていきます。
今回のまとめです。
・プログラミングの最大の壁
・ベテランの人でもエラーと戦っているんだなということを覚えておく
・一つ一つ地道な作業を進めていく。