かもですね。
と: 経歴を順番に教えてください。
山: 最初は新日鉄ソリューションズ。いわゆるSIer として働いていました。そこでは化粧品会社の社内システム、帳票を扱うようなシステムとか、ECサイトや転職情報サイトを作っていました。やっぱり主にWeb系の仕事が多かったですね。
と: ご自身もそのころからWebアプリケーションに携わっていたのですか?
山: 新卒の当時は、とにかくソフトウェアに関わっていられればいいなとは思っていましたが、まだそんなにWeb系を意識したことはなかったです。Webが爆発する直前くらいのころでしたし。ちっちゃいころからずっとコンピュータ触って育ってきたので、技術者的なことをやりたいなとは思っていたんです。
と: なるほど。
山: それから、新日鉄のときに使っていたWebLogicサーバ[2] っていう、アプリケーションサーバと呼ばれるカテゴリの製品を触っていて、抜群に優れているのを感じました。その後、縁があって、WebLogicサーバを作っているBEA Systemsに入りました。これが2社目ですね。技術的なところにフォーカスして働けたので楽しかったです。SIerでずっと管理の仕事を続けるよりも技術的なことをやりたいと思っていたところなので。
と: 技術志向なんですね。
山: 3社目はFAST Search & Transferっていう検索エンジンを作っている会社に行きました。BEAで働いてるときにGoogleがどんどん勢いを増していっていて、検索技術っていうのはなんかすごいらしいなーと思って検索に興味を持ちました。でもひねくれ者なので「Googleに就職するのはどうなんだろ?」って思ったりして。
と: あはは。
山: 検索には興味がありましたし、それに新日鉄とBEAではずっとJavaをやってきたので、ちょっと違う世界も見たほうがいいかな、という思いもありました。
と: 今まで出た会社よりもWeb寄りです。
山: 実際、ヨドバシカメラ.com、楽天、価格.comなど大手ECサイトがFAST の検索エンジンを使っていたんですよ。
と: そうなんですね!4社目はどちらで働いていたんですか?
山: Red Hat です。一般的にはLinux の会社として有名なんですが、アプリケーションサーバを担当していました。そこで働いてるときに長男が産まれたので、自分が育休に入ったのをきっかけにRed Hat は退職しました。
と: そのころイクメン[3] になったのですね。
山: そうなりますね!FAST Search & Transfer在職時からオープンソースで公開していたTwitter4J [4] がその時点でたくさんの人に使っていただいている状態でした。Twitterが始まって4年くらい。ソーシャルが盛り上がり始めていたころでしたし、Twitter4Jを軸に、フリーランスのエンジニアとして挑戦してみようかと思いました。ほどなく「Twitter API 詳しいですよね?本を書きませんか?」って技術評論社さんから声をかけていただいて。それで半年くらい、一生懸命Twitter APIの本を書いていました[5] 。
と: 執筆活動もなさっていたんですね!
山本裕介[YAMAMOTO Yusuke(@yusuke) ] 1977年、東京都生まれ。Twitter4Jの開発が縁でTwitter社へ。今秋からフリーランス。
Twitterではたらく
と: そして5社目がTwitter なんですね。Twitterではどんなお仕事を?
山: Twitter ではTwitter API を使う開発者やサードパーティ、パートナーをサポートする役割をしていました。あとバグ報告や機能改善リクエストを開発部門にフィードバックしたり、時には自分で直しちゃったりとか。お客様から直接の対価をもらってやる仕事ではないですけど、API を活用してもらうことで盛り上がればTwitterとしてはいいわけですね。
と: Twitter、私も毎日使ってます!
山: 表に出ているTwitterそのものを開発する仕事ではありませんでしたが、Twitterと連携する世の中のいろんなサービスやアプリを支えるのは、すごく面白かったです。職種としてはデベロッパーアドボケイトと言います。
と: へー、初めて聞きます。
山: アドボケイトって普段聞かない言葉ですけど「支援する人」みたいな意味みたいです。Twitter APIの本が出るころにはフリーランスで食いつなげるめどが立ってきていたので就職するつもりはありませんでしたが、Twitterのデベロッパーアドボケイトであれば面白いかなと思っていたんです。ただ当時は本社のサンフランシスコでしか採用をしていませんでした。以前ちょっとサンフランシスコで働いていたこともあるので、再度「家族まとめて引っ越してでもTwitterに入るぞ!」という気合いはなく(笑)。そうしたらTwitterのデベロッパーアドボケイトの人が「東京でデベロッパーアドボケイトはどう?」と、僕にダイレクトメッセージをくれて。
と: Twitterのダイレクトメッセージでヘッドハンティングされたんですか!
山: そういうことになりますね!Twitter4JはGitHubで公開しています。「 こんなバグ直したよー」「 こんな機能追加したよー」といったプルリクエストがTwitterで働くエンジニアからも多く来ていて、さらにTwitterの中の人から声をかけてくれたくらいだから「顔パスで入社できちゃうのかな?」みたいに軽く考えてしまっていたんですけど、しっかりと面接がありました(笑)
と: どんな面接でしたか?
山: けっこうシビアな面接でした。日本にいたままSkypeで2回くらい電話面接。その次は「パスしたので今度はサンフランシスコに来てください」ということで本社に行きました。本社ではけっこう大人数で、6人くらいと面接しましたね。
と: 面接は日本じゃないんですね!
山: ええ、日本にはエンジニアがいないので本社でやることになります。ちなみに旅費はTwitterが出してくれました。質問はしっかり技術力を問われる内容ばかりでした。「 こういうデータ構造をこんな形に変換するアルゴリズムを考えてプログラムを書いてみて」とか、デベロッパーアドボケイト候補ならではかもしれませんが「Twitter APIに詳しいからTwitterのアーキテクチャがなんとなくわかるでしょ?想像している内容を書いてみて」といった質問で。しかも「今ホワイトボードに書いて」 、みたいな。「 え、今?コードを?」と思わず口に出してしまいました。
と: えー! しかも手書き!
山: そう(笑)。その場でコードを書かせて実力を計るのは、ベイエリアではよくあるみたいです。今はPCでやるらしいのですが……。長時間にわたる面接の合間には食堂でランチを食べたりもしました。厳しいながらも楽しい面接でしたよ。
内定女子ともよ
と: 就職が決まっていかがでしたか?
山: Twitter4J を趣味で作ったりTwitterAPI の本を書いたりと、ある意味非公式のデベロッパーアドボケイトみたいな立ち位置だったので、それが仕事になるのは良かったです。あと超大規模なWebシステムをソースコードのレベルから見られるというのは非常に貴重な経験ですからワクワクしました!
と: 現在はTwitterを辞めた山本さんですが、人気になったTwitter4Jからけっこうな収入が得られたりするんですか……?
山: 全然ないですよ!寄付できるボタンをTwitter4Jのサイトに設置しているんですけど年間で5,000円といったレベルです。あと同じくサイトに設置しているAdSenseのバナー広告で月間1,000~2,000円とか。
と: ほんとに寄付ですね(笑)Twitterを辞めた理由も教えていただけますか?
山: デベロッパーアドボケイトとして入社しましたが、社内での役割がTwitterの開発にシフトしていたからです。もちろん開発は好きだし世界中で使われるTwitterのサービス開発はエキサイティング。でも、開発をするなら自分の考えたものを作ってみたいなと思ったんです。
Twitter4Jが支えるTwitterとAPI
と: 山本さんといえばTwitter4J ですよね。もう少し詳しく教えてください。
山: Twitter4JはTwitter APIの呼び出しを簡単にするためのJava用ライブラリです。
と: Twitter4Jを使わないと、JavaでTwitterは使いにくいのですか?
山: そうですね、使いにくい……というかとても面倒です。
と: Twitter4J 以外にJava 向けのライバルはあったのですか?
山: 2つくらいあったんですが、今のシェア的にはおそらくもうほとんどTwitter4Jだと思います。
と: そもそもなぜ作り始めたんでしょうか?
山: 元々はTwitter APIを使って何かおもしろそうなことができないかなと思っていたんですよね。それで、Twitter APIを触ろうとしたけど、そのライブラリがなかったんです。Javaの人間だったのですごく困りました。Twitter APIを呼び出すにはいっぱいコーディングしなくちゃいけないな、面倒くさいなと。
と: 「じゃあ作っちゃおう!」
山: そうそう。じゃあ作っちゃおう精神です。作ってみて感じたのですが、APIでいろいろと広がっていく世界、僕はすごくおもしろいと思いました。
と: なぜエンドユーザの使うアプリケーションじゃなくて、まずライブラリ側を作ろうと思ったんですか?
山: なんだろうな、僕自身も何かアプリケーションを作りたかったんですが、自分が面倒くさいと感じることはほかの人も絶対面倒くさいって感じるよなあ、って思ったので。そこに尽きますね。
と: へ~。ちなみに山本さんはどんなアプリケーション作ったのですか?
山: 通知系のBOTですね。当時FASTでテクニカルサポートやっていまして、Webベースの問い合わせのシステムなのですが、メールでの通知とかがないんですよ。いちいちメールを確認しにいくのも面倒で困っていました。それを通知するためにTwitterを応用し、いわゆる通知BOTを作りました。
と: Twitterで教えてくれるんですか?
山: そうです。メール通知だと埋もれてしまいがちなんですよね。ですので新しい問い合わせが来たらTwitter経由でデスクトップにピコーンって通知すると。とても便利でした。
エンジニアと子育て
と: ぜひとも子育てについて伺いたいんですが、Twitterでも育休を取ったとか。
山: はい。長男が3歳で、6月に長女が産まれました。それがきっかけで長女のときにも育休を取りました。
と: 奥様は専業主婦なさっているとか。ご主人も育休を取って、おふたりで育てようと思った理由は……?
イクメンエンジニアは2児の父!
山: ジョン・レノンの影響ですね。ジョン・レノンに子どもが産まれたとき、しばらく仕事を休んで何もせず、育児活動に専念してた話を聞いて、素敵だなーと思ってたんです。自分も育休とって夫婦で専念するのもいいかなというのは、結婚する前から思ってました。
と: ステキですね! 働くことと、育児はどれくらいの割合でとらえていますか?
山: 産まれた瞬間はもちろん育児がすべてです。それから徐々に仕事の比重を増やしています。育児休暇中にTwitterの仕事はしていませんでしたが、次のフリーランスに向けて、あちこち手伝ったりしていました。
と: 育休を男性がとることって、まだ世間では一般的ではないと思うのですが、取りにくくありませんでしたか?
山: なかったですね。僕が育休を取った会社は2社とも外資系でしたし、1ヵ月2ヵ月休むのは普通でしたからね。
と: 日本の会社と外資系の会社とでは、子育てにはどっちが適してるんでしょう?
山: 数ヵ月間がっつり休む外資系企業のはたらきかたが絶対的に良いとは思っていませんが、フレキシブルにさせてくれるのは大事ですよね。「 子どもが急に熱を出してしまって、病院に連れて行く」とかいうことはよくあります。日本の企業だとそういうとき、あまり融通が利かないといった話をよく聞きます。そもそも会社によっては許されていなかったり、1時間遅れて行くと半休扱いになっちゃうとか。そういうのはけっこうつらいですよね。
と: 会社って厳しいんだなあ。
山: 子どもが2人に増えると、やっぱり奥さんだけだと大変なんですよね。おっぱい出すことはできないのでそれは奥さんに任せて、僕はエネルギーの有り余っている3歳児の長男を公園連れていったり、平日に水族館へ行ったりしてます。
と: 平日の水族館、空いてそうです。お父さんが疲れないしいいですね。
山: そうそう。だから、週によっては土日に作業させてもらって、平日に遊びに連れてったりしています。
と: 今のところは、仕事と育児の比率はどうなってますか?
山: 今は半々くらいに戻ってきました。100%子供に向けるのが理想なのかもしれないけど、正直、仕事の分量を増やしてきて楽になってきました。ざっくり言ってしまうと、仕事っていうのは次にやる作業内容が明確なんですよね。でも、子育てっていうのは子どもの機嫌とかにすごく左右される。体力使うんですよ。今日は水族館に行ってランチ食べて帰る、とか決めていても、水族館に到着した瞬間「もういい帰る」とか子供が言い出したり。
と: あはは、難しいですね。
山: そう、振り回されながら臨機応変に考えて対応するのがとても難しいです。エンジニアだからデスクワークがほとんどなわけですが、子供と遊ぶっていうのは力仕事なんですよね。自転車に乗せてあちこち連れて行ったり、ドライブしたり、歩いたり。最近は「疲れたおんぶしてー肩車してー」とかあるし。
と: あはは。
山: 次何を言い出すんだ!? っていう、予想が付かないことに備えながらやってくのはすごく大変だと思います。大変だけどもちろん、おもしろいです。
山本さんこれからのはたらきかた
と: Twitterを退職した現在、今後はどういったお仕事をしていくのでしょうか?
山: もともと僕はコンピュータもプログラミングも好きなんですが、いまだに純粋なプログラマとして働いたことはないんです。エンジニアではあるけど、テクニカルサポート、コンサルタント、そしてTwitterではデベロッパーアドボケイトでした。とはいえプログラミングはほかの仕事と違って、夜や土日でも、趣味でもできるんですよね。そのかわり営業の人とともに仕事をしたり、テクニカルサポートとして他の企業のプロジェクトを支援したりっていうのは趣味でできるものじゃないですよね。
と: そうですね。
山: ですので、プログラミングを仕事にしなくてもいいかなと思って今までやってきました。でも、ふと振り返ってみると趣味の面でさっぱりプログラミングできていないなと。
と: なるほど。
山: プログラミングのスキルや勘を枯らさないためにもTwitter4Jとかは書いていましたが、Twitter4Jはあくまで中間的なサービスです。Twitterを辞めた今、フリーランスとして自分でも最終的なサービスですとか、iPhoneやAndroidのアプリケーションを作ってみたいなと思っています。実はもうアイデアを書きためたネタ帳があるんですよ。
と: へー! どんなアイデアがあるんですか?
山: いっぱいあります。ふと思いついたタイミングでどんどん書いているですが、たとえば拍手すると写真撮影されるのとか。ぱんって手をたたくと1秒後にシャッターが降りるしくみ、とか。
と: おー! 便利そうです!
山: iTunesのプレイリストをシェアとか。「 これが僕の好きな曲です」みたいにツイートしたり、Facebookで勧めるとか。ほかには、雨の日プッシュ。雨の日プッシュは多分、その手のやつはあると思うんですが、雨の日だけ通知がくるアプリがあったらいいなとか。「 傘持っていけ」みたいな。
と: いいですね。
山: あとは、勉強会のときの座席表がわかるものとか。
と: あっ、同じこと考えてました。
山: あ、ホントに?
と: 高専カンファレンスの運営をしていたときに、「 座席表に、誰がどこに座っているかわかれば、ちょっとシャイな人でも話すきっかけになったりして、おもしろいよね」みたいな話し合いをスタッフとしました。
山: そうそう。いくつか既にそういったサービスはあるみたいだけどシャイな日本人に向いてますよね。それから中継ソフトも考えています。勉強会でUstream配信を担当することがあるんですが、Webカメラでスライドを写したものでは満足できず、デスクトップの表示内容を直接配信する方法を調べて実践しています。さらに「中継している勉強会の関連ツイートを一緒に放映したい」「 事前に設定したタイムテーブルに従ってキャプションを自動変更したい」などの目的別に、指定したURL をレンダリングしてくれて、Ustream Producer[6] からは一つのWebカメラデバイスとして見えるようなドライバを考えています。そうしたらHTMLを書くだけでいろんな情報を中継に埋め込むことができるようになりますよね。
と: 便利そうですね。
山: まぁそういうのを色々と、とにかく思いついたらメモしています。数えてはいないけどたぶん200個近くはネタ帳にたまっています。
と: どういうときに思い付くんですか?
山: いつでもですよ!ぱっと思いつくことだけでなく、何か不便だと感じたり、もっと良くできそうだと思ったりしたことは大事だと思うんですよ。なので歩いているときでも仕事中でも。場所・時間を問わずです。
と: 本当にジャンルにとらわれず日々思いついた瞬間にメモってるような感じですね。
山: そうですね。
と: 完成したら教えてください!
フリーになった山本さんの仕事場は六本木アカデミーヒルズ。月1万円でこんなセレブ環境で作業できるとか
内定、おめでとうございます
山: ところで前回 と違ってイメチェンですか? スーツも着てないし。
と: 実はわたくし、つい先日までシューカツ女子でしたが、無事就活が終わりまして、髪の毛を切ってみました。
山: 内定ですか!おめでとうございます。
と: ありがとうございます。来年から( 株) カカクコムではたらく予定です。
山: すばらしい! 来年就職するわけですが何か野望があったりするんですか?
と: うーん……。まだはたらいた経験がないし、アルバイトでも大きい仕事をやったことないので未定です。何が一番向いているか、自分の性格で何が一番お金稼げるのかを知らないので……。
山: お金が大事?
と: 自分がどのぐらい役に立ったかとかがわかる指標ってお金なのかなあと思っています。
山: ま、そうですね。
と: 就職して社会に出て、自分が何の役に立てるのか見つかればいいなーと思っています。
山: シューカツが終わったいま、この連載はどうなっちゃうんでしょう。
と: シューカツ女子は卒業しましたが、まだまだ学ぶことだらけです。次号からは、さらにいろんな人のはたらきかたを訪ねる予定です。
山: たのしみにしています(笑) 。
山本さんの作ったアプリを見せてもらう