RubyPrize2018 最終ノミネート者 金子雄一郎/Yuichiro Kaneko Interview

Placeholder image

大学は普通に文系の大学に行って、最初の仕事って僕、経理なんですよ。


まつもとひろゆき
まつもと
Ruby Prize最終ノミネートでおめでとうございます。
金子雄一郎
金子
ありがとうございます。
まつもとひろゆき
まつもと
このインタビュー読む人は金子さんのこと余り御存じないと思うので、何から聞こうかな。じゃあ、プログラミングに接した最初のあたりはどんな感じだったんでしょうか。
金子雄一郎
金子
何か、遊びとかも含めて言うと、たしか中学生か高校生のときにWindows機を親に買ってもらって。父親がうち、プログラマーというか組み込みのエンジニアなんですね。だからCとか書く人なんで、興味があってCコンパイラとかをどっかからともかく落としてきて、テキストどおりやるんですけど全然おもしろくなくて。
まつもとひろゆき
まつもと
おお。テキストつまんないもんね。
金子雄一郎
金子
何もつくるものがなかったので、それで一回やめちゃって。 そのあと大学は普通に文系の大学に行って、最初の仕事って僕、経理なんですよ。
まつもとひろゆき
まつもと
経理。
金子雄一郎
金子
メーカーで経理をやってたんですよ。そのときに、何か経理やってて、毎回同じような計算ばっかするんですよね。手計算っていうかエクセルでやるんですけど、何か嫌になってきちゃって。
まつもとひろゆき
まつもと
まあ気持ちはわかる。
金子雄一郎
金子
そのときプログラムっていうのがあるらしいっていうか、SQLがあるらしいっていうのを知って、SQLの勉強を始めたのが、今に続くっていう意味では最初です。
まつもとひろゆき
まつもと
大学卒業して、経理の仕事したら、何かいや、プログラミングがあるよねっていうふうに改めて思った。
金子雄一郎
金子
そうです。「プログラミングってこういうときに使えばいいんだ」みたいな気持ちがそこで初めて出て、そのときにデータベースの勉強をして、そのあとでアプリケーションの勉強をして、自分の計算範囲は全部、自動化してたんですよ、実は。何かそしたらプログラミングって割とおもしろいし、便利じゃんってなって、エンジニアになろうと思って転職して、その後エンジニアをずっと今やってるっていう。
金子雄一郎
まつもとひろゆき
まつもと
最初の会社は経理何年いたんですか。
金子雄一郎
金子
3年いました。
まつもとひろゆき
まつもと
ふうん。その後はエンジニアとして。
金子雄一郎
金子
はい。
まつもとひろゆき
まつもと
どんな仕事が多かったですか。やっぱりWeb系。
金子雄一郎
金子
ずっとWebでRuby on Railsですね。エンジニアになってからは。
まつもとひろゆき
まつもと
じゃあ、転職してエンジニアなってからがRubyとの出会いという感じ。
金子雄一郎
金子
Rubyとの出会いは、実はもうちょっと前で、経理の時代に最初は自分の仕事を効率化しようと思ってたんですけど、だんだんプログラミングがおもしろくなってきて、そのときに、とはいえ、土日まで自分のシステムつくるって別におもしろくないんで、何かないかなって思ってたら、GitHubって当時結構はやっていた、って言ったら変ですね、ソーシャルコーディングとかがあった時代だったんで、そのときに何かRubyっていうのを見つけて、Rubyのgemとかに割とコミットしてたんですよね、経理時代に。
まつもとひろゆき
まつもと
もう既に。
金子雄一郎
金子
はい。
まつもとひろゆき
まつもと
へえ。
金子雄一郎
金子
たまたま2013年のRubyWorld Conferenceに大阪にいたんで来れる範囲だったんで来てみて、それこそ2013年の近永さんが受賞したRuby Prizeを見て、オープンソースの世界っていいなみたいな気持ちになって、入信したというか。
まつもとひろゆき
まつもと
まさか、自分がとるとはって。
金子雄一郎
金子
そう、5年後に。
Rubyとの最初の接点は、gemの開発に参加していたのと、当時プログラミングを勉強するのに、青木峰郎さんが、ウエブで公開しているRuby Hacking Guide(http://i.loveruby.net/ja/rhg/)っていうか、日本語では何でしたっけ。
まつもとひろゆき
まつもと
『Rubyソースコード完全解説』とか。
金子雄一郎
金子
それを経理時代に見て、Rubyとかプログラミング言語の実装に興味を持ったっていうのが多分、接点です。
まつもとひろゆき
まつもと
そうか、青木さんの成果大きいな。 そういう人結構いるんだよね。多分"コミッターとかにもね。"だと思います。Ruby Hacking Guideを読んで興味をもってコミッターになった人が他にもいるので。
金子雄一郎
金子
結構いるみたいですね。あとで調べたら。
まつもとひろゆき
まつもと
そうそう。「Ruby Hacking Guide見ました」みたいな人、結構いるんだよね。だいぶ後進を育てた感じ。 でもそれって、文系の大学を卒業して経理で働いて、途中でソーシャルコーディングでGitHubにプルリクエストを送ったりって、すごい伸びてませんか。
金子雄一郎
金子
何か、そうなんですけど、何だろうな。
金子雄一郎
まつもとひろゆき
まつもと
普通の人は入門からずっとやって、だんだんっていう感じのが多いのに、割と成果が早いっていうか、成長が早いっていうか。
金子雄一郎
金子
それでいうと、最初にいじってたライブラリがPryっていう、irbのもっとリッチなやつみたいなんです。あれって、すごく学習によくて、メタプログラミングの塊なんですよ。
まつもとひろゆき
まつもと
ですね。
金子雄一郎
金子
だから、Rubyのことを勉強しながら、
Pry( https://github.com/pry/pry)を読んで、バグを見つけると直すし、チケットとかがあるんで、何か適当に探して、という自分のできる課題が結構あったんで、僕はそこを切り口にソフトウェア開発をしていくようになったみたいな感じです。
まつもとひろゆき
まつもと
何か、少年漫画みたいですよね。なんか、物すごい成長して、実はお父さんはプログラマーだったとか。
金子雄一郎
金子
やばい、やばい、やばい。(笑声)
まつもとひろゆき
まつもと
知の力が目覚めたみたいな。
金子雄一郎
金子
危ない話になってる。
まつもとひろゆき
まつもと
いいよ、金子さん実は少年漫画主人公っぽい感じ。
ありがとうございます。
じゃあ、Pryから今はどっちかっていうと、パーサとかだけど。
金子雄一郎
金子
そうです。
まつもとひろゆき
まつもと
Pryも構文解析しないと、入力、解析できないから、その辺のつながりっていうことなんですかね。
金子雄一郎
金子
そうですね、直接はそんな感じじゃないんですけど、もともとプログラムがどうして動くのかみたいなところが、すごく不思議だったんですよ。もっとちっちゃいころから、父親がプログラムの説明をしたりするんですけど、どうもプログラムって0、1らしいと、全部。
まつもとひろゆき
まつもと
そうだね。
金子雄一郎
金子
そうすると、当時は何でデータとプログラムというものが、同じ0、1で表現されているのに、コンピューターは区別がつくんだみたいなのがわからなくて。
まつもとひろゆき
まつもと
なるほど。
金子雄一郎
金子
そういうのに興味があったということで、Rubyのインタープリターとか、Rubyの構文解析とか、あとはカバレッジだとか、デパッカーだとかみたいな、言語を使う上で結構コアになる言語の中に組み込まれているような機能ってあるじゃないですか。そういうのに、割とずっと興味があって、構文解析に至ったのは、もともとRubyでいうと、coverage.so(https://github.com/ruby/ruby/blob/v2_6_2/ext/coverage/coverage.c)というか、カバレッジ拡張ライブラリって、mameさん(https://github.com/mame)が。
まつもとひろゆき
まつもと
ずっとやってられてますよね。
金子雄一郎
金子
メンテしてるやつに興味があって、その流れでその辺をずっと読んでいて、たまたまmameさんが2017年ですかね、去年あの辺を拡張するのに、こういう機能が欲しいんだけどって言われたときに、たまたま僕がパーサに興味があったんでいじり始めてっていう感じなんです。
金子雄一郎
まつもとひろゆき
まつもと
なるほどなるほど。
金子雄一郎
金子
僕にとっては何か数あるうちの一つのカバレッジからたまたま今回、パーサに結びついたみたいな。
まつもとひろゆき
まつもと
狙ったっていうか、ずっとパーサがっていう感じではなくて。
金子雄一郎
金子
ではなくて、たまたまチャンスがそこにあったっていう感じです。
まつもとひろゆき
まつもと
じゃあ、幾つか聞きたいことがあるけれど、一つは今カバレッジからパーサに来たんだけど、今後こっちの方面みたいなのって考えてますか。
金子雄一郎
金子
そうですね、一つはだからパーサの延長線で、昨日話されたと思うんですけど、入力支援じゃないけれど、そういうパーサを活用したジャンルっていうのに何かチャンスがあれば何かやってみたいなっていうのがあるのと、あと何ていうんだろ。割とスタティックアナリシスというか、Ruby3でいうと、あのジャンルに関してやっぱり興味があるので。
まつもとひろゆき
まつもと
mameさんや宗太郎さんやってるところですね。
金子雄一郎
金子
はい。速度とか、コンカレンシーじゃない部分で何かないかなみたいなのは探してる感じです。
まつもとひろゆき
まつもと
そうですね。やっぱり今後、周辺ツールの充実、型解析とかも含めてRubyの発展の鍵になるような気がしているので、そこが最初の一歩になりそうかなっていうふうな期待はあるんですよね。Ruby3が出た後、Ruby4ってのは、文法は余り変わらないんだけど、周辺ツールが充実してきたよねっていう感じの成長になるんじゃないかなって、Ruby4って言ったのは昨日なんだけど。(笑)
じゃあ、そういう感じでパーサも一つの通過点としてさらにASTとかを経由して、ツールとかに行くかもしれない。
もう一つ聞きたいことは、Ruby Prizeって、Treasure Data率高くてですね、「Treasure Dataに貢献するRuby Prize」というふうな感じになったんですけれども、昨年がノミネート3人のうち2人がTreasure Dataで、今年はノミネート3人のうち2人がTreasure Dataっていうことで、2年続けてPrize受賞者は、Treasure Dataの人だったということなんですけども、Treasure Dataってどんな感じの会社ですか。私も全く無関係と言わないんだけども。
どっちかって言うと、開発者としての雰囲気みたいな感じが聞きたいな。フルタイムじゃないじゃないですか。例えば、クックパッドで雇ってるフルタイムコミッターと違って、フルタイムではないんだけど国分さんも、kamipoさんも金子さんもみんなすごいたくさんの貢献をしてますよね。
金子雄一郎
金子
基本的に会社というか、エンジニアが割とオープンソースが好きだし、自社は自社でオープンソースのプロダクトを持っているし、使っているオープンソースに問題があればバッチを仕事中に書くのは普通だ、みたいな人たちがいっぱいいるし、あとはtagomorisさんみたいな、Rubyを極限まで悪さして使おうみたいなユーザーもいたりとかして、邪悪なアイデアがいっぱい飛んでくるみたいな環境ではあったりとかします。あと、結構エンジニアリング、ソフトウエアを書くことに対してすごく真っ正面から向き合う人が多いと思っているので、その問題の切り分けをするときに、例えば自分が書いてるアプリケーションが問題を起こしているとか悪さをしているのか、それとも下支えをしているライブラリなのか、フレームワークなのか言語なのかもっと下の何かなのかっていう、どこが直ると一番ハッピーかっていうのはみんなすごくよく考えていると思っていて、問題がオープンソースにあるときには、パッチを書くってことになるし、ていう会社だと思うので、すごくやりやすいというか。
金子雄一郎
まつもとひろゆき
まつもと
なるほど、じゃあエンジニアとしての環境はすごくいいと。
金子雄一郎
金子
そんな宣伝ぽいですけど。
まつもとひろゆき
まつもと
いや、Treasure Dataに就職したいっていう人もいるかもしれないから。 最後に、金子さんご自身のもうちょっと広い範囲内で、例えばキャリア全般とか、あるいはそれよりもっと広いかもしれないけれども、未来についてどっちの方向、向こうかなとかみたいな考えありますか。
金子雄一郎
金子
結構、根がプー太郎なんで、そういうことは余り考えてないんですけども、今でいうと、やっぱり会社が分散システムとかを扱ってる会社で、なかなかそういうのプロダクトで扱える機会ってないので、そういうところは、今の会社にいるうちにやっておきたいなってのもあります。あと、やっぱりプログラミング言語そのものは、好きというか楽しいので、プログラミング言語の話でいうと、特にローカル型推論とかをする言語って結構メジャーというか、増えてきたと思っていて。
まつもとひろゆき
まつもと
増えてきましたね。
金子雄一郎
金子
そういうところを実際プロダクトレベルで自分が書けるか別としても、型の話とかは、自分でそれっぽいコード書いてみたりとか、勉強してみたりってのは結構していて、その延長線で何かおもしろいものがあるといいなっていうふうには思っているので、Ruby3というか、mameさんの活躍に僕はすごく期待しているというか。
まつもとひろゆき
まつもと
そうですね。あと、mameさんもそうだけど、Miuraさんが型推論して、Cにトランスレートするみたいなのやってて、その静的にわかる型情報は全部突っ込んで、Cに展開するみたいなのをやってて、これも化けるかもしれないなというふうに思って、抽象実行を最初に、こっちのほうに適用するって言い出すのもMiuraさんだし、恐るべし水道屋さんって感じなんだけど。じゃあ、もしかしたら、型推論とか言語とかちょっとコアなほうに。
金子雄一郎
金子
そうですね。
まつもとひろゆき
まつもと
行くかも、ついても考えるかもしれない、興味もあるということですね。 じゃあそんな感じで、今後とも活躍を期待しています。
金子雄一郎
金子
ありがとうございました。
まつもとひろゆき
まつもと
また一緒にRubyやるのも楽しいと思いますし。
ありがとうございました。
金子雄一郎
金子
ありがとうございました。
スムーズに進めるために様々な問題に取り組む/国分崇志インタビュー
新定番の道しるべに/三好インタビュー