始めに
こんにちは、まんじです。
今回はプログラミングやってて楽しいと思える(ような)気がするシーンについて書いていきたいと思います。
個人的にはプログラミング作業自体はつまらないか普通ぐらいな感情に区分されるんですけど、たまに楽しいと感じるときがあるのでそこらへんを気合いで列挙してみます。
プログラミングで仕事してて楽しい・・・と思う(錯覚している)のはここらへんです。
- できるか分からない実装がなんかできたとき
- ハマってたエラーを抜けたとき
- フロー(集中状態)に入ってるとき
- ちゃっちゃと実装してマージされたとき
- 周りから頼りにされてる感とかが感じられるとき
- 数ヶ月スパンで振り返ってみたときに実力の向上を感じるとき
- 収入が上がった時
個人的には作業に集中できてるときはプログラミング作業自体がまあまあ楽しいような錯覚をすることが多いですけど・・・どうなんだろう・・・。
あとはプログラミングを頑張ることによって資本主義での生きやすさが向上したと感じられる時は楽しいというよりかは嬉しいと感じることは多かったです。
資本主義での生きやすさが向上したってのは、フルリモートでそこそこ高い収入で働けたり、エンジニアとしてのスキルがそれなりに世間的に見ると高くなってきたって状態のことです。
今回は楽しいと錯覚しているシーンについてあーだこーだと語っていきたいと思います。
1個目: できるか分からない実装がなんかできたとき
1個目が、できるかできないか分からんぐらいの実装を終えたときは結構楽しいように感じることが多いです。
楽しいというか、満足感というか、達成感というか、開放感みたいな感じです。
プログラミングで仕事してると「なにこれどうやるんだよ」的な実装を任されたりすることが2年仕事でやっててもちょいちょいあるんですけど、そこを突破した時はやっぱり嬉しみとかが多少なりあります。
イメージ的には少し重い数学の問題を解ききった時の感覚に近くて、楽しさの区分としては、、、すごい地味な楽しさって感じ。
遊びに行ったりする時に出る「ウェイ!!!W」みたいなやつじゃなくて、静かな達成感、、、みたいな。
心の中で「よ〜し」みたく叫びがち。
すごく地味な楽しさです。インキャが加速します。
あとは量が多い重い実装を抜け切ったときとか締切ギリギリで実装しきった時とかも楽しいというか達成感を感じることが多いです。
このできるかできないかぐらいのことをやるときに人間は興奮するだかやりがいを感じるだかなんだかってのがAtomic habitsの本に書いてあった気がしますけど、まあそんな感じはします。
あと、できるかできないかぐらいが最もパフォーマンスでるというか、+1mmの成長っぽい何かを自分の中で感じることが多いです。
ここはなんとも言えないところなんですけど、できるかできないかぐらいの実装とか、ちょっときつい実装とかをやった時のほうがエンジニアとしての能力っぽい部分が上がる感じはしています。(つらいんだけど…)
2個目: ハマってたエラーを抜けたとき
2個目がマゾな感じなんですけど、仕事中にエラーとか実装できなくてハマると究極につらくなるんですけど、そこを抜けたときはクソ楽しいというか嬉しい気持ちになります。
「ヨッシャ」ってよりかは、「ウウウウッシャアアアア」って自分は1人部屋で言うことが多いです。やべえやつ。
感覚としては負の感情を強く味わいまくっててそれがニュートラルな状態に戻って喜ぶてきな、、、マゾヒストな喜びです。
トイレ我慢しまくってからトイレすると最高の爽快感を味わえるのと同じ原理です。
ただ最近は昔よりもハマりまくる時間がChatGPT大先生のおかげもあってかなり減りました。
昔とかは多少のタイポがあって「ぬおおおおおおお」ってしてたのが、そこらへんはとりあえずChatGPTにつっこめば勝手に探してくれるんで、エラーにハマってそれを抜ける数というか達成感みたいなものは減ったように感じます。
自分でもエラーとかハマりの原因は考えるけど、とりあえずChatGPTにもつっこむと大体それっぽい何かが出てくるので、本当に楽になりました。
まあとはいえ、、、根本的なエラーのトラブルシューティング力みたいな部分はChatGPTだけだとやっぱり無理ぽよなので、あくまで補助ツールでしかないのは間違いないです。
例えば、「最新のブランチ取り込んだらどっかのcommitのmigrationがミスっててサーバー起動しなくなった」とかのケースの時にエラー文読んで原因絞り込んで邪魔commitをrevertして通常通り開発作業を進めるみたいな作業ってAIにつっこんでるだけだとできないんで、あくまでAIはまだ補助ツールって感じ。
3個目: フロー(集中状態)に入ってるとき
3個目が集中できてるときですナ。
プログラミングで仕事しるとまあまあたまに集中できるんですけど、その時は結構キマることが多いです。
言語化するのが難しくて、、、「無」の状態で手が勝手に動き続けて実装を進めまくってるとき、、、って感じです。
脳みその中で「あれとあれをこうしてあっちのidからこっちを引っこ抜いてmapにして〜」みたく脳のリソースがそういう思考だけになると、なんていうか気持ちいというか、いわゆるフローに入りがちです。
時間感覚が歪むというか、時間がゆっくり感じるけど、時間が早く進んでて、かつ達成感がある、、、てきな状態です。
少し複雑な箇所はフロントエンドでもバックエンドでも脳になんかいろいろ展開して考える必要があるんで、そういうときにこの状態になりがちカナーと思います。
あと、集中できてると仕事時間が長いとかは全く感じなくなります。
セブンでバイトしてた頃は「まだ8時か…時計見ないようにして品出ししよ…」とか思ってましたけど、エンジニアで仕事してると「ぬおおお、あと3時間しかねえええええ」みたいな逆な感じ。
4個目: ちゃっちゃと実装してマージされたとき
4個目が、ちゃっちゃと実装なり修正なりをしてマージされる(マージする)ときカナーと思ってます。
簡単なゲームをクリアした感覚に似ていて、ゲームとかって別にそれ自体に価値はないけど、クリアしたり珍しいポケモンをゲットしたりすると達成感があると思われるんですけど、それに近いです。
この紫色のMergedか緑色のチェックマークを見ると心が落ち着くというか、すごく気持ちい感情になることが多いです。
完全にパブロフの犬です。
5個目: 周りから頼りにされてる感とかが感じられるとき
5個目が、プログラミング自体の楽しさではないんですけど、周りから頼りにしてる感とかが得られたとき、とか、リスペクトが得られてるときとかです。
これはコンビニバイトですらそういう感情になるのが人間っていう生き物な気がするんですけど、エンジニアとかしてても周りから頼りにされると地味に嬉しい気持ちになることが多いです。
「まんじさんならこの実装これぐらいで終えるぞ!」とか言われると「おうおう、やってやんよ」みたいな感情になってポジティブな気持ちがわいてきたりします。
楽しいというよりかは、人間的な承認欲求とかが満たされているような感覚です。
結構しょうもなく見えるものの、何気に大事というか、何気にメンタルヘルス向上に役立つように思えます。
インターンしてた頃と正社員でエンジニアしてた頃はリスペクトされずに上からいじめられることばかりでしたけど、フリーランスになってからは一定のリスペクト感を得られるようになりました。
6個目: 数ヶ月スパンで振り返ってみたときに実力の向上を感じるとき
6個目が、定期的に振り返ってみると「あれ?おれめっちゃできるようになってるんでね?」感を感じられるときにプログラミングが楽しいように思えたりします。
「3ヶ月前は実装できるか不安で仕方なかったけど、今はほぼ全部読めるし、なんでもばっちこいや!!!」みたいな感覚です。
自分はエンジニアでインターンしてた頃の駆け出しシーズンの時とかに振り返ってみたときにおれめっちゃできるようになってるじゃん感をよく感じていました。
フリーランスになってからも感じるっちゃ感じるんですけど、昔よりは成長具合とかはゆるやかになっているのは思うところです。
というよりも、「やってんだからできるようになって当たり前だろ」っていうやってりゃ伸びる感に対して慣れが発生してきます。
良く言えば自信がついてきたとも言えるし、悪く言えば多少分からないやつを調べて実装していくことがコンフォートゾーンの中に入ってきたとも言えます。
最近は普通というか、ぶっちゃけそこまで技術力が伸びてないのと、技術力向上っぽいことに対しての意欲やモチベがないので技術力の伸びを実感して喜ぶ機会は減ってきました。
2年ぐらい仕事でやってるとプログラミングは作業ゲーってことが分かってくるのと、技術力を高めてプログラミングで仕事すること自体のスキームの限界(せいぜい年収1000万円ぐらいを労働して稼ぎ続けるのって微妙じゃね?)を感じ始めているところです。
ただ、、、仕事して全く成長がなかったバイトの頃とかよりは、やっぱりエンジニアで日々専門性を高めてる感じのほうが振り返ってみた時の満足感というか自己肯定感は高くなりがちかなと思っています。
7個目: 収入が上がった時
プログラミング自体が楽しいというか、プログラミングをやることによって楽しい(嬉しい)感情が出るのが、収入が上がった時です。
収入が上がったタイミングは振り返ってみるとここらへんです。
- インターンでプログラミングでお金を稼ぎ始めた時(時給1200円)
- インターンで稼働してて時給が上がった時(時給1400円)
- インターンから正社員になった時(年収410万円)
- ニートからフリーランスエンジニアになった時(税込時給3000円)
- フリーランスエンジニアで稼働してて時給が上がった時(税抜時給4000円)
収入が増えると単純に嬉しいというか、入ってくるお金も増えたし、自分の時間はこれぐらいで売れるんだ〜って嬉しい感情が発生することが多かったように思えます。
プログラミング自体の楽しさではないけど、外に出ないで家でパソコンの前でシコシコして時給4000円とか稼げるのって冷静に考えるとすごくね?みたいな。
まとめ
個人的には集中できてゲームっぽく敵を倒す感覚がプログラミングで仕事してる時に強いて言うなら楽しいところかなって思ってます。
それ以外の部分(技術的な成長ができる!とか)は、個人的にはそこまで楽しいと思っていないカナーってところです。
人それぞれ楽しいと感じるところは違うので一概に言えないんですけど、なんだかんだで集中して実装してスッキリするみたいなのはプログラミングで仕事してる人みんなに共通してる気がします。
自分はプログラミングで仕事するのは別に楽しいってわけじゃないですけど、くそつまらすぎて無理ってわけでもないという絶妙なところにいます。
終わりなので、よければ他の記事もぜひ読んでチョ。