プログラミングとデザイン、スタートアップの話

プログラミングやデザイン、スタートアップ関連についての雑記

プログラミングを勉強するときに完璧主義は挫折し、サボれる人がエンジニアになれる

プログラミングを初めて勉強する人は完璧主義は捨てよう

f:id:harv-tech:20180806193431j:plain

ヒカキン氏がYoutuberについてこんなことを言っていました。

消える人:週1頻度で、時間をかけて凝った動画を配信する人
消えずに第一線でやれる人:動画1本の質が低くても、毎日続ける人

これをプログラミングの勉強に置き換えると

挫折する人:完璧主義で、わからない所を全部理解しようと頑張りすぎる人
エンジニアになれる人:わからないところがあっても、毎日続ける人(=うまくサボれる人)

と言い換えることができます。

完璧主義だとプログラミングの勉強の途中で挫折しちゃいます。

逆にすこし理解が曖昧な所があっても毎日続けられる人はエンジニアになれる可能性が高いです(=うまくサボれる人)。

プログラミングは学習コストが高く、「わからない」「難しい」と感じる場面に遭遇します。それも頻繁に。

完璧主義の人は「わからないこと残すのはよくない!」と考えて、100%理解しきろうとします。

最初から全部完璧に理解しようとすると、1歩1歩立ち止まって調べることになり、めちゃくちゃ時間がかかります。

その結果どうなるか。「プログラミングって大変だ...」と思うようになり、どこかでプツッと手が止まってしまうんですね。

どんなことでも、大変だと思えば思うほど人間はその作業から遠ざかります。

「今日はちょっと休憩しよう...」という勉強のお休みが徐々に増えていって、気づけば1ヶ月ぶりの勉強だったみたいなことに...。

英語の勉強でも同じですよね。知らない単語に出会ったら一度手を止めて辞書を引くことを繰り返すより、一旦スルーして全体を理解するように努力した方が学習効率が良いと言われています。

プログラミングも同様です。全て完璧にやろうとするよりも、「んーちょっとよくわからないなあ」ということがあってもあまり気にせず、ひとまず先に進めて継続して毎日やることが大切です。

わからなかった所は期間を置いてから改めて考えよう

f:id:harv-tech:20180806193606j:plain

完璧主義になるのは良くないですが、わからない問題を放置することもよくありません。

わからない問題は、一旦期間を空けてみてもう一度理解に向けて取り組んでみましょう。

プログラミングのあるあるですが、一晩寝て起きたらなんてことない問題だったということがよくあります。

「わからねー」とどツボにハマると思考が鈍くなって負のループに陥りがちなんですが、ちょっとリフレッシュするとさらっと解決できたりするんですよね。

「わからない問題はその場で考え込みすぎず、期間を空けてもう一度考えてみる」これがプログラミングを継続して勉強してエンジニアになるコツです。

一人で考えすぎない。助けを求めよう

f:id:harv-tech:20180806193706j:plain

エンジニアとして入社すると先輩からよく言われるのは「15分自分で考えてわからなかったら人に聞く」ということです。

「なんでこれ思い通りに動かないんだーー!」とあれこれやってると1時間経っていたり、下手したら3時間くらい格闘していることもよくあります。

このような場合には先輩エンジニアの手助けを使ったほうが100%効率よく勉強ができます

とはいえ誰に聞いたらいいんだという問題はありますよね。

「誰に聞いたらいいんだ問題」に関しては個人的にはまだパーフェクトな解決策が無いとは思っているのですが、現状だと初心者エンジニアのためのSlackコミュニティやMENTAのようなメンター探しサービス等が使えますね。

それかプログラミングスクールも1つの解決策ですね。スクール費用がかかるというデメリットはあるものの確実に質問がすぐ解決できるという安心感と学習速度UPのための投資という面では良い選択肢だと思います

プログラミングスクールについてはこちらの記事が参考になります。

harv-tech.hatenablog.com

毎日コードを書くことを最優先で考えよう

プログラミングの勉強においてもっとも大切なことは「毎日継続してコードを書く」ということ。

30分でも1時間でもいいから、続けることが大事です。

1日でも2日でも間が空くと、「あれ...これ何書いてたんだっけ?」となってしまったり、前に学習したことを忘れてしまいます。

ちょっと勉強に疲れたら復習をするなりして頭を切り替えてみるのも1つの手。

「コードを書く」ことが当たり前の毎日にすれば、だんだんプログラミングに慣れてきて、勉強するのが楽しくなってきます。

楽しくコードを書こう

プログラミングを勉強しているときにありがちなのは、いつの間にか勉強自体が目的になってしまっていること。

勉強が目的になると楽しさは半減してしまいます。

勉強を目的にせず、プロダクトを作ること・エンジニアになることが目的だということを覚えておきましょう

多少わからないところがあっても、自分が作ってみたいと思ったアプリが動いたときの感動や喜びを楽しもう。

「楽しい!嬉しい!」と思えれば、わからない所を調べるのも苦ではなくなります。

ちょっとくらい雑でもいいので、毎日コードに触れて、プログラミングを継続してやっていくということに取り組んでみてください。

そうすれば途中で挫折することはなく、エンジニアとしてプロダクトを開発できるようになるはずです。