この先生きのこるために(2)

前回の記事の続きです。

さて、面白い記事を書くとは宣言したものの、今のところの部分に面白さがあったとすればそれは完全に私以外の部分なので、いい加減に続き書こうと思います。

「いかにしてプロのプログラマであり続けられるか」問題

前振りとして聞いていたのは「日本のプログラマの中でもトップクラスの人に技術者としての人生について語っていただくのでいろいろ聞くといいよ」ということだったので、「どうやったら一生現役プログラマでいられますか(要約)」ということを聞こうと思っていたら本編の内容が完全にそれでした。フリーディスカッションでの質問予定はあっさりと1つ消えることとなりました。というわけで非常にためになった・目的意識を持って聞けたのは言うまでもなく、今後何をするべきかということを考えるいいきっかけになりました。

現時点では私はプログラマのプロフェッショナルになりたい・でありたいというのが率直な考えです。これはだいたい(対象とする分野に関しては逡巡や紆余曲折があったものの)大学の学部時代から基本的に一貫しています。その上で、社会人経験のある方と話をして気がかりだったこととして、(私が情報科学コンピュータサイエンスの道にいることを知った上で)「IT業界はやめておけ」というIT業界人が多かったことと、「プログラマ35歳定年説」とそれに関連して「SEとして就職してもそのうち管理職になることを見据えたスキルをつけるべき(要約)」というような話が多くされていたことでした。その一方でTwitterで技術情報を発信し続けてるプログラマの人たちは(若干の境遇に対する愚痴こそあれど)プログラマという職業や技術の勉強を軽んじることは全くしていないように見えて、このようにあるためにはどうすればいいのかと考えるようになりました。

そのために就職活動の際に考えた軸の一つとしては「カジュアルにコンピュータの話ができる」「業務以外でもプログラミングをしている人が多い、その話をする人がいる」「プログラマとしてのキャリアパスが想定できる」「外部の勉強会で会社の名前を出して発表できる」みたいなことを考えました。とはいえそんなたいそうなことを考えていたわけではないですが、これは別エントリに譲ることとしましょう。

そして今回のt_wadaさん講演の中で「話す」「渦を作る」ということがあったように、「外部の勉強会で発表する」ということはプログラマであり続けるためには非常に重要なことだと思いました。ブログやTwitterで発信し続けている人たちはそうすることによって技術情報を共有し切磋琢磨するとともに、自分の得意分野をアピールすることができてそれによって仕事やオファーが舞い込んでくる、というよいスパイラルを形成できているように思いました。

そして新人研修のための講演でありながら、プログラマでありつづけるためには、またより面白い仕事が見つかった場合には転職することも選択肢である、という話を何度も強調されていたのが印象的でした。Twitterで有名な技術クラスタの人たちの多くに共通することとして、特に会社に縛られているように感じないことがあって、一方で「ITはやめておけ」という人たちや「管理職にならなきゃ」という人たちほど所属している会社というものに強く縛られているように感じました。

年下から学べなければ死ぬ

同様に強く印象に残ったのがこれ。

正直なところ、プログラマとしての能力にある程度の自信はある一方で、中学2年生程度の実力しか持っていないのではないかという実感もあります。研究がうまくいかなかったことは置いておいても、私よりも遥かにすごいものを作っている中高生なんて山ほどいます。10歳上の「兼業プログラマ」には負ける気がしない一方で、10歳下の高校生のほうが恐ろしい。その一方で、 @snskさんの同講演録 にもあるような「螺旋」を俯瞰できるほどの経験アドバンテージは私にはない。こうなった以上、プライドは邪魔しかしないと言ってもよいでしょう。自信ゆえに年上に楯突いても干されるだけですし年下はその間に遥か先を行くだけですし。

生き残る技術の条件は?

さて、私が最初にしようとした質問に講演内で回答が与えられた結果次にした質問は世の社会人の言う「大学で勉強したことなんて意味がない」というテーゼに対抗すべく「コンピュータ科学の理論などは実感としてどう役に立ったか」ということを聞いてみました。その回答で興味深かった内容として、「正しい技術が生き残るわけではない」という話がありました。過去の研究成果に対して上位互換上位互換を繰り返してきている最新の成果であっても実用の世界ではなぜかそれが採用されない、しかし理論的に強固なバックグラウンドを持っているものが使われ続けることは多い。理論的正しさを追いすぎることは危険であるということがわかった一方で、だからといってプラグマティズムのみが正しいという風には言えないということが再確認できたのはうれしかったです。自然言語処理とか統計処理が表舞台に出るようになってきて理論が差別化要因として強くなってくる時代になったのも講演にもあったように喜ばしいことだと思います。

今後の話

さてこのエントリ群は主催者からのフリで書いたようなところもなきにしもあらずなのですが、これだけ書いて終了では何を学んだんだって話もあるので、「私はこうしますキリ」という代わりに今後のブログの更新や情報発信をお楽しみに、ということで締めようと思います。以前はてダで書いていたようなこういう問題こうやって解いたとかは継続してやっていきますし、githubとかのサービスも使っていければと思います。

あと本年度の目標として公開の勉強会で発表するってのもあったので、今回こういう話もあったことですしちゃんとやっていこうと思います。得意分野・今後のばしていく分野をどうしようっていう部分は若干逡巡があるのですがまずはできる分野からやっていければいいかな。

「1年に一つプログラミング言語を学ぶ」っていう話もありましたがまずはC++Rubyをもっと深くやるところからやろうかと思います。Rubyは今度こそちゃんと処理系のソース読む。