2021.11.30追記: この3ヶ月後にうつ病で会社を休職して1年半コードがかけなくなった.

プログラミングがつまらない. 人生、行き詰まった感がある. ブログもあまり書いてない.

そこで、今日はプログラミングの楽しさを集めてみて、 そこからプログラミングの楽しさを演繹的に導いてみよう.

そして、そこから自分の NextAction を考えてみる.

情報源

プログラミングの喜びとは

以下の5つにまとめられる.

  • 創造: Create
  • 解決: Solve
  • 成長: Grow
  • 動作: Move
  • 奉仕: Serve

創造の喜び

創り出す. それは、ワクワクする, 楽しいものだ. 自分のアイデアを、動作するコードとして実現できる.

なにかをつくることに夢中になり、時間を忘れて没頭する. 人は夢中でなにかを作り上げている時に、幸せになれる.

また、それは、自分だけのもの.オリジナルな作品, マスターピース.

解決の喜び

問題を解決したときの喜び.

バグや不具合の原因調査をして、解決できたときはうれしい. 難しい論理を考えて、実装できたときはうれしい.

数学の問題が解けたような気分. 頭の中が晴れ渡るような、いわゆる Aha 体験が味わえる.

成長の喜び

学生のときの勉強と違って、プログラミングの勉強は実務に直結する. 数学や国語と違って、今日学んだことが、明日の仕事に役立つ. 知識は力なり. 学んだことを仕事で応用できると思うと、やる気が出る.

また、知識と知識がつながって、新しい発見をする. わからないことが、わかるようになる. 新しい世界が開ける. 過去の自分よりもスマートなプログラムがかけるようになる. これらはとてもうれしい.

動作の喜び

プログラムは、つくったものが目の前で動作する. フィードバックがすぐに得られるところが魅力.

自動化された処理が連続して、流れていくのを見るのは快感だ.

奉仕の喜び

つくったプログラムは、他人に利用してもらうことで、 他人の役に立つことができる. 人々に幸福と感動を与えることだってできるかもしれない.

誰かに喜んでもらえる、これってうれしいことだ.

つまらない

次に、プログラミングがつまらない原因を考えてみた.

仕事がつまらない

平日、休日、時間があるときは、努めてプログラミングの勉強に時間を 割いてきた. しかし、仕事ではもう4ヶ月もプログラミングをさせてくれない.

今日、ようやくプログラミングの仕事が与えられた. 1メソッド1000行のうんコードのテストコードを書く作業. テスト通るわけなく挫折感だけ味わう.これで気が滅入った.

こんな作業をするために、自分は、プログラミングの勉強をしてきたのだろうか? 現実は、破綻した工程のなかでうんコードを生み出す自由しかない。

勉強がつまらない

つまらない、その理由は、理解できないから.

ここ数ヶ月、いろんな本を読んでは挫折し続けてきた. 自分の理解力のなさをいやというほど痛感した. 自分は、頭が悪い.

薄く浅く、いろんな知識に触れてきたものの、 自分の血肉となっている知識が見つからない. 薄い知識はやがて時間とともに忘れてしまう. 虚しさだけが残る.

自分への処方箋

ここからどうするか?

プログラマをやめちまうという選択肢もあるが、 もう少しだけ頑張ってみたい. 自分の可能性を捨てたくない.

アプリケーションをつくり公開する

自分のアイデアを実現するアプリケーションをつくろう.おもちゃをつくろう. そして、そのアプリを公開して、みんなに使ってもらいたい.

平易な本をしっかり理解する

挫折感をあじ合わない程度の本に挑戦して、読み切ろう. 達成感と自信が、今の自分には必要だ.