まつもとさん基調講演/深く潜る

ソフトウェア技術者のある一定の割合は深く深く技術に潜っていく。そしてそれは大きく3つの道へと分かれていく。

  • OS
  • Hardware
  • 言語

自分は「言語」タイプだった。高校生の頃いろいろな言語を触って、「BASICは違う」「PASCALは違う」となり、15歳で「自分で作ろう」と思った。その後おもちゃのような言語はいくつか作ったが、決意から15年を経て初めて作った本格的な言語がRubyだった、とのこと。

まつもとさんの基調講演をまとめた記事。上記引用以外にも色々示唆に富む内容が盛りだくさん、且つジョークが満載で面白かった。Yugui さん GJ です。

昔からよく日記は拝見しており、且つ YAPC::Asia などここ最近まつもとさんのスピーチを聴いたりする機会が結構ありました。まつもとさんは、Ruby を作ったという偉業がスゲーというのももちろんありますが、Geek でもありつつ常識人で且つシャレが上手く、厳しいところにはズバっといくみたいな、非常に人間力のあるところが印象的な方でした。このまとめ記事からもその様子が伝わってきた。

あと、前々から思ってたけど Perl にしろ Ruby にしろ、いやプログラミング言語に関わらず多くのオープンソースソフトウェアがそうなんだけど、ある一定以上の規模が超えたところから、その作業の多くはコミュニティマネジメントなんだよなあと思っていて、それが行間から伝わってくる内容でした。コミュニティマネジメントはかなり人間力が要求される仕事で、そういう意味ではまつもとさんだから Ruby はここまで大きくなったんだろなあと思います。YAPCLarry Wall の話を聞いたときもそう思った。コミュニティマネジメントという意味では、なんとなく、はてなのサービスを作ってるときに同じようなことを考えてたりして、既視感を覚えたりもします。あと id:higeponMonaOS 作ってる過程で周りの人たちとやりとりしてる様子も、端から見てて、コミュニティマネジメントだなあと、かなり共通してるものがあるように思いました。

もとい、引用部分ですが。

僕もプログラマになってからそろそろ5年という頃合いでしょうか。こういうものが作りたい!と思ってプログラミングを始めて何年か経ってみて、確かに当時作りたいと思っていた物は作れるようになったなと思います。でもそれで全く満足できないところがソフトウェア開発の魔力ですね。どんどんと色々なことに興味が沸いてきてます。ただ、その色んな興味の目的にはそれぞれに共通するところはあって、それは確かにまつもとさんの言う上記3つのいずれかにあてはまるかもなと思ったという話です。

もっと低レベルのレイヤで何が起こってるか知りたいなとか、低レベルレイヤで今やってる処理を速くできないかとかそういうことに興味が沸いて Linux プログラミングの本を読んだりカーネルについて調べてみたり、というのはおそらく OS に対する興味でしょう。負荷分散がどうこうというのも若干 OS への興味もありつつ、多くのところはハードウェアに対する興味から来ることが多い。一方、他の言語に興味が沸いたり関数型言語に興味が沸いたり...というのは言語ですね。なんとなく、言語に対する興味はまつもとさんのように言語そのものを作るという以外にもいくつかパターンがありそうな気もしますが。パターン抽出みたいに綺麗に書くための方法論を追求する人、とかね。

いまはなんとなく三つのどれに進むかの分岐点に、自分はいるような気がします。10年後に自分はどこに潜ってるんだろうなあ。あるいは、そういう深いところにいけているかな...などと色々妄想をしています。

あと大事なのは、いつでも深く潜っていける環境に自分の身を置いておけるか、そういう環境を自ら作り出せるかってことでしょうか。潜りたいと思っても潜れないプログラマは世の中にたくさんいる。ベンチャーにいていいなあと思うのは、組織を自分で作ることができるからだなと最近思います。大きな組織では自分がいるべき場所を選ぶこと以外は難しいけど、組織が組織として成立してない小さな組織なら、気に入らなければ自分で作る/変えることができます。あと会社から、組織から、何かを享受するということに慣れてしまってはいけない。享受されてるだけでは自分で居やすい場所を自分で作ることはできませんね。

だらだらと書いてしまいました。