プログラマ35才限界説について

現在42才。あと何年かはプログラマでいるつもりでいる。
自分や同僚がプログラマとしてこの先生きのこるには、を考えることが多くなった。

問1についての考察

年齢を重ねることでできなくなることの候補として
(1) 体力の衰え
(2) 吸収能力の衰え
(3) 好奇心の衰え
(1)について、健康の維持は若い頃には聞き流すトピックだが、最近はヘルシープログラマが出版されたりして認知度は上がっていると思う。
大前提としては徹夜が必要な現場では働かないこと。あとは筋トレとかスポーツがんばる。
私の場合は30才で周りに体を壊す人が出てきて、これはまずいと思って近所のテニススクールに通い始めた。有料だと行かないともったいない気持ちになるのと、時間が決まっているので生活リズムをそれに合わせざるを得ず、習慣化しやすい。
プログラマでよく聞くのはマラソン、自転車、ボルダリング。会社で部活化してもいい。
(2)については、素養があるものに関しては差分の知識だけでいいので、若者より有利な部分が多少ある。新しいパラダイムはなかなか身につかなくてつらい。
自分は(A)1年1プラットフォーム、(B)苦手なことに挑戦する、というのをゆるくやってみている。プラットフォームは最近だとnode.jsとRailsAndroidをさわっていて、こういうのはやってるのか、くらいには追いつけている。たぶん。苦手なものはSICPとか競技プログラミングとか数学とか英語とか。得意まで行かないが好きにはなった。
(3)についてはよくわからない。新しいものを純粋に楽しもうという気持ちが減衰しているのか、経験により既視感が増えているのか、どっちもな感じはする。ただ加山雄三さんのように還暦を過ぎてもゲームに熱中している人もいるので、私がApple Watchに興味がないのも年齢のせいではないと思いたい。

問2についての考察

そういう予想もあるが、よくわからない。
究極的な状態として真にプログラマが不要になったとしたら、ほとんどの単純労働は自動化されているはずで、そのような社会では労働に価値はなく、時間の潰し方が最大の関心事になるだろう。
実際のところ社会の変化はゆっくりなので、10年やそこらでみんながプログラミングできるようになるとは思えないし、現状の商慣行や給与水準などからみても、コードが書けることで特別な給料がもらえることもないだろう。
いずれにせよ、技術を取捨選択して人間が使いやすいシステムを試行錯誤して構築する、というような類いの仕事は、自動化しづらく当面はなくならないように思える。

問3についての考察

たぶん価値を生み出すプログラマが良いプログラマだと思う。例えば、
(1) 必要な機能を追加し、不要な機能を削って価値を上げる
(2) 設定した目標を効率的・効果的に達成してコストを下げる
プログラミングというよりはエンジニアリングかも。いずれにせよ、より良いものを、より早く完成させること。ユーザーに使ってもらわないと価値はゼロなので、完成力とリリース力が大事。
ベテランはマネジメントせよとなるわけだけど、個人的には、人よりも開発対象にフォーカスしたい。仕事を均等に配分することよりも、重要な箇所を見つけて集中することに力を注ぎたい。
違う側面として、
(A) 仕事でコードを書くことを楽しめる
(B) チームで開発するのを楽しめる
(C) 新しいものごとに適応するのを楽しめる
と職業としての寿命が長くなると思う。楽しくないことも多々あるので、時には真面目に考えすぎないのもあり。
できる、と、楽しい、には相関があり、できるようになると楽しくなるし、それには学習の習慣化が必要、というのが定説になっていると思う。自分に向いた学習方法を見つけられると幸せ。

その他・健康について

そもそもなぜこれを書いたかというと、ちょっと前に親を介護して看取ったのだけど、そのときに大事なのはQuality of Lifeだと思った。あと、人生は短いので、やろうと思ったことは思い立ったときにやればいいし、「これをしたほうがいい」はおおむねうざいわけだけど、言った方がいいと思ったことは躊躇しても無駄だと思い、最近はちょっとだけ周りに言うようにしている。
QoLはおおむね健康で、健康には心の健康と体の健康があるけれども、体を壊すと心の健康も維持できなかったり、技術的なスキルのミスマッチなどでもやはり健康を損なったりする。
健康のためには、適度な刺激(ストレス)があったほうがいいという気がしている。例えばお金をもらっているので仕事に行かないととか、お金を払ったのでレッスンに行かないととか、プログラマは英語ができないと、みたいな義務感とか焦燥感とか使命感のようなもの。過度だと体を壊すし、全くないと、「できる→楽しい」のループに入れない。この辺は個人ごとのバランスになる。居心地のいい場所を見つけたい。
果たして私はこの先生きのこれるのでしょうか?
Happy Hacking!