『Twitter4J』開発の山本裕介氏が、あえて職業プログラマーの道を選ばなかった理由【30分対談Liveモイめし】
2014/11/12公開
『ツイキャス』を運営するモイの代表取締役で、経験豊富なエンジニア赤松洋介氏が、週替わりで旬なスタートアップのエンジニアや起業家を招いて放談する「モイめし」。今回のゲストは、TwitterAPIのJava用ライブラリ『Twitter4J』を開発したことで知られるサムライズム代表の山本裕介氏だ。
世界中で利用されるデファクトスタンダードライブラリの開発者でありながら、現在は海外ソフトウエアの代理店業を主軸に活動しているという山本氏。その真意とは――。
改良し続けることで唯一無二の存在になった『Twitter4J』
山本 赤松さんとは初めてお会いするんですけど、Twitter上では何かとつながりがあり、何か不思議な感じです。
赤松 そうですね。山本さんが作った『Twitter4J』はツイキャスでも利用させてもらってます。あれのおかげでかなり助かっていて……。そもそもなぜ『Twitter4J』を作ろうと思い立ったんですか?
山本 2007年ごろにTwitterのことを初めて知って、面白そうだなと思ったのがきっかけですね。APIがあって、よくは分からないけど何かできそうだな、と。
ただ、いざ作ろうとなると、HTTPでリクエストを送って、HTMLとかMSL JSONで受け取って、Javaのクラスでマッピングして……といろいろと面倒くさい。探したけれどそういうことをやってくれるライブラリもなかったので、じゃあ自分で作ったら、みんな使ってくれるだろう、と。
ぼやぼやしていたら他の誰かも絶対に作ると思ったので、ガーッと2、3日で作って公開して、『Twitter4J』というデファクトスタンダード風なベタな名前をつけました。
赤松 改善し続けるモチベーションもすごいですよね。Twitterの仕様が結構変わるじゃないですか?
山本 どんどん変わるので、それに追従させられますね。でも、ちょっと作ること自体は簡単なので、最新を常に追い続けることが、『Twitter4J』を誰も追いかけられないものにしている面はあると思います。
6社を渡り歩く傍ら、“趣味”で続けたプログラミング
Twitter上でのやり取りはあったが、実際に顔を合わせるのはこの日が初めてという赤松氏(右)と山本氏。ツイキャスにも山本氏が開発した『Twitter4J』が利用されている
赤松 結構面白いキャリアを歩んでおられるようですが、簡単に説明していただいてもいいですか? Twitterに入ったあたりからしか知らないので。
山本 飽きるのが早くて、今の自分の会社も含めて6社目になります。そのうち4社が外資系。でも新卒で入ったのはいわゆる日本のSIerでした。
赤松 私も最初はSIerでした。
山本 その後はソフトウエアのベンダーに移って、サポートやコンサルタントをやっていました。職業でプログラマーをやったことはないんですが、仕事の傍ら、プログラミング自体は小学生のころからずっと続けています。プログラミングは夜でも週末でも、仕事に限らず趣味でもできるので。
赤松 サラッと流しそうになりましたけど、小学生のころにはどんなことをしていたんですか?
山本 MSX-BASICとか。ありがちですが、雑誌のゲームのプログラムを魔改造して無敵化したり。それで飽き足らなくなって、自分で中途半端なものを作るようになったみたいな感じです。
赤松 『Twitter4J』はJava用ライブラリですが、Javaには何かこだわりが?
山本 ずっと仕事で触ってきたので一番なじみがあったからですかね。メンテナンスしづらい言語から入ったところで初めてJavaと出合ったら、オブジェクト指向できれいに書けて、型安全でメンテナンスもしやすい。これはすばらしいということでほれ込んで、もう十何年もJavaひと筋です。
赤松 なるほど。じゃあ良かったですね、途中アレでしたけど、最近またJavaが復権してきて……。
山本 ダサいダサイと言われてきたのが最近少しおしゃれになってきましたね(笑)。まあそんな経緯を経て作った『Twitter4J』が現在ではツイキャスもそうですし、MasterCardやApple、LinkedInなどでも使われています。
赤松 すごいですよね。日本のエンジニアが一人で作ったものが世界中で使われているわけですから。
山本 たぶん、JavaのプログラムからTwitterをたたくのだったら、みんな使っているんじゃないですかね。そこは最初から狙ったところなんですが。
赤松 最初から英語のページも作って?
山本 そうです。いや、むしろ英語から書きました。日本語から書いて英語に翻訳すると、自分の英語力だと書けないものになってしまう可能性もありましたので。
Twitterに入社、周辺サービスとの橋渡し役に
山本 で、いろいろな会社を転々としてそろそろフリーランスでやってみようかと思った時に、TwitterAPIの本を書いたことがきっかけでTwitterから声が掛かりました。もともと本社にディベロッパーアドボケイトというエバンジェリストにあたるポジションがあったのですが、サンフランシスコに移住する気はないので、やるなら日本がいいと話しました。
赤松 アメリカへ行って働きたいという人が多い中で、珍しいパターンですよね?
山本 前の会社でもしばらくサンフランシスコにいたので様子は分かっていたし、何より日本が好きなんですよね。食事はおいしいし丸腰で歩いてもまず襲われない。家族がいたので引越しが面倒くさいというのもありました。
それで日本法人に無理やりエンジニアのポジションを作ってもらって入ったんです。よく、ずっと向こうにいたのかと勘違いされますが、メインは日本です。
赤松 アドボケイトのお仕事というのは、開発というよりサポートのような感じですか?
山本 ツイキャスのような周辺サービスがいろいろあるので、TwitterAPIをうまく使ってもらったり、新しい機能を紹介したり。開発者からのバグ報告を切り分けるといったトラブルシューティングも仕事のうちです。
赤松 Twitterにいて何が一番良かったですか?
山本 それまではエンタープライズ系の基幹システムのようなガチガチの企業に対してソフトを売る会社だったので、一つ間違いがあるだけで大変なことになります。Twitterはそれとは違っていまどきのWeb系企業なので、もちろん壊れてはいけないけれど、仮に何かあっても特別に大変なことになるわけではない。
とにかく絶対に止まらない完璧なシステムを目指すというよりは、どんどん新しい機能を作ったり、ユーザーに使いやすいように改善したりと、新陳代謝がすごく速いのが面白かったですね。最近でいうところの継続インテグレーションというか、目には見えないけれども日々進化していく開発を間近で見るのは、非常に刺激的でした。
赤松 どのくらいの期間、Twitterにいたんですか?
山本 ちょうど1年ですね。APIを使っていろいろなサービスが生まれるのを手伝うのが楽しかったし、優秀なのに英語が苦手で歯がゆい思いをしている日本のプログラマとの橋渡しをするのにやりがいを感じていました。ですが次第に会社の方針が、APIよりTwitter本体の機能開発を……となっていったので、最終的にやめました。
赤松 開発するなら向こうへ、と言われた?
山本 そうは言われていないですけど、日本で開発するとなるとエンジニアが一人しかいないので、コードレビューは向こうの人にお願いすることになる。夜中までやって、朝になったら結果が来てるからまた直して……となると、すごい時間稼働することになりますよね? 時差の問題はやっぱり大変です。
それに、Twitter自体はもう出来上がったものなので、どうせやるなら自分のやりたいものを開発したい、と思って独立することにしたんです。
とりあえず、で始めた販売代理店業の面白さ
「食い扶持として始めた代理店業の意外な面白さを実感している」という山本氏(左)
赤松 しかし開発したいというお話がありつつ、独立した後に販売代理店業というのはびっくりしました。
山本 開発したいとは言っても、Web系の起業は今の流行りです。サービスを作って一山当てたいと考えている人はたくさんいるので、成功する確度は低い。まずは着実に飯が食える安定収入源が必要だと思い、目をつけたのが、昔から利用してきたチェコ・JetBrains社の開発ツールでした。
世界的には人気があるが、日本では普及していないものだったので、エバンジェリストをやりますよと売り込んだところ、代理店をやらないかという話になりました。ずっとエンジニアリングはやってきたので、このタイミングでビジネスサイドを経験するのもいいと思って引き受けました。
赤松 やってみてどうでしたか?
山本 面白いですね。さきほどもお話したとおり、ソフトウエアベンダーにいた経験があるのですが、ある商品にほれてその会社に入っても、現実にはそれ以外の商品も売らなければなりません。自分でも変だと思っている商品を「いい」と言ってお客さんに売るのは、エンジニア的に正義ではないと感じていました。
今の代理店業には、そうした縛りがありません。純粋に自分がほれた製品を扱えるというのは楽しいし、お客さんにも喜んでもらえますね。
赤松 ほかにも企業の開発のお手伝いなどもしているようですが、安定収入ができて、いよいよ自主開発の方へ?
山本 とりあえずの収入源と思って始めた代理店業が案外面白いと感じているんです。エンジニアリングが分かりつつ、ビジネスに片足を突っ込んでいる人は珍しいので、今はそうした強みを活かす方向でいます。なので、自分のサービス開発に着手する予定は直近ではないですね。
一人でどこまで会社をスケールできるかも一つの挑戦なので、自社サイトの中では、プログラミングを組んで省力化して、注文が来たら自分で作ったTwitterのbotに向かってつぶやくことで、半自動的に見積書や請求書ができるような仕組みを作ったりしています。あとは、扱う製品を増やすべく、パートナーを増やしている段階です。
世界的サービスを作るのに渡米する必要はない
赤松 しかし、世界的に有名なエンジニアでありながら、日本を拠点に変わったことをやっているのは面白いですね。現実に『Twitter4J』が世界中で使われていることを見れば、アメリカにわたらなければ世界的なサービスが作れないなんてことはないということが分かります。
山本 サンフランシスコは小さな街にテック系の人がたくさんいるので、情報が集まりやすいということはあるかもしれませんが。ただ、家賃もとんでもなく高いですからね。
赤松 向こうで働きたいという日本人の多くは、ただのあこがれじゃないかという気がします。エンジニアが使うサービスには海外のものが多いので、そういうところでスキルを磨きたいというあこがれがどこかにあるのでしょう。ただ、あこがれだけで言っている間は、成功するのは難しいのではないかとも思います。
山本 最近は日本人も技術的に優秀という話もありますが、当然ですがすごい人もいれば、そうでもない人もいますしね。
赤松 そうでもなくてもやっていけるのが日本のマーケットです。東京で働く分にはそれで困らない。ある意味、恵まれているといえるでしょう。安定した生活をどんな形でも手に入れられるので、ほかの選択肢と比べて、起業のリスクだけが高い。
山本 サラリーマンをやっていたら、あした急にクビということはないですからね。向こうのベンチャーであれば結構そういうことがあります。僕の知り合いには、家を買ったばかりの夫婦が同日に別々の会社から解雇されたという人もいます。
日本は労働環境の法律がすごく労働者有利にできています。そうやって厚く守られているからこそ企業に勤める動機があるともいえますが。
最近は「シリコンバレーはもっと自由らしい」、「エンジニアの立場がもっと上らしい」といった、いいところばかりを見てあこがれている人が多いように見えますが、それはちょっと違うかな、と。自由な分、リスクもある。日本にはリスクを抑えながら、ある程度の自由が得られるよさもあると思いますね。
取材・文/鈴木陸夫(編集部)
■「モイめし」は毎週水曜日の12時半から
配信アカウント:https://twitter.com/moi_staff
配信チャンネル:http://twitcasting.tv/moi_staff
>> 過去の[連載:30分対談Live「モイめし」]一覧はコチラ