この連載では、「Forkwell Jobs」の開発にも関わるフリーランスエンジニアの後藤大輔 (@idesaku) が、さまざまな企業で働くエンジニアとリレー形式で対談を行っていきます。 今回のゲストは、LINE の「すぎゃーん」(@sugyan) こと杉義宏氏です。
今回のリレーインタビューは2部構成にてお届けします。
前編:TensorFlow と出会った「ドルヲタ」エンジニアが1年かけてたどり着いた境地
後編:「ライブの幕間にも草を生やす」ー “好き”をつきつめるエンジニアが目指すゴールとは?
後編では、「ヲタ活」と仕事の狭間で「Write Code Every Day」を貫く極意、技術コンテスト「ISUCON」における取り組み方、さらに現在の LINE社でのお仕事についても、深く掘り下げたお話をうかがっています。
すぎゃーんさんご指名のリレー相手は、当記事の最後でご紹介します!
執筆:高橋美津
「“現場”に年間200回超」の過密スケジュールの中、いかに「草を生やす」か
idesaku:
「Write Code Every Day」については、1年間完走されていましたよね(参照)。
sugyan:
ええ、なんとか。今も、毎日という感じではないですが、プライベートリポジトリのほうにちょくちょく上げたりはしています。あれに挑んだ時には「どうやったら草生やせるんだろう」と、そればかり考えていまして、プログラミングに対する意識というのがちょっと変わった気がします。
…とはいえ、ライブラリのバージョンアップだけで1日分にするような、ちょっとズルい部分もあったんですけれどね。とりあえずどんな形でも「絶対に1年は続けてみよう」と決めてやっていました。
idesaku:
普通に LINE でのお仕事をされている中で、どうやって「草生やす」ための時間を捻出していたのでしょうか。
sugyan:
もちろん仕事は真面目に…、ええ「真面目に」やりつつ(笑)、昼食を食べに出るときに頭を切り替えて、丸亀製麺で1人、うどんを食べながら「今日は何を書こうか」と考えるというのを毎日やっていました。
idesaku:
同僚や友だちと食事にいって、そこでの情報交換からネタを仕入れるようなことはされていなかったんですか。
sugyan:
人によってタイプが分かれると思うのですが、自分の場合、ものを考えるときには1人でいるほうが合っていますね。あと、その当時は近くの「現場(注:ライブなどのイベントを指すアイドルヲタク用語)」に行くにも遠征するにも MacBook を持参して「第1部と第2部の間に、会場近くのスタバでコードを書く」ようなこともやっていました。
idesaku:
ちなみに「現場」には、年間でどのくらい出かけておられるんですか。
sugyan:
えーと、記録をつけているんですが、昨年はだいぶ減って「214」…。
idesaku:
だいぶ減って214!
sugyan:
一昨年は「273」でした。2014年は「306」…。
idesaku:
…それを聞いてしまうと、毎日コードを書き続けるのは想像を絶する大変な日々だったと思うのですが、心が折れそうになることはありませんでしたか。
sugyan:
たしかに大変ではありましたけれど、自分で決めて始めた「趣味」でしたし、そこまで苦になることはなかったですよ。
「興味や関心が変われば、また別のことをやると思う」
idesaku:
TensorFlow は、もうじき1.0もリリースされそうですし(注:2017年2月15日に1.0がリリースされました)、今後裾野が一気に広がっていく可能性がありますよね。
sugyan:
自分が触り始めた頃は、あまり実際に使っている人も多くなかったのですが、最近人が増えてきたこともあって「どうやって個性を出していくか」は考えるようになりましたね。
idesaku:
今、「機械学習」や「ディープラーニング」という技術がバズワード的になっている部分もあって、今後さらに、さまざまな分野で活用が進むと思うのですが、最終的には「大量の入力データ」を「膨大なコンピューティングパワー」でなぎ倒していくことで、より高い価値を生み出せる世界のような気がしているんです。
sugyan:
まったくそのとおりだと思います。
idesaku:
そうなると、個人でいろいろとやっても、本腰を入れた大資本には最終的にかなわないという状況は予想されるんですけれど、今後、すぎゃーんさんがディープラーニングに関わっていくうえで、今までに築いてきた知見をどう生かそうと考えているのかというのに興味があるんですが…。
sugyan:
うーん……。
idesaku:
……。
sugyan:
…考えてないですね(笑)。
idesaku:
何となくそんな気はしていました(笑)。
sugyan:
もちろん、この知識やノウハウを仕事に生かせる機会があればいいと思ってはいるんですけれど、どうするのがいいのかなぁ……。
今やっている「アイドル顔識別」も、この先どこまで続けるんだろうといのは、たまに考えます。純粋に趣味でやっていて責任もないですし、自分の興味や関心が変われば、別のことをやるようになって、「以前、こんなの作ってました」というプロフィールのひとつになるようなこともあるのかなと思うのですが。
idesaku:
現時点では、趣味である「アイドル」と、技術的にホットな分野である「ディープラーニング」を組み合わせた領域で、いろいろやってみたいという思いは冷めていないのですね。
sugyan:
…ただ、自分としては、早くドルヲタを卒業して、もっと普通の趣味を持ちたいと常々本気で思っているんですけれどもね(笑)。
優勝4回でも気を抜けない「ISUCON」の奥深さ
idesaku:
アイドルの話でだいぶ引っ張ってしまったのですが、すぎゃーんさんは「ISUCON」の最多優勝者としての実績も素晴らしいですよね。次は ISUCON の話題に移りましょう。初めて参加されたのは、いつごろですか。
sugyan:
カヤックにいたころです。第1回の ISUCON は、2011年の8月でした。カヤックの同僚とチームを組んで出場し、強力なメンバーだったおかげもあり優勝したというのが最初です。その後、LINE に転職し、ISUCON2 では問題作りのお手伝いなどもさせてもらいました。その後は社内・社外を問わずチームを組んで出場を続けています。
idesaku:
kamipo さんもおっしゃっていたんですが、ISUCON は「チーム」での出場になるところも重要で、メンバーの誰か1人だけが強力でも、なかなか優勝できるものではありません。その条件で、複数回の優勝を勝ち取るというのは簡単ではないと思うんです。ISUCON で勝つためのチーム作りやメンバーの選び方には、何か秘訣があるのでしょうか。
sugyan:
私の場合は、身の回りにいる強そうな人をチェックしておいて、その人が作ろうとしているチームに混ぜてもらうことが多かったです(笑)。
idesaku:
ISUCON に出てくる方には、いわゆる「スゴ腕」として知られるようなエンジニアの方も多いですよね。そういう人たちの中に「混ぜて!」と飛び込んでいくのには、相当の勇気がいるような気もするんですが、あまりそういった意味でのプレッシャーは感じないタイプですか。
sugyan:
「自分のせいで負けたらどうしよう」といった意味でのプレッシャーは、もちろんありますよ。ただ、そういうチャンスがあるなら、プレッシャーに負けずに飛びついたほうがいいというのは常々感じています。最悪、コンテストで失敗しても死ぬことはないですからね。
idesaku:
過去のチーム優勝4回という実績は、やはりスゴイと思います。ISUCON で勝つために、すぎゃーんさんご自身が心がけていらっしゃることはありますか。
sugyan:
……「他のメンバーの足を引っ張らない」ことでしょうか。実際、「役割分担」はとても大切ですね。例えば、私の場合はアプリ側しかいじれないので、インフラ部分については、メンバーを信頼して任せるということを徹底しています。
idesaku:
Webアプリのボトルネック分析をする際には、局所的ではなく、大局的にシステムを見ていく必要がありますよね。それって、分業でできるものなのですか。
sugyan:
ISUCON に何度も参加していると、ベンチを走らせながら裏でログをとって、その中から必要な部分を抜き出して…といった形で、ある程度のセオリーは見えてくるんですよ。実際、ISUCON 用のログ解析ツールを作っていらっしゃる方もいるので、そうしたものを使ったりもします。
idesaku:
なるほど。ISUCON には、そうしたツールが共有されることで、世の中の Webサービス全般のレベルアップが促進されているという側面もありそうですよね。
個人的には、「Webアプリケーションの最適化」は、インフラから、フロントエンドまでの幅広い知識が必要とされ、全体を見ながら取り組まなければならない難しい領域というイメージを持っています。そのコンテストで、これだけの実績を残されていると、業界内では引く手あまたなのではないかとも思うのですが、実感はありますか。
sugyan:
うーん。そもそも、ISUCON はチーム制ですし、自分はアプリを書くことしかできないので、私個人がチーム優勝にどの程度まで貢献できていたかというのは、ある程度、分かっているつもりです。たしかに、賞をいただくことで自信は付きましたけれど、それにあぐらをかけるほどではないですよ。実際、昨年も負けてしまっていますし。
idesaku:
昨年のメンバーとは、初めてチームを組んだのですよね。
sugyan:
ええ。昨年のチームは、YAPC などで知り合ったメンバーで組んだのですが、一緒に作業するのは初めてでしたので、いろいろと事前に準備や練習などもしていました。そこから得られた成果もあったのですが、残念ながら競技上では勝つことができませんでした。参加者が増えたことで、全体のレベルも急速に上がっていますので、さらに精進しないといけませんね。
自分の作ったものを人が使ってくれるというのは、それだけで嬉しい
idesaku:
インパクトの強い「仕事外活動」のお話で盛り上がってしまったせいで、本業について伺うのをすっかり忘れてしまっていました。現在、LINE では何をされているんでしょうか。
sugyan:
いろいろやってきているのですが、最近手がけたものとしては、会社として力を入れている「LINE Bot」のバックエンドです。 LINE Bot の公式 SDK の Go版は、 Go に詳しい同僚と協力して作りました。
idesaku:
なるほど。LINE Bot に「アイドル顔識別 BOT(参照)」があるのは、そういう経緯でしたか(笑)。
sugyan:
Go の SDK を自分で書いた手前、それを使ってちゃんと Bot が作れることを試しておきたいという思いもありまして。顔識別については、自分で精度もチェックできますし。
idesaku:
趣味でやっていることが、ちゃんと仕事にも役立っているじゃないですか。LINE での仕事全般については、どんな印象をお持ちでしょう。
sugyan:
ここまでの話で、だいたい想像がつくかと思いますが「自分のための時間を作れる仕事環境」なのが本当にありがたいと思っています(笑)。
idesaku:
それについては、すぎゃーんさんの仕事の内容が、社内的にきちんと評価されているからこそだと思いますよ。…ちなみに「アイドル顔識別 LINE BOT」を、本職のアイドルの方が使っていらっしゃったりするケースはあるんですか。
sugyan:
私が知る限りでは、まだないですね。
ただ以前、「TOKYO IDOL FESTIVAL」というアイドルイベントのタイムテーブルから、自分が選んだものだけをまとめて画像化するアプリを作ったことがあるんですよ(参照)。以前から「こういうものがあったら便利だな」と思っていたものを自分のために作ったんですが、開催直前に公開したら話題になって、かなり多くの人に使ってもらえました。やっぱり「自分の作ったものを人が使ってくれる」というのは、それだけで嬉しいですよね。
で、この話には後日談があって、別のイベントの握手会に参加したら、そこにいたアイドルの1人がそのツールのことを知っていて「あれを作った人なんだ!」と喜んでくれたんです。これがさらに嬉しかった。
idesaku:
それは自慢したくなる!
sugyan:
「アイドル顔識別LINE BOT」も、アイドル好きの仲間には、多少宣伝しているのですが、できれば、アイドル本人が使って楽しんでくれるようなツールにできるといいですよね。……もしかすると、そこにたどり着いたときが、この旅のゴールなのかもしれません(笑)。
idesaku:
すぎゃーんさんのフットワークの軽さがあれば、その領域にたどり着くのも近いような気がします。
sugyan:
思いついたものをスピード感を持って形にするという意味での「フットワークの軽さ」は、できるだけ意識したいと常々思っています。それがなければ差別化が難しくなりますし、なにより、この分野で人に先を越されたくないという思いは強いですからね。
次回は世界を股にかける「iOSのエキスパート」が登場
idesaku:
今日はいろいろな意味で「濃い」お話しを聞かせていただき、本当にありがとうございました。さて、恒例で次のバトンを渡す方をご紹介いただきたいのですが。
sugyan:
ぜひ、堤修一さん(つっつん)に話を聞いてほしいと思っています。
idesaku:
堤さんとすぎゃーんさんとは、どういうご関係なのでしょう。
sugyan:
カヤック時代の元同僚です。彼、今は世界中を飛び回る iOS のスペシャリストとして、よくメディアにも顔を出しているのですが、私と一緒にカヤックにいたころは、それほど注目されるような人物ではなかったんですよ。
それが、非常に短い期間で猛烈に勉強して実績を作り、精力的に自分を売り込むこともしながら今の立場を築きました。勉強への意欲、フットワークの軽さ、行動力という面で、私が尊敬する人物のひとりです。
idesaku:
その堤さんに、すぎゃーんさんから聞いてみたいことはありますか。
sugyan:
自分もそれなりに頑張っているつもりなのですが、彼には「かなわない」と思うことが多いんです。彼の行動の原動力、モチベーションとなっているものが何か、最終的に目指すものが何か、というのはぜひ聞いてみたいですね。
idesaku:
すぎゃーんさんに、そこまで言わせるというのはかなりの方ですね。ぜひ伺ってみたいと思います。本日はどうもありがとうございました。
Forkwell では、ITエンジニアが自身のアウトプットを簡単に連携・管理し、スキルを可視化することができる「Forkwell Portfolio」を運営しています。
GitHub アカウントの連携により、登録されたリポジトリのコミットログを解析。普段書いているプログラミング言語や、コードの変更量をグラフ化します。