What To Give Up
来年の目標などについて考えつつ、まとまった量のコードを書きたいなあとぼんやり思う。
あ、愚痴なんでそっと読み飛ばしてね。
自分の大きな行動指針は生涯被雇用可能性の最大化である。いや最大化は嘘だな。可能性を十分に大きく保つこと、という方が正しい。それなりに稼がないといけない事実を踏まえると、今は十分に大きくない。
時代遅れかつ偏りのある身なので、現代的なメインストリーム技術への追従が喫緊の課題。一番大きいのは ML だけれども、クラウドとかのサーバ側も期待値がないとはいえさすがに足りてない。本職なはずのモバイルについても期待値を満たせていない。
けれど追従にばかり時間を使っていると他に何もできない。
これを作ったといえるソフトウェアを、自分は持っていない。仕事で中心的な活躍をしているなら、その仕事の成果を自分の成果に数えてもよいと思う。会社員プログラマの王道とも言える。しかし自分はちょう下っ端。チームの成果を名に冠するのはあまりに詐欺っぽい。レジュメの方便にはともかく自分がそれを信じられない。更に悪いことに、自分が仕事で発揮するインパクトはチームをうつるたびに小さくなっている。今のチームに長くいたところでより大きな仕事ができる気もしない。
それは実力の現れなので仕方ないのだが、結果として自分を代表するコードというものが存在しないのは悲しい。別に a billion users とか state of the art とかじゃくてよいのだよ。ただ「これが自分の実力」と言える何かがほしいだけで。
仕事がだめなら仕事の外で何か書こうじゃないの、と思っても先の追従作業が邪魔をする。
追従作業はそれ自体は何も生み出さない。追従作業と何か書くプロジェクトを被せることもできない。端的にいうと自分が ML 絡みでなんか作ろうと思ったところでゴミしかできないし、より現実的には何も完成しない。これは過去に体験済である。
モバイルはもう少しマシかもしれない。でも全部をつっこんで作りたいアプリとか、別にないんだよね。あんまし興味ないのと、それ以上に自分が規模のあるまともなアプリを E2E で作れる気がしていない。完成しないとは思わないけれど、ゴミができるとは思う。これも過去に体験済である。もっかいやってみろという話もあるが。
やはり自分の経験は技能と照らし合わせ、できると思える主観的な確率が 50% くらいないと厳しい。ML は 1%, モバイルは 20% くらいしかない。クラウドを絡めたサーバサイド主体の何かだと、そのあいだの 5% くらいだろうか。自分が 50% くらいできると思えるプロジェクトは古臭い題材ばかり。
そうした古臭い題材のプロジェクトはけれど、やれば楽しいし満足すると思う。成功の見込みは、主観で 50% だから現実にはその半分くらいでまあ失敗するだろう。でも趣味のコードなんて完成しなくてもそこそこ達成感はある。
ただその対価としてまた 1, 2, 3 年と時代との距離ができてしまう。ただでさえ時代遅れなのに、その追い打ちは高くつきすぎやしないか。運良くなにか満足いく成果が出たとしてもダメージはでかいし、失敗した日には何も残らない。しかも失敗しがち。
自分の「追従作業」がもたらす未来も、特段明るいわけではない。ML にキャッチアップすると言ったってすごく基本的なことをできるようになるのがせいぜい。現実に ML エンジニアになれるわけではないし、より遠回しな形で仕事が ML に近づける見込みすら、さして高くない。せいぜい仕事で手伝っているシステムの奥の方にあるブラックボックスの暗闇に、ちょっとだけ目を慣らせるというだけ。必要なことだと思うけれどもエキサイティングではない。
古臭い趣味プロジェクトを楽しんで雇用を危機に晒すか、届くことがないであろう将来への距離を空しく縮め続けるか。そんな二択。というか現実的には後者一択。
ヒット作を連続する超スタープログラマを別とすると、多くの「名を冠する」コードは書き手のキャリアが一番明るいときに書かれているように見える。そんな時期があったとして、自分は何をしていたのだろう。わかんない。どうでもいいブログを書いたりしてたのだろう。今だって時間ないとかいいつつ Podcast をやっているわけで、自分の名を関しているのはそうしたコンテンツやメディアであってコードではないのだろうな。
これは我が体を表していると思うし現状として受け入れているけれども、この先もずっとそうなのかと思うとだいぶ悲しい。
年末だからと将来のことを考えると暗くなりがち。程々にして、また目先のことに気を取られつつ暮らしていきたい。