ユーニックス総合研究所

  • home
  • archives
  • programming-pain

プログラミングが苦痛なときに思い出すこと3つ

プログラミングが苦痛でもういやだ

私は今でこそ個人Web開発者というプログラミングを行う仕事についていますが、最初にプログラミングをはじめたころは、プログラミングが苦痛で仕方ありませんでした。
思い出すのはそう20歳のときにC言語をはじめたあの時。

C言語の文法がまったくわからず、ろくに覚えられない。エラーばかり出て前に進まない。

ああ、いやだ、わたすは才能がないんだ……。

今現在、プログラミングの勉強をしているあなたは、もしかしたら同じ心境かもしれません。
そんな時に思い出してほしいことを3つ書きたいと思います。
それは

  • 相手はパソコンである
  • 苦痛は成長痛である
  • 慣れれば楽しくなっていく

↑の3つです。

プログラミングが嫌になってきたら↑の3つを思い出してください。
プログラミングは苦痛である。それはなぜか?
それはまず第1に、相手がパソコンだからです。

相手はパソコンである

会話の相手は人間、ボクシングの相手は人間、ではプログラミングの相手はだれでしょうか?
プログラミングの相手はパソコンです。
これはどういうことなんでしょうか? 考えてみたことがありますか?

私は思うんですが、人間とパソコンの違いは「あいまいさ」と「情」にあると思います。

人間は多少あいまいでも理解してくれます。
たとえば「リンゴ取って」と言わずに「取って」と言えば、相手はなんとなくリンゴのことだと察してリンゴを手に取ってくれるかもしれません。
これは人間が空気を察してくれたり、相手の気を汲んでくれる生き物だからです。

しかしパソコンはどうでしょうか? パソコンはあいまいさを捨てています。
「取って」と言われたパソコンは「どれのことだよぉ!」とキラキラと輝くエラーを盛大に吐き出します。
そこに空気とか、相手の気持ちを察するとかはありません。

パソコンはキーボードやマイクやカメラなどの入力機器からの入力を、事務的に処理するだけです。
そこに「情」はあるのでしょうか?
たとえばパソコンを相手にする人間が疲れてきたら、「少し休憩する?」と言ってくれるパソコンはありますか?
いまのところそんなパソコンはありません。

しかし人間は、疲れてきた相手を気づかって声をかけてくれるかもしれません。
疲れているあなたにお茶を出してくれたり、肩を揉んでくれるかもしれません。
しかしパソコンは基本的にそんなことはしてくれません。いまのところ

そのうちAIが進歩したら、もしかしたら相手のことを気づかってくれるパソコンが現れてくるかもしれません。
人間が長時間パソコンで作業を続けていたら、

🦝 < おいおい、相棒。ちょっと根を詰め過ぎじゃねーか?

🐭 < 旦那、その辺にしてちょっと休憩したらどーだい

なんて、優しい音声で声をかけてくれるかもしれません。
女性だったら

🦝 < ねぇあなた。ちょっとパソコンを使いすぎてるわ

🐭 < そうよ。ちょっと休憩してアイスティーでも飲みましょう

なんて風に声をかけてくれるかもしれません。
しかし、今のところパソコンはそんなことをしてくれません

パソコンを相手にするということ

プログラミングでパソコンを相手にするということは、そういった情が欠落している相手を相手にするのと同じです。
そこに愛情はなく、あるのは事務的な結果だけです。

私たちは人間です。ですから日頃から人間を相手にして暮らしています。
しかしプログラミングになると、その相手は人間からパソコンになるわけです。
電源とCPUとメモリとハードディスクを積んだ、マッシーンです。

パソコンは人間のように振る舞ってくれません。ですから、パソコンの出力内容を見て、ガッカリしないようにすることが大事です。
相手はパソコンなんです。そのことを思い出してください。

苦痛は成長痛である

苦痛とはなんでしょうか? 痛み、傷、ネガティブな思想。
そこにポジティブな意味はあるのでしょうか?
痛み以外の上昇的思考がその中には含まれているのでしょうか。

私が思う痛みのポジティブな要素とは、苦痛は成長痛であるということです。
成長痛とは、成長にともなう苦痛です。
成長を実感するための苦痛です。

子供の時を思い出してください。背が伸びる年ごろになって、成長痛に苦しんだ経験はありませんか?
プログラミングでもそういった成長痛は起こるものです。

あなたがプログラミングで苦痛を感じている時、それはあなたが成長している証です

人は自分の能力以上のことを行うと苦痛を感じます。
それはストレスであり、負の感情です。
いま、向かっている問題に対して取り組むというモチベーションが下がり、別の楽しいことをしたくなってきます。

プログラミングなんてほっぽりだして、映画を見たりスポーツをしたり、ゲームをやったりしたい!
そういう感情が沸き起こってきます。
それは逃避でしょうか? いいえ、私は思うにそれが逃避だとしても、その逃避は苦痛の中の一部です。
逃避は苦痛を和らげるための対処療法と言えます。

痛みを感じっぱなしになっていたら、いつか身体が壊れてしまいます。
苦痛とうまく付き合う時のコツは、現在の苦痛の量を把握し、その量によって自分の状態を変えることです。
苦痛の量が少なかったら、つづけて苦痛を感じる仕事に没頭し、苦痛が大きくなってきたら、休みをいれて苦痛を和らげます。

苦痛はシグナル、信号です。
あなたが苦痛を感じる。それはあなたが成長しているという信号です。
その苦痛の積み重ねによって、気づけばあなたはとてつもない大きな成長を遂げられるようになるのです。

プログラミングが苦痛? いいじゃないですか。苦痛、大いに結構。
むしろもっと苦痛を感じて、成長してください。苦痛を浴びて、つらくなったらしっかり休んで、再び苦痛と言う刺激を受ける。
身体が苦痛を受け止め、成長する。精神も成長し、大きくなっていく。それはすべて苦痛のなせるわざです。

苦痛は成長痛です。それはつらいものですが、あなたを次のステップに羽ばたかせる燃料と言えます。
苦痛を感じない人は成長しません。あなたが苦痛を感じるということは、あなたがしっかりと成長しているということです。

苦痛、おおいにけっこう。どんとこい。

慣れれば楽しくなっていく

プログラミングの苦痛ですが、私もたくさん感じてきました。
私は日常的にプログラミングをやっている人種ですが、苦痛と言う成長痛はたくさん感じてきました。
それは今でも続いています。プログラミングで苦痛を感じるというのは、実はあたりまえのことなのです。

プログラミングを続けることによる物理的な身体の痛み。
問題がとけないことによる精神的な苦痛。ストレス、悩み。
それらはネガティブなものです。苦痛は苦痛です。それ以外のなにものでもありません。

ではなぜ、その苦痛を感じていられるのか?
それは私たちプログラマーがその苦痛に慣れてしまっているからです

これがプログラミングを勉強中の人と、職業的にプログラミングをやっている人の大きな違いです。
たとえばエラー解決を考えてみましょう。
文法エラーです。

100行ぐらいのコードのなかに、間違いがあります。あなたはそれを見つけて修正しなければいけません。
しかしそれは苦痛に感じます。つまらない。嫌だ、やりたくない。
ここでこの苦痛に慣れているプログラマーは、そういった感情が沸き起こってきても、とりあえず脇に置いておくことが出来ます。

苦痛に面と向かって対峙するのではなく、苦痛を自分の横にそっと置いておくのです。
これが苦痛に慣れるということです。
苦痛は面と向かってあつかうと、すぐにその鋭い牙を向いてきます。プログラマーは経験的にそのことを知っています。

苦痛と対等にやりあうのは危険です。ですからお茶を飲んだり、休憩を入れたりして、苦痛をわきに避けます。
こうして苦痛をだましだましかわしながら、エラーを解決していきます。

エラーを解決すると、あるのは達成感です。この達成感は苦痛が大きければ大きいほど、見返りが大きくなります。
つまり、痛みを感じていれば感じるほど、問題が解決したときの快楽が強くなるのです。
プログラミングに熱中するプログラマーの多くは、この快楽を欲しています。

苦痛は慣れです。そして慣れれば、苦痛をいなすことができるようになります。さらに苦痛を感じたぶん、問題を解決したときの快楽が強くなります。
これが苦痛に慣れるということです。

おわりに

プログラミングの苦痛に向き合うときに思い出してほしいことは↓の3つでした。

  • 相手はパソコンである
  • 苦痛は成長痛である
  • 慣れれば楽しくなっていく

あなたが苦痛を感じるとき、それは仕方のないことです。なぜなら相手はパソコンだからです。
しかし、苦痛とはあなたを成長させる実感であり、成長痛です。
そして苦痛に慣れればやがてそれは快楽に変わってきます。

ぜひプログラミングの苦痛とうまく向き合えるようになってみてください。
そうすればあなたは飛躍的に成長できると思います。

🦝 < 苦痛はブースター

🐭 < 快楽と言う宇宙に繋がる