こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
以前に以下のようなツイートをしました。
大抵のことは、やり始めて最初の2週間がツライです。8割くらいはここでリタイアしてしまう。
逆に2週間頑張ればトップ20%くらいにはなれるのでそこまでご褒美釣ってもいいし、やりたいことを解放してもいい。
その後のことは考えずにまず少しづつ継続できる力をつけることが必要ですね。
— もんしょー@フルリモートエンジニア|YouTube登録者200人突破 (@sima199407) December 16, 2019
大抵のことは、やり始めて最初の2週間がツライです。8割くらいはここでリタイアしてしまう。
逆に2週間頑張ればトップ20%くらいにはなれるのでそこまでご褒美釣ってもいいし、やりたいことを解放してもいい。
その後のことは考えずにまず少しづつ継続できる力をつけることが必要ですね。
これについてもう少し詳しく解説していきます!
動画でも解説してます
結論から申しますと、細く長くやるべきです。
よくプログラミングの勉強で質問を頂きまして、
「プログラミングの勉強は中々続かない」
「最初の3日、5日ぐらいは頑張れるのだけど後はしんどいです」
みたいな感じで結構質問来たりします。
こういった意見もあるのですが僕も結構挫折した身としては、どうやったら続ければいいかと結構工夫してきました。
そういったところを今回シェアしていきます。
学習をやめてしまう理由
ポイント1つ目、学習をやめてしまう理由についてです。
プログラミング学習は第一にモチベーションが続かないところが1つ問題にあると思います。
1人で勉強するという時、分からないことがあったら「ググったり」して結構調べたりすると思います。
しかし調べてもやっぱり中々良い答えが見つからず、時には遠回りしてしまうとか結構あるのです。
そういったことが繰り返されると、
「自分には向いてないな」
「そんなに時間ないし。。」
みたいな感じで学習を止めてしまうということが結構あるのです。
モチベーション管理よりも「疲労」を考える
これはやっぱりモチベーションの維持というところでそう思ってしまうかと思うのですが、これには疲労というところが関係しているのです。
プログラミングの勉強中、コードを書くとか調べたりとかするじゃないですか。
その間は結構夢中になってやるんです。
そうなると気づかない間に脳が結構疲れていて
「疲れてるのになぁ」
「もう少しあと少しやれば頑張れるな」
「もう少しやれば何か解決できそうだなぁ」
と思って少し頑張ってしまうのです。
休憩のとりかたを決める
その状態だと段々脳にも疲労が蓄積されていって、以下のようになります。
1.その状態で何か色々調べる
2.頭が働いてないので中々見つからない
3.集中もできない
4.結果→「もう向いてない!」と判断する
というように負のスパイラルに陥っていきます。
そんなときは休憩はガッツり取るのがよくて、僕としては30分作業したら10分ぐらいは休憩を取った方がいいかなと思っています。
休みを定期的にいれることによって疲労の蓄積をなるべき軽減するという効果があるのでこの方法はオススメです。
作業の効率が落ちたなと思う前に少し休憩を入れていく、これを徹底していくというのが1つポイントになってきます。
プログラミングは休憩のタイミングが大事
ポイント2つ目、プログラミングは休憩のタイミングが大事についてです。
どのタイミングで休憩すればいいのか、これ結構重要になってきます。
先に言っておくと個人差があったりするので、必ずしもこのタイミングというところはないのです。
自分の中であと2、3分とかもう少し時間をずらしたら、もしかしたらいいかなというので少しずつ調整して自分で決めていくというところが大事になってくると思います。
疲れる前に休む
大事なポイントは疲れを感じる前に休むっていうことなのです。
何故かというと回復のスピードが違うからです。
ひん死状態のところから全回復するよりもかすり傷のところから回復して行った方がやっぱり回復のスピードが速くなるのでなるべく少し疲れて「これやばいなぁ」という前に休む。予防の感じでやっていくのは凄くいいと思います。
ポドモーロテクニックを利用する
こういったお話すると「ポドモーロテクニック」、例えば「25分やって5分休みましょう」というパターンに近いかなという感じがあります。
僕はちょっと時間をずらしておりまして、20分やったら10分休むって本当に2対1な感じでやっています。
休み時間長いと思われる方が結構いるかなと思うんですけども、毎日続けていくと疲れがたまってきやすいんですね、25分やって5分だと。なので休みの時間を長くして少しでも継続して仕事できるようにと思って20分の10分でやってます。
自分のタイミングを見つける
これ人それぞれのところがあって自分でやってみて、30分やってから10分休みとかでもいいよとか、25分の5分の方が好きかなと思ったらそれでもいいと思います。
休みの感覚っていうのは、コンスタントに取っておくところが、ポイントになってきますので是非試して欲しいと思います。
挫折したときの話
ポイント3つ目、自身が挫折したときの話についてです。
プログラミングでやっぱり何度か挫折したことがありましてその対処法というか、どういった状況だったのかというところを少しお話して行こうと思います。
長くなるかもしれないですが、僕の体験談を2つお話します。
1.プログラミング習いたての頃
1つ目は、大学2年生の終わりから1年間休学していた時にプログラミングを始めました。
本当にエンジニアなり立ての頃で、プログラミングスクールに通って「プログラムはこういうことなのか」と勉強していました。
スクール期間が終わって何かプロダクトを作ってからインターンに行こうと思ってて、プロダクトをいざ作ろうと思ってパソコンの前にいったのです。
そしたら全然作れないです。
「やべぇ」「全然分かんない」と、それもそのはずだとその時思ったんです。
やっぱりカリキュラムだけをこなしても分からないこと全然あって、ゼロから何かを作るとかすごい難しいと感じました。
スクールのように「これやってからこうすればこうなるから」という道筋がないわけで、自分で何か始めようと思った時に
「これすげー難しいな。。」
「プログラミングって難しいな。。」
と思ったのが1つ目の挫折です。
スクール出身という過信
プログラミングスクールに行ったからもうできるだろうと自分の中で過信していた部分がありました。そのギャップがあったから挫折したというところはあると思います。
その時、全然できないと思っていればこんなもんだろうと思って、挫折っていう気持ちの精神的なダメージはなかったかなと思っています。
それでプログラミングに大きな壁を感じてしまって手を動かすことを止めたのです。
一旦、プログラミングをやめる
普通だったら「何クソ!」とか思って調べて頑張ってみようかって思うんですけども、ギャップが凄く激しかったということもあって、「プログラミングはもう無理!」と言う感じで現実逃避しました。
僕向いてないかなと思ってプログラミングはセンスだとか自分を正当化したものです。
その期間は英語の勉強をしたりとか、日商簿記の資格の勉強をしたりとか色々やってました。
逃げたことが役に立った
半年近くコードを書いていない期間があって、その後にプログラミングを触ろうかなと思って触ってみました。
「センスがない」とか「俺できない」というネガティブなイメージというものが無くなってて、薄れていたというか忘れていたというか、そういうことがあってもう一度やろうかなと思いました。
そこから一度逃げたことによって、
「プログラミングがこういうことだったのか!」
「出来ないから出来ないなりに頑張ろうかな」
とか思ったりして、1回離れたことによってやる気を取り戻したという部分もあります。
何とか頑張ってやろうとか精神論みたいなことではなく、離れてみてこれ結構面白かったんだなともう一度再確認をするというのが大事なポイントだと思います。
https://simablog.net/before-programming-school/
2.長期インターンの頃
2つ目の挫折は、長期インターン時代の時です。
これも暗黒と言えば暗黒みたいな時代だったのですけどもプログラミングスクール通いましてちょっと離れた時期あってプロダクトを作ってインターンで採用してもらって行きました。
失敗:スキルありの同期と比べてしまう
その時に僕を含めて3人同期みたいな人がいて、他の2人を紹介すると1人は地方国立大の情報系にいる人でもう1人は情報系専門学生でした。
このゴリゴリの奴らと未経験の俺みたいな、スタート時点で負けてる状態で、若干最初の頃でマウントとられるような感じで「これ分かんないの?」みたいな感じを言われることもあったんですが、それらを回避しながら仕事していました。
インフラ?工事でもするんですか?
最初に僕がやった業務はサーバーサイドとかフロントを作るとかそういったところでもなくてインフラ業務でした。
サーバとか扱う業務で初めて本当にやることが多すぎて、そんなのプログラミングスクールでやってないよと自分の心の中で思っていたのですけど、色々勉強できたかと思います。
夜遅くまで残って毎回心折れながらなんとかやっていました。
しかし本当に心折れてもう挫折して辞めようかと思った時期も何回かありましたね。
心折れた時にみつけた改善ポイント
その時にふと思ったのが、プログラミングを勉強しに来ているわけでもなく、「この会社が楽しいから働いてんだ」というメンタル的なチェンジをしたわけです。
そうすると、「プログラミングできないとかやばいな。。。」と思うことの考えを少し取り除いてプラスの部分も見えてくると、
「社会人の経験も積める」
「この会社結構楽しいな!」
とか色々自分の中で正当化したところあると思います。
それでもいいと思うし、おかげで先輩とかに結構よくしてもらったりとかして、少しずつ慣れてくると仕事も覚えてきます。
だんだんプラス転換していった
そうなると仕事が分かって「こういうことか!」とか先輩とコミュニケーションとったりとかしてプログラミングに少し触れて仕事は楽しいといった感じに思う経験はできたと思います。
プログラミングが出来ないからエンジニアを辞めようといった感覚も勿論あるんですけども、仕事が楽しいとか、気持ちが楽だというところも結構大事な部分になってくると思います。
そこが1つのプライオリティというか優先度であってその後にエンジニアリングというのがある。
注意:無理する必要はない
これも1つのモチベーションの保ち方というところもあるので、もし、このプログラミングできないとか仕事が全然できないと思っても、
僕のように周りの人が良ければ仕事を続けてみようかなという気持ちにもなるのでそういった考え方というのも有りかなと思います。
やっぱり向いていないと思ったら1回やめてみるというのは賛成できる部分もあって、時間を置いて無理して続けることは無いと思います。
その後にまたやってみようと思ったらやってみるのも1つかなと思います。
まとめ
1つ目、脳の疲れは感じにくいから注意!
脳は頑張れてしまうので、作業効率落ちて来たけどもうちょっともうちょっとやればと言う感じで無理してしまうというパターンあるので注意してください。
2つ目、疲れを感じる前に休む!
コンスタントに休みを取って行きましょう。
3つ目、プログラミングから離れてみるのもアリ!
挫折しそうだなと思ったら、考え方を変えてみたりとか離れてみるとか、そういったことをやると意外とプログラミングが出来ると思います。
https://simablog.net/kakedashi-engineer-just-do-it/
今回のまとめです。
・脳の疲れは感じにくいから注意
・疲れを感じる前に休む
・プログラミングから離れてみるのもアリ