RandomThoughts

RandomThoughts

40代のプログラマ目標

Contents:
  1. 代表的なアウトプットとは
  2. 40代という区切りと考え
  3. 仕事に対するスタンス

自分の30代はセミリタイアして趣味を中心に過ごした(厳密には31歳からだが)。 日々は楽しいもので多くのやりたかった事もやれた一方で、 自分のなした事の少なさに不満もあった。 また、やってみたかった事をいろいろやって、一定の満足も得たので、次は違うスタイルでもいいかな、と思い始めた。

そこで40代は、プログラマ人生の代表的なアウトプットと呼べるようなものに挑戦したい、と思っている。

関連: 40代の働き方のスタイル

代表的なアウトプットとは

代表的なアウトプットというのが何かはそこまで決めていないが、 プログラマとして自分を自己紹介する時に、「XXをした人」と言われるXXとなるような事で、 自分がそれに納得出来るようなものがいいな、と思っている。

30代は自分はLayerPaintを(共同で)作った、というのと、Androidの本を書いた、くらいしか無いと思う。 機械学習の仕事とかそれなりにしてたし、そのほかやった仕事はいくつかあるが、プログラマとして他人に告げるようなアウトプットは無い。

LayerPaintは自分たちのアプリどうこうでは無くAndroidのペン付きデバイス市場が来なかったという点でしょぼい結果になってしまった。 それなりに真面目にやったとはいえ、30代はこれ、と言うなら、もうちょっといろいろ注ぎ込みたかった

Androidの本はまぁあんなもんか、と思える結果にはなったと思う。 ただ自分のプログラマとしての代表的な成果が本ってのはかっこ悪いなぁ、とも思う。 やはりプログラムで何かをなして、本を書くというのが正しい順番と思っているので。

自分の代表的なアウトプットと思えるためには、プログラムであれば

  • 自分の作った範囲がそれなりに大きい(少人数開発)
  • 多くの人に知られていて、凄いと思えるようなソフトウェア

であって欲しいなぁ、と思う。

皆が使う大規模ソフトウェアの一部に携わる、 みたいなのも代表的な成果たりえるとは思うのだが、自分が40代でやりたいのはそういう事では無さそう。

もっとこう、全部自分ひとりじゃなくていいんだけど、所有というかオーナーシップというか、 自分らのもの、と仲間と思える数人で感じるようなものであって欲しい。

今はそれなりの規模のソフトウェアを考えて動いているが、 dplyrみたいな大きな影響を与える小さなもの、とかでも良いような気はしているし、 すごく多くの人がやるプログラム教材みたいなのが作れたらそれでも良いと思えるかもしれない。 カーン・アカデミー的な物語のような。 大きなソフトウェアである必要は無いかもなぁ、とは思っている。

ただ、30代は割と思いついた小物アプリとか作っていて、いいものも作れたと思っているが、 そういうものが代表的な何かになる事はなかなか無いな、とも感じている。 今は仕事という形態で、チームの向く方向を揃えて力を注ぐ、というのを使う方がいいんじゃないかと思っていて、 仕事をアウトプットのメインにしようと思っている。 これは40代どうこうというよりは今そう思っているというだけだが。

あと、プログラマ的な実力が感じるようなものであって欲しいかなぁ、とは思っている。 これはそこまで重要な事では無いとも思うが、ここまでプログラムに多くの時間を捧げてきたのだから、 その甲斐あるようなものが代表であって欲しいと思う。 簡単な問題を難しく解きたいとは思わないけれど、 アイデア勝負で難しさはないものに挑みたいとは思っていない。

40代という区切りと考え

40代という区切り自体にそれほど大きな意味は無い。例えば49歳までに何かをやらないといけなくて、51歳になっては駄目だ、とは思っていないし、48歳でチャレンジが終わりになったとしても無理して残り2年もなにかをやろうとは思わない。

ただ、普通は代表的な成果というのは20代の後半から30代くらいに出すものなんじゃないかなぁ、という気はしている。 けれど自分は30代はあまりそういう事に時間を使わなかったので、40代にやってみるか、と思っている感じ。

王道的な大きな成果を出す為に困難を乗り越える、みたいなのは、60歳で出来る気はあまりしていない。 50代は正直良くわからない。 ただ40代は、若い頃思っていたよりは普通にチャレンジ出来るな、とは思っている。 そう思える時期はいつまでなのかは良くわからないのだけれど、そんなに長くは無いかもしれないなぁ、 と思っていて、とりあえず40代くらいだと思ってやってみよう、と考えている。

また、60歳までずっと同じ事を続けたい、とはあまり思っていない。どこかで区切りをつけて違う事をやりたい。 そういう訳で、その区切りを暫定的に40代として考えよう、と思っている。 50代以降はまた違う事やりたいなぁ。

で、40代という区切りで考えると使える期間は10年。 それなりに大きなプロダクトを作ろうと思えば、2〜3回くらいの機会がせいぜいだろう。 一つ作るのに3年とすれば3回、しかもそんなすぐにこれと思えるものが見つかるものでも無いので、探している期間とかも入れると2回くらいかもしれない、と思っている。

実際40代の前半は一つのチャレンジで終わりそう。 ただ多少50代の前半にはみ出てもいい気もするので3回目もやれるかもしれない。 ただそのくらいの回数と思って、一回一回のチャレンジの重みを考えたい。

仕事に対するスタンス

あまり経済的に働かなくてはいけない理由は無いので、目標に沿わない仕事を我慢してやる理由は無い。 それは会社の方針と自分の方針を無理に合わせる必要が無いという事でもある。

一方で会社とか仕事というシステムの持つ力を活用したいとは思っていて、それにはある程度の協調性というか歩み寄りは必要とも思っている。 あくまで自分の目標にとって必要な妥協はする、という話で、この妥協の幅は標準的な社会人よりはずっと狭いと思う。 特に目標と沿ってない事に惰性で時間を無駄にするような事はしないように気をつけたい。

また、他人だけじゃなくて自分も仕事というシステムの持つ力を活用したいと持っている。 具体的には長い期間飽きずに力を集中させて物を作り上げるのに使いたい。 その為には給料を使っていって働く意義を感情に納得させていこうと思っている。 これは40代の働き方のスタイルにも関わる事だけれど、使う為には時間も必要だし、それなりの給料も必要と思っている。 どう使うかはまだまだ手探りだけれど、仕事を続けていこうと思えるような使い方を探求していきたい。

失敗のリスクはそれなりに上げていきたいとも思っている。 失敗してしまえば少ない機会の一回を無駄に消費することにはなる訳だけれど 「普通にソフトウェアの開発をしリリースしました、自分以外のステークホルダーは満足しています、ちゃんちゃん」みたいなのは全く目指すものでは無い。 他人を手伝って感謝される、みたいな仕事をしないように気をつけたい。

例えばグデグデな開発組織を立て直してちゃんとリリースする、みたいな事に人生を浪費しないようにしたい。