原田 均
2010.11.11
「社会にコミットするエンジニア」
原田 均 - フォルシア株式会社 CTO
グラウンドの仲間シリーズ、原田均君は28歳にして既に検索プラットフォームを手掛けるネット企業のCTOで、この夏、僕も会社のWEBサイトを手伝わせてもらいました。原田君の世界を放浪した話、などもかなり面白いのですが、今回は彼が参加しているPostgreSQLというオープンソースのDB開発プロジェクトや、それと彼の仕事がどうリンクしているのか改めてインタビューしてきました。
後半はエンジニアリングの世界だけでなく、人として、彼が抱えている使命感についても聞かせてもらいました。28歳の彼が抱える問題意識は、きっと色々な人の刺激になると思うし、僕も身の回りの人にぜひ読んでもらいたい、貴重なインタビューになっています。是非最後までお付き合い下さい。
オープンソースに参加すること
【加藤】 原田が今やってるPostgreSQLってのはどういうデータベースなの?
【原田】どういう?どこらへんですか?
【加藤】 どこの部分をやってる?
【原田】2008年から2009年にかけてWindow関数を実装していました。データベースって色々なレイヤーがあって、ハードディスクをできるだけ効率的に読むとか、同時実行性を高めるとか、たくさんリクエストが来ても大丈夫なようにするとか、そういうところもあるんですけど、僕がやっていたのはもう少し上のSQLをどういう風に書くとどういう処理をしますという、処理の書き方の拡張ですね。
【加藤】 じゃあプログラムと割と近い側だ。
【原田】そうですね。だから、テクノロジー的にはデータベースというよりは、例えばRubyに新しい構文を追加しましたというような感じです。いわゆるデータベース屋さんの、ディスク効率を高めたりするようなデータベース技術は詳しくないので、なんちゃってデータベース屋さん。
【加藤】 でも原田の世の中的な認知はデータベース屋さんなの?
【原田】どうなんでしょう?外から見たらあんまり中の違いがわからないから。
【加藤】 そもそもさ、そこに首を突っ込もうとしたのは、そこに不便を感じてたからってことなの?
【原田】いや、そもそものモチベーションは、僕はアメリカの大学院に行こうと思っていた時期があって、でも僕は大学まともに行ってなかったんでGPAが非常に低いですと。でもいい大学院行きたいですね、という時になんかネタでも作ろうかなということで始めたのがきっかけ。
【原田】なんですけど、やってみると今やっている仕事にも非常に便利だし、そもそも大学院に行くとか行かないとか関係なく、エンジニアとしてキャリアを始めたからには、世界に通用する腕を身につけたいなと思っていたし、例え日本がなくなっても自分は生きていけるスキルを身につけたいと常々思っているので。
【原田】PostgreSQLってLinuxとかと同じで非常にオープンな開発が進んでて、MySQLとかって一応企業の持ち物なんですけど、開発コミュニティがあんまりオープンじゃないんですね。ソースはオープンなんだけど、開発自体は企業メインでやってたりするんですが、PostgreSQLとかLinuxってどこかの企業が所有しているわけではないので。
【加藤】 開発側に自由に参加できる環境がある。
【原田】全てのディスカッションはメーリングリストでやり取りされて、全部WEBでアーカイブに残ってるんですよ。
【加藤】 そういうのって、ある日いきなりオープンソースの世界を覗いたの?前からそういうの見ながらそろそろ俺もやるか、というような感じなの?
【原田】そうですね、ずっとPostgreSQLとかTomcatとか使ってきたし、メーリングリストの購読自体はもっと前からしてたんですけど。
【加藤】 できるんだったらやればいいじゃない的なところあるよね、エンジニア的には。でも、社外の活動だからプライベートでやらないといけないんでしょう?
【原田】そんなこともない。意外と業務時間中にやってます。元々我々の仕事のスタイルが、この時間からこの時間までこれをやってくださいみたいな仕事じゃないですから。
【加藤】 前に一緒に酒飲みに行った時に、これから帰ってコード書きます、みたいなこと言ってたじゃん。一日ちょっとでもコード書かないと落ち着かないみたいな。あれはなんなの?
【原田】なんなんすかね。
【加藤】 今でもそうなの?
【原田】今でもそうですね。やらないと、今日一日何もしなかった感がありますね。実際、打ち合わせとかしててもそれが仕事という認識がないので。
【加藤】 ああコード書くのが仕事というか、本業みたいな。他の業務は付帯業務という。エンジニアだねえ。今は少しお休みしてるの?PostgreSQLの開発に関わるのは。
【原田】いやいや、やってますよ。PostgreSQLって大体1年のサイクルでメジャーリリースして、Window関数は前のメジャーバージョンに入って、でもそればかりやっていると一発屋芸人みたいなので、「Window関数の人」みたいになっちゃうじゃないですか。今年は違うのやろうかなと思って、こないだまで死にかけプロジェクトの再生をやってたんですけど。
【加藤】 どういうこと?
【原田】他の人が始めたんだけど、なかなか本体に取り入れられなくて、困ってる似たような機能の拡張があったんで、おまえ手伝えよとか言われて、突然仕事ふられたので見てみんですけど、一昨日くらいそのプロジェクトは完全に死にましたw。
【加藤】 でもそうだよね、生身の人間がたくさん集まって作ってるんだもんね。
【原田】あとSQLっていうレベルで難しいのが、標準ってあるんですよ。SQL標準っていう仕様が。それに基づきながらも皆バラバラに作ってる、方言みたいになっているんですけど、HTMLの規約みたいなもので。
【原田】似たような機能が2011年のSQLの標準にあるらしいんだけど、まだそれも固まってないし。
【加藤】 イマイチまだイメージ湧いてないんだけど、なんか管理人さんみたいな人がいて、そこにメンバーがぶら下がっている感じなの?
【原田】形態としてはそうではなくて、これはプロジェクトによってバラバラですけど、PostgreSQLの場合は主に重大な意思決定とか、ソースコードの管理とかをするコアメンバーというのが8人くらいいる。その周りにコミッターという権限を持っている人たちが20~30人、実際にアクティブにやっている人たちは十数人ですけど、その周りに僕たちみたいなバッチを送ったりとかディスカッションに参加したりっていうコントリビュータみたいな人たちがもう少し大きい数いてという感じです。
【原田】LinuxとかはLinusが最終的な意思決定をするんですけど、PostgreSQLは違って。でもやっぱり、重要なソースコードほとんど書いている重鎮がいて、その人が首を縦に振らないと進まないよね、というところもあります。
参加することで学び得る
【加藤】 さっき仕事に役に立ってると言ってたけど、具体的にはどういう感じなのかな?
【原田】開発に参加して自分にとって意味があったというところでは、僕はそもそもキャリアではなかったので、社会人1年目は営業の仕事してましたし、大学でも専門にやっていたわけではないですし。基礎的な技術はほとんどない。今の会社も元々IT業界じゃない人が始めた会社ですから、その道のプロフェッショナルって社内にいないんです。昔からのソースコードの管理方法とか、ソフトウェア開発のメソドロジーとか、世の中一般にはあるんだけど、うちの会社にはなかったので、僕自身も知らなかったんですけど。
【原田】でもその開発に参加したことで世の中一般にはこうやってるんだなということもわかったし、例えばIBMに行って、IBMに就職して、そこで何とかというソフトウェアの開発プロジェクトに参加すれば学べるようなことですけど、そこに行かなくてもああいう企業の中ではこういうスタイルでやってるんだなあということがわかったりとか、普段の仕事では使わないけれども、そこで必要になったから新しいツールを使い始めたりして、その中でうちの社内で使えるものは取り込んできたし。
【原田】おかげでようやく最近まともな開発体制になりつつありますけどw。
【加藤】 ナイスCTOじゃん。
【原田】何とか研修とか、何とかセミナー通うよりも、実践ですからね。
【加藤】 同時に2社に入社しているようなものだよね、ある意味ね。もっと自由なんだろうけど。今コントリビュータレベルで日本人でPostgreSQLに参与している人って結構いるの?
【原田】そうですね。PostgreSQLは結構日本人活発にやっていて。
【加藤】 そういう人たちと会ったりするの?
【原田】はい、よく会いますよ。それの繋がりで今年からうちに来てもらうようになった人とかもいるんで。すごい狭いコミュニティですからね、世界でも何十人しかいないんで。その中で日本人って言ったら数えるほどしかいないんですけど、自分が面白いと思っているネタで、話ができる人って面白いじゃないですか。
【原田】すごい面白い深夜番組があるんだけど、それはいつも自分は欠かさず見てるんだけど、会社に行ってもそれを見ている人は誰もいなくて、だけど知っている人同士でたまに飯食おうよみたいな。
【加藤】 それがたまたまオープンソースだったって言うのは良かったよねえ。
【原田】自分と自分の会社に参加するということで得られたこともあるし、自分が作った機能、実装した機能がなければ去年会社で作ったものもできてなかったろうなということもあるし。
ロールモデルでは踊れない
【加藤】 じゃあ会社の他の奴にやらせてみよう、という意思はない?
【原田】それはないですね。
【加藤】 あくまでも自由意志でやるべきものなのか。
【原田】そういう土壌とかは作りますけど、今自分はこんなことやってるとか、これはこういう風に反映されたとか。それをやれって言ってやってもね。
【加藤】 とは言え若い子には色々やらせたいじゃん。だけど、なかなかこれやれあれやれという時代でもないのかなという感じがするよね。文化を作るとか土壌を作るとか環境を作るとか、原田みたいなポストにいるとやっていかなきゃいけないことだと思うのだけど、その辺はどうしているの?
【原田】マネージメント?
【加藤】 マネージメントというか、原田もマネージメントやりながら、オープンソースやりながら、プロジェクトリーダーやりながら、じゃん。で、後ろをそれにどう付いてこさせるかというのがテーマじゃないかと。俺みたいになれよ、というかロールモデルの時代じゃないから。どうしてったらいんだろうなあと思って。
【原田】マネージメントって言ったのは、僕もなかなか何を手をつけていいのかわからないんですけど、北山大先生の影響を受けてDruckerとか読んだんですけど、いわゆる管理職的なマネージメントじゃなくて、Drucker的なマネージメントというか。企業だけの話じゃないですし。
【加藤】 昨今では野球部のマネージャーなどもw。
【原田】若い人にやる気を出させるとか僕もうまくできてないですけど、さっきあったような、俺についてこい的なことではもうない。時代的にはそういうことじゃなくなってると思います。で、モチベーションがお金ということでもなくなっている。お金の人も勿論いるけど。
【原田】最近実践しているのは、仕事を作って、仕事に価値を与えて、仕事をさせて、それをきちんと評価する、という当たり前と言えば当たり前のこと。精神論ではない、ですね。そいつの能力を見極めて、そいつができる、ないし少し無理しないとできない、くらいのところに仕事をダウンサイズして、これをやるとすごいいいことがあるよというか、これをやってくれると僕はすごい助かるよという意味付けをして、渡すという。
【加藤】 そこ丁寧にやるのって意外と難しいよね。環境は常々変わるしね。
【原田】タイミングとかもスゴイあるので。今日の午前中のその話をしなければいけなかったのに、それが午後になっちゃったらその仕事与えても意味がなくなっちゃう、という。そういう意味ではオープンソースに参加して欲しいと思ったら、そういうステップを作ることは本当はやった方がいいような気がする。
【原田】会社全体をよくするためにとか、自分の周りの環境をもっと良くするために、ある程度自分の意思で方向付けたいんであれば、それはやるべきなんだろうとは思ってるんですけど。基本的なオープンソースの精神としては、やりたいやつがやれよ、なんで。鶏が先か、卵が先かですけどね。きっかけがあって自発性が生まれるのか、自発性があるからきっかけが見つかるのか。
【加藤】 しかし28にしては色々体験しちゃったよね!
【原田】そうですね、まだまだまだまだ、ですけど。
【加藤】 インタビュー的にはこれで大丈夫そうですが、話たりないこととかありませんか?
例外に寛容であること
【原田】全然関係ない話なんですけど、「九本指と日本社会について」。
【加藤】 え!それはどういうことなの?原田バイク事故で指怪我しちゃったもんね。
【原田】どういうことかというと、色々あるんですけど、やっぱり死にかけた人は強いなと。死にかけた人が日本にはメキメキ減ってる。あと、九本指に対する寛容度が低い。一番思うのは死に対して寛容度がすごい低いということを感じます。
【加藤】 死に対して寛容度が低いってどういうこと?
【原田】人は死んではいけない、って皆思ってるじゃないですか。例えば救急車受け入れを拒否したから、病院の人たちは悪くて、そんなことあってはならない!という。基本人は死ぬわけじゃないですか。死んだ人を更に取り上げて報道したりする風潮とかもあって。
【加藤】 しょうがないことのはずなのに、それによって更に糾弾されている人がいる。
【原田】そこにすごいヒステリックになるじゃないですか、一般市民が。それは死に対してもそうだし、例えば事故で体の一部を失った人に対しても、社会がそれを隠蔽しようとするんですよ。
【原田】昔インドにいたことがあるんですけど、東京の丸の内みたいなところで、手足のない人が路上にいて、お金を恵んでもらおうとすがってきて、スーツを着てビシっとしたインド人が恵みを与えたりするわけじゃないですか。そういう人もいて当たり前、どう対処しなきゃいけないかもわかっている。
【原田】僕も今の会社入って5年くらい経ちますけど、指のこと一回も誰からも聞かれたことないです。気づいてないはずはないんだけど。
【加藤】 気を遣ってるってこと。
【原田】触れないようにしてる。触れればいいじゃん、って思うんですけど。それは触れればいいじゃんっていうただの主張ではなくて、それが僕の中では死に対する寛容度に近しい。異質なものに対する許容量がどんどん減っていってる感じがします。
【原田】ある意味社会がソフィスティケーテッドされているってことなんですけど、そこから外れたものに対して、すごい何もない。国民総背番号制ってあるじゃないですか。ソーシャルセキュリティナンバー。あれやっていいと思うんですけど、なんだろ、日本人ではないけど、日本人であるべきだった人、とか例外として出て来るじゃないですか。全くそういうことに言及できないような仕組みになっちゃうんじゃないか、という危惧はあります。
【原田】異質なものを取り込んだりとか、例外を処理する力がない。例外を楽しむ。なのでリスクが取れないというか、例外が起きた時に、今の俺なら大丈夫という自信を持てる奴がもっといないと。
【加藤】 相変わらず、言うことがたくましい。でもそれって望むべくして体験できるものじゃないってところが難しくない?そういうことの経験が継承されるような仕組みを作らなきゃいけなかったんだけど、きれい好きなシステムになっちゃった。
【原田】潔癖症。でも、そういうのってチャレンジすれば、失敗してドロップアウトもするんですよ。事故とか病気とか望むべくして受けるべきではないし、運命でたまたまそうなるわけですけど、それは完全にランダムかっていうと、そうじゃない。
【原田】頑張って働いた結果、病気になるとか。そこに向かおうとした結果、ドロップアウトするんですけど、まずそこに向かおうという気が今の若い人にないなあと思って。
【加藤】 それは良いメッセージだね。失敗は一番勉強だからね。大きな失敗をしないためにはどうすればいいかっていう教育制度だったり、学歴社会だったりするから、チャレンジする対象が世の中にいっぱいあるといいんだろうね。
【原田】どうですかね。どこから手をつけていいかわからないですけど、僕が思った一つの切り口というのは、九本指に対しておまえらもうちょっとツッコミを入れろ、みたいな。
【原田】なんかよくチャレンジできる土壌をとか、セーフティネットの整備がとか、政策的なぼんやりとした話が多いじゃないですか。具体的にどうしたらいいかわかんないですけど、端的な例としてはそういうところもあるんじゃないかなと。
【原田】そういう意味で僕自身がパブリックにどんどん出て行くというのは、大事なんじゃないかなと最近思ってます。自分と同じ人間なんだなあ、という人が、実はちょっと違う。そういう人がちゃんと社会でも活躍しているというのをもっと多くの人が知っていたほうがいいと思うので、そこに大しての使命感みたいなのは、実はある。ないようである。

原田 均。2002年。19歳、大学2年からフォルシアのインターンとして3年間在籍。慶應義塾大学 総合政策学部卒業後、営業職にて他社で1年勤務した後に2006年フォルシアへ入社し、数々のシステムを開発。
2009年5月、26歳で取締役技術部長に就任。
フォルシアの検索システムSpook®に不可欠なPostgresSQL8.4にウィンドウ関数を実装するなどオープンソースでも活動し、講演等も経験。また、エンジニア同士のワークショップに参加する等、積極的に情報交換の場に出向きネットワークを拡大中。フォルシアのエンジニアの統括、及びフォルシアの技術面での方向性を決断しています。