プログラミング 最大の解決方法は寝ること?

  • URLをコピーしました!

こんにちは、みるちゃ(@milcha_on)です!!

エンジニアやプログラミングが趣味の学生が一度は経験したことがあると思いますが、何時間かけても解決しないプログラムのバグが、諦めて次の日の朝やると数分で解決できる現象。

エンジニアあるあるかもしれませんが、何故この現象が起きるのか解説していきたいと思います。

目次

そもそもプログラミングってどういう作業なのか

よくドラマや映画で「ヘッドホン」をつけてプログラムを組んでいる人がいますが、あれは「今は話しかけないでサイン」だということを耳にします。

あれって頭の中でチェスや将棋又はオセロをしているようなものだと思っています。「どうやって駒を置いたら勝てるか?」とか「ここに駒置いたら相手に取られて負ける」とか「さっきどういう順番で駒置いたっけ?」とか。

思考の海底に潜っているので、その時に声をかけてはいけないんですよね。もっと身近な例では暗算してる時にランダムな数字を横から言い出してからかう時に似ています。

なのでプログラミングは「命令文を用いて論理的にシステムを組み上げていく作業」なわけです。

何故寝ると次の日には問題が解決するのか

人間の思考には、抽象的な思考と具体的な思考の2種類あると思っています。これはカメラや双眼鏡などのズームインとピンチアウトに似ていると考えています。

経験したことがあるかもしれませんが、「車の鍵がない!どこにあるか知らない?」「いや、目の前にあるじゃん」という物を探していて、結局自分の目の前にあったみたいな状況です。

何故自分が見える範囲にあり、見えてるはずなのに言われるまで気づかなかったのか?これが思考のズームインとピンチアウトだと個人的に思っています。

気づかなかった理由としては、

  • ピンチアウトしすぎてて気づかなかった
  • ズームインしすぎてて視界の外にあるものに気づかなかった

ピンチアウトしても細かいものには気づかないし、ズームインし過ぎてても視界の外のものには気づかないと言うことで、プログラミングにもこれと似たようなものだと感じています。

1つのエラーに対して考えているうちに脳がピンチアウト出来ず、エラーが永遠に解決できないという負のスパイラルに陥ります。

ここで寝て次の日の朝にまたエラーに立ち向かうと、数分で解決するという現象が起きるのだと思います。結局脳は使い過ぎるとパフォーマンスが落ちるので、寝てリセットすることが大切です。

寝る以外の解決策

他の解決策として家事をするだったり、ウォーキングやサウナに入るでも同じように解決することが多いです。特に散歩やサウナは脳の血流が良くなるので、頭がスッキリして問題を解決できるようになります。

つまり、1点に集中するのではなく、たまには他に注意を逸らして頭をリセットしてあげることで問題を解決することができます。

20分〜30分解決できなかったら、洗い物や洗濯、ウォーキングなど他のことをすることで時間を無駄にせず、問題を解決することができます。

よかったらシェアしてね!
  • URLをコピーしました!
目次