なんか、ふとプログラマー35歳定年説について書きたくなった。で、外部環境のことをうだうだ書いても何の改善にもつながらないので、自分で何とかできそうな部分に焦点を当ててみたい。
知らない領域に踏み込めるか
ホームに引きこもると進歩しない
プログラミングをやっていれば、これまでの積み重ねで得たスキルが必ずある。だから、自分の知っている範囲、というものができる。この範囲内に収まることというのは、安心感があるから快適なのだ。
ただ、自分が既に出きることをやっているだけというのは、成長という観点からみると停滞だろう。片や、世間や周り(特に後輩のエンジニア)は新しい技術スキルを身につけていくので、相対的に価値がどんどん下がることになる。
プログラマーとして生きていきたいなら、目指すべきは周囲よりも相対的に、技術力をどんどん上げていかなければ。それが売り物なのだから。
不快な領域に踏み込む
知らないことを始めるというのは、なかなかに不快なことだ。いきなり仕事として求められれば不安だろうし、単なる学習であっても分からないことだらけでげんなりする。しかし、ここに踏み込める人はどんどん技術の幅を広げていく。幅が広がると、実は既に知っている技術に関する深さも得ることができる。
35歳を越えても尚、価値の高い技術力を持ち続ける人は、未知の不快な領域への踏み込み方を知っているのだと思う。やり方を知っているというのは、不快感を軽減するのに役立つ。自分なりの「知らない領域への踏み込み方」を見つけて、繰り返し実践した方がいい。
個人的には、ありきたりだが、まずは簡単なサンプルを実際に動かしてみることから始めると良いように思う。
そういえば名著「達人プログラマー」に、毎年新しい言語を覚えなさい的なことが書いてあったと思う。達人ですら、そうなのだ。そうでない人にとっては尚更だ。ホームに引きこもったまま、プログラマーとしての成長に必要なことをやってないんじゃ、そりゃ年齢と共にその技術力が必要とされなくなるのは当たり前だ。
多くの機会を得るための日常のありかた
いくら技術力を高めても、それを活かす機会がなければ、プログラマーとして食べていくことはできないだろう。たぶん、この辺は運なんじゃないかと思う。ただ、誰でも手にすることができる運かもしれない。
運をつかんだり、より多くの機会を得るために大切なのは、日常だ。何が機会につながるか事前に知ることはできない。でも、日常において高い技術力を示していれば、直接関わった人達の記憶に残るだろう。運や機会は人づてにやって来るものだと思うので、多くの人に良い記憶を残すことは、恐らく多くの機会を引き寄せることに繋がる。
日々研鑽して技術力を高めつつ、そこに貢献のエッセンスを加えて丁寧に活動していれば、それを見ている人は必ずいると思う。
成功している人をモデルにする
最後に思うのは、成功していない人(ここでは35歳を越えてプログラマーとして活躍できなかった人)をキャリアのモデルにしていることが多そうだ、ということ。
いまプログラマーをやっているほとんどの人は、どこかの会社に属して働いていることだろうと思う。そこで周りにいる先輩・上司は、どういうキャリアを進んでいるだろうか。大抵、リーダーになり、マネージャーになり、管理職になっていく*1。その会社で成功したいなら、それはとても参考になるものだと思うけど、プログラマーとして成功したいなら、別のモデルを見つけなければならない。
今はいい世の中だ。既にプログラマーとして成功している人、あるいは成功しつつある人を容易に見つけることができる。
例えば、Rubyのまつもとゆきひろさんや、Seasarのid:higayasuoさんなど。あるいはまだ35歳を超えていないだろうけど、プログラマーとして目立った活躍をしている人はたくさんいる。id:amachangさんが管理職になっていく姿なんて、想像できない*2。彼らの多くは、自身のブログを持っているから、どういう考えを持っているのかを知る機会もたくさんある。イベントに参加するのが好きな人も多いので、直接会って問うこともできるんじゃないだろうか。
あるいは「はてな」界隈にはプログラマーとして食っている人も多そうだから、人力検索で成功している人を探すのもありかもしれない。
まぁ、いずれにせよ、プログラマーとして成功したいなら、プログラマーとして成功している人のエッセンスを取り入れるのはやってみても損はない。ゼロから成功するのは大変だ。既に成功している人の真似をして、そっから更に自分なりのやり方を上乗せした方がいいだろう。