自己紹介
やまげん氏(以下、やまげん):CTO百景、はじまりました。モデレータはVoicyエンジニアリングマネージャーのヤマモトです。Voicyでは“やまげん”と呼ばれています。CTO百景が復活してからの第2回目のゲスト、PR TIMES CTO金子さんにお越しいただきました。よろしくお願いしまーす。
金子達哉氏(以下、金子):お願いします。
やまげん:さっそくですが、簡単に自己紹介をお願いしていいですか?
金子:今、PR TIMESの執行役員CTOをやっている金子です。CTOになったのが2021年4月からなので、もうちょっとしたら1年ぐらいですね。もともと新卒でピクシブに入社してインフラや開発をやって、5年弱ぐらいいました。その後にメルカリという会社に行って、SREチームでインフラや開発周りを見て。3年弱ぐらいいて、PR TIMESに来た感じです。お願いします。
やまげん:よろしくお願いします。ということで金子さん、2021年の4月からCTOになられたと聞いて驚いたんですけれど、(社会人としての)キャリアは8年目になるんですか?
金子:ぐらいですかね。
やまげん:けっこう早いといえば早い感じはするんですけれど。
金子:人によってまちまちなので、自分が早いとか遅いとかはあまり気にしていないんですけれど。
やまげん:そうなんですね。
CTOになるまでのキャリア
やまげん:今までピクシブさんやメルカリさんにいらっしゃったと思いますが、(そこでは)バックエンドやインフラ寄りの開発がけっこう多かったんですかね?
金子:そうですね。社会人になってからもJavaScriptを書くことはたまにありましたが、学生の時はjQueryが主流だったので、jQueryはかなり書いた気はします。最近もモダンなフロントエンドはそんなに触っていなくて、基本的にはバックエンドやインフラが中心です。
やまげん:それはご自身で希望してなのか、それとも配属もあってなのか、どちらですか?
金子:ん〜、そうですね。あまり考えていませんでしたが、個人的にはバックエンドのほうが好きだったので。そういったことで、気づいたらバックエンドやインフラが中心になっていたという感じですかね。
やまげん:実際はどのあたりが好きなんですか?
金子:Webサービスを作りたいとずっと思っていたので、Webサービスを作っている感というか、ちゃんとデータ保存をして、ネットワークでAPIを返してとか。Webサービスを作っている感が、僕の中ではバックエンドやインフラのほうがわかりやすかった。
「Webサービスを作りたい」という感情の原体験
やまげん:(金子さんが)Webサービスを作りたいとお話されている記事も拝見して。具体的にどういったイメージなのかを深掘りしてみたいのですが。
金子:どういうイメージ?
やまげん:はい。「Webサービスを作りたい」みたいなことを思ったのは、どういった原体験でそう考えられたんですか?
金子:大学生の時に、小さな会社でしたが、とある会社のCTOの方に「Webサービスの開発をやってみない?」みたいな感じで誘われて。それで、Webサービスの開発に携わったんですよね。
そこで初めてデプロイした時がすごくうれしかったというか、自分が書いたソースコードがちゃんと動いているということが、僕の中ではけっこう衝撃だったというか。本当に数行とかだったと思うんですけれど。
ぜんぜん大したことはありませんが、当時は大学生で、そういったことをやったことがない僕にとってはかなり衝撃的で。「あ、こういうふうに、自分が書いたコードをちゃんと届けられるんだ」というところにけっこう衝撃というか、楽しさを覚えて。そこで「ちゃんとWebサービスを作る方法をいろいろ知りたいな」となったのがきっかけです。
やまげん:うわ、メチャクチャわかります。僕も大学生の時、インターンで当時SaaSを作っている会社でJavaで開発をした時に、「自分が開発したものがこんなふうにできるんだ」というところに本当に感動した覚えがあるので。そういった感覚に近いですか?
金子:そうですね。たぶん近いと思います。そういう原体験を今でも覚えているんですよね。感動というか。それで「もっともっといいものを届けたい」という気持ちがずっと続いている感じです。
やまげん:なるほど。僕もけっこう近いかもしれないです。僕もわりとバックエンドのキャリアを歩んでいて、バックエンドがすごく好きなのも、「Webサービスを作る」みたいなところは共感ができると思っています。
フロントエンドの魅力
やまげん:自分のことを考えながら今話していたんですが、実は僕はそこまでフロントに魅力を感じていなかった面もあって。フロントエンドの魅力みたいなところは感じたりしましたか?
金子:それでいうと、僕が大学生の時に最初に作ったのって、Androidアプリなんですよね。
やまげん:そうなんですね。
金子:今でもそうだと思いますが、「プログラミングを始めたいな」と思った時に最初に触るのって、フロント寄りというか、アプリやJavaScriptになることがたぶん多いんじゃないかなという気はするんですよね。
大学で情報系とかに行くと、C言語で最初(に習う)「Hello World」とかをたぶんやると思うんですけれど、ああいうのって逆に「これは何に使えるの?」みたいな。「え? これブラウザで動かないじゃん」「ブラウザでマウスクリックして云々とかできないじゃん」ってたぶんほとんどの人はなると思うんですよね。
やまげん:はい。
金子:そう考えると、UIのプログラミングのほうがたぶん初心者はとっつきやすい。「プログラミングに詳しくない人もとっつきやすいのかな」というのはありますね。それに、やはりダイレクトにユーザーが触る部分なので、サービスの根幹はけっこうUIのほう(にあるの)かなというのもあったりするので。ユーザー体験という意味でいうと、どんなに素晴らしいAPIを作っても、結局UIが微妙だったら微妙なので。
そこに楽しさはあるのかなと思っています。(ただ、フロントエンドについては)僕はあまり慣れていない、そんなにちゃんとやってきていない部分ではあります。
やまげん:そこにも魅力はありつつ、バックエンドにはまっていくようなイメージなんですかね。
金子:そうですね。僕はバックエンドをちゃんとやっていきたいなという(気持ち)の(ほう)が多かったですね。たまにJavaScriptも書きますけれど。ブラウザではJavaScriptしか動かないので。
やまげん:僕も(フロントエンドの)ネイティブみたいなところは触ったことがあって。それでも僕はやはりハードウェア寄りのことがすごく好きだったなと思いながら聞いていました(笑)。
ISUCONで2位・3位を獲得した時にはどんな気持ちだったか
やまげん:金子さんといえば、ISUCONの運営もやったことがあり、かつ準優勝ですか、優勝ですか。
金子:準優勝ですね。優勝はしたことがないですね。
やまげん:準優勝をされて。
金子:2位と3位はあるんですけど、優勝はないですね。
やまげん:あはははは(笑)。メチャメチャ悔しいですね。
金子:そうですねー。いつか優勝できる日はくるのか……わからないですね。
やまげん:その時ってどんな気持ちになるんですか? 「もう少しで獲れたな」なのか、「まあがんばったな」っていう気持ちなのか。
金子:「もう少しで獲れたな」のほうが強いですね。
やまげん:ああ、やはりそうなんですね。「こういうベンチマークをしたらここの点数が上がった」みたいなところはあったりするんですか?
金子:メッチャ思います。「ああ、ここをやっていれば優勝だったのか」とか。メッチャ思っています。
やまげん:2位と3位だったのは、ISUCONの第何回目ぐらいだったんですか?
金子:僕が初めて出たのがISUCON4で、その時に2位で。ISUCON8の時に3位で、その後に「運営をやりませんか」という(声をかけられた)感じですね。
やまげん:そうなんですね。
金子:ISUCON5の時は本選には出ていて、何位だっけな。8位とかそのくらいでした。ISUCON4で2位だったこともあって、「次は出題どうですか」みたいな感じで言われて、ISUCON6の出題をやったんですよね。その後、ISUCON8で3位だったので「運営をやりませんか」という話になって、ISUCON9で出題をやったという感じです。
やまげん:なるほど。ちなみに、運営をやると出場はできなくなる感じなんですか?
金子:できなくなりますね。
やまげん:そうなんですね。
ISUCONについて
やまげん:急にISUCONの話を始めてしまいましたが、今聞いている方々の他にも、アーカイブ放送でたくさんの方に聞いていただく想定になっているので、せっかくなのでISUCONの説明を金子さんからいただくことはできますか?
金子:(ISUCONは)LINEさんが主催しているイベントで、ざっくり言うと、「あるWebサービスを与えられて、そのWebサービスを一番速くした人が優勝」という大会です。
言語は複数あります。僕はふだんGo言語を使いますが、Go以外にもRubyとかPHPとかPythonとか、他の言語もだいたい用意されていて、挙動は基本一緒になっています。
そのWebサービスに対して負荷をかけてくる“ベンチマーカー”というプログラムがあって、そのベンチマーカーから大量のリクエストが来るので、(そのリクエストに対して)対応したレスポンスを返せば優勝という感じですね。
やまげん:ありがとうございます。バックエンドエンジニアの能力の日本選手権みたいな感じ?
金子:そうですね。基本的にバックエンドエンジニア向けの選手権みたいな。『ドラゴンボール』の「天下一武道会」だとよく言いますね。
やまげん:天下一武道会(笑)。まさにそのとおりですね。実は僕も2年前ぐらいに出たことがあって。予選ギリギリで敗退したという。
金子:ISUCON9ですかね。
やまげん:ISUCON9だったと思いますね。
金子:なるほど。じゃあそれは僕が作ったやつですね。
やまげん:やだ(笑)。
金子:isucariですかね。
やまげん:isucariです。
金子:isucariは僕が作ったやつですね。
やまげん:あら(笑)。その時、ちょっと苦汁を舐めましたね。
金子:あの問題は大変過ぎるんですよね。メッチャ疲れると思います。
やまげん:ベンチマーク直前で出た点数に対して、変更して回したら点数が落ちて。その点数からロールバックしたんですが、点数は戻らなくて。最終的に、落ちなかった点数だったら予選突破してたみたいな感じで。
金子:なるほど。当落線上ですね。
やまげん:際どいところで、けっこう悔しかった思い出があります。
金子:そういうのって、悔しいんですよね。ISUCONはほとんどの人が勝てないので、だいたいみんな悔しい思いをして終わるんですよね。
やまげん:確かに(笑)。優勝するしか悔しくなくなることがない。
金子:基本的に優勝する以外の人は全員悔しいんで。そういう会ですね。
(次回に続く)