プログラミングの楽しさは「ゾーンに入ること、フロー状態になること」ではないだろうか
こんにちは。最近プログラミングに時間を割くことが多いのですが、時々プログラミングの楽しさってなんだろうと考えることがあります。
今は学生をしているのですが、IT系のエンジニアとして働いていた時は「プログラミングって面白い?」「ずっとパソコンに向かっていて仕事は楽しいの?」とよく質問されたことがあります。その際は「自分で何かを作っている感覚が楽しい。」と答えていたのですが、あまり自信のない答えでした。また、こういう質問を受けると「そもそもプログラミングって自分に合っているのかな」「他の仕事の方が楽しいのかも..」と自身で考えこんでしまうときもありました。
確かにwebサイトを作っているときは、少しずつ自分の力でwebサイトを作っていく感覚が「楽しい」と思えたのですが、かといって休日を1日中プログラミングに割けるほど楽しい訳ではありませんでした。よくエンジニアは休日も勉強しなさいと言われますが、私にとってはなかなかモチベーションとの戦いでした。(今は多少ましになりました..笑)特に仕事でプログラミングをしているとなると「休日はプライベートなんだからプログラミングはちょっと...」と思ってしまい、それと戦う日々でした。
そんなことを考えると、プログラミングが上達するようになるには、「プログラミングの勉強量を増やすこと」よりも「プログラミング自体を好きになって楽しさを見出すこと」の方が大事という結論にいつも至ります。楽しいと感じることであれば自動的に作業量が増えて上達するからです。
じゃあプログラミングが楽しいと感じる理由は何だろうかと考えると、その理由の1つは「ゾーンに入ること、フロー状態になること」ではないかと思います。プログラミングをしていると時々、極度に集中した状態になることがあります。周りの音が一切気にかからず、ただコードを書くことに集中している状態です。これはスポーツなどでよく言われる「ゾーンに入る」、または心理学用語(?)の「フロー状態」です。この状態になっているときは明らかにいつもより早いスピードでコードが書けています。また、このゾーン状態で取り組んだ後は、頭がスッキリして達成感があります。この点では禅や瞑想の集中する感じに近いのかもしれません。
また下記の記事でも、プログラミングとフロー状態について触れられています。
プログラマにとって、プログラミングはフロー状態に入りやすい仕事だと言える。フロー状態で仕事をしていると、プログラマは幸せや楽しさを感じることができる。それがまた高い生産性に繋がる。
この記事の方が仰っている通りなのですが、ゾーンに入っている時、フロー状態でプログラミングに集中しているときが「プログラミングが楽しい!」ときなんだと思います。たしかに自分もこの状態になった時は、コードがすらすら書けて、その後「今日はけっこう進んだな〜」という達成感とともに楽しさを感じます。
なので「なんでプログラミングをしているんだろう」とか「私はエンジニアという職種でいいのだろうか..? 他の仕事が合っているんじゃないだろうか..?」と深刻に自問自答してしまう時は、プログラミングで何かを作り出すことに答えを見出すことも大事ですが、プログラミング自体がもたらす楽しさに答えを見出すのもありなのかなと思います。その楽しさの1つがゾーンに入ること、フロー状態になることです。
また私はこのゾーンに入るために、難しすぎず簡単すぎないものから手をつけるようにしています。簡単なことですが多少は効果ありです。適切な難易度のものに取り組めたときは、すぐに集中力が増すのでおすすめです。
以上です!
この記事が気に入ったらサポートをしてみませんか?