見出し画像

Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」

このたび STORES にRubyコミッターの笹田耕一さん、遠藤侑介さんが入社されることになりました。入社に先駆けて、CTOの藤村大介さんがお二人にたっぷりとお話を聞きます。プログラミングとの出会いから STORES を選んだ理由、これからのRubyのこと、そしておふたりの「Fun」とは。

聞き手:藤村大介(CTO)

PROFILE:
笹田耕一さん

大学在学時からRuby向け仮想マシンYARVを開発し、2007年に「Ruby 1.9」に採用される。以降、Rubyコミッターとして、言語処理系の高速化に従事し、仮想マシンやガーベージコレクションの性能改善などを行なう。Rubyアソシエーション理事 (2012〜現任)。博士(情報理工学)。

遠藤侑介さん
大学院修了後、大手電機メーカーで研究開発職としてソフトウェア工学の研究開発に従事する。そのかたわら、Ruby 2.0のリリースマネージャーを努めるなどRubyの開発に携わる。2017年から職務としてRubyの開発を行う。著書に『あなたの知らない超絶技巧プログラミングの世界』『RubyでつくるRuby——ゼロから学びなおすプログラミング言語入門』、共訳書に『型システム入門——プログラミング言語と型の理論』など。

STORES へようこそ!まずはお二人のご紹介


──まずは、「STORES People」の読者の方向けにお二人のご紹介をしたいと思います。代表作を教えていただけますか。

お話を聞いた、笹田耕一さん

笹:Rubyを使っている人ならば自然と使っている下回りの部分をずっと触ってきました。例えばRubyのバーチャルマシン(以下、VM)、ガーベージコレクタ、スレッドまわりを書き直しているのが代表作になると思います。ここ最近は、Rubyで並列処理を書くための仕組みであるRactorと、それに合わせてスレッドまわりを作り直しています。

お話を聞いた、遠藤侑介さん


遠:最も時間をかけたのは、現在も進めている、型解析ツールであるTypeProfです。これまでに3、4年かけてこれに取り組んできて、まだ満足行くほどの出来になっていないので代表作と言えるかはわかりませんが。また、自分がRubyに実装したものの中で最も多くの人が使っているのはキーワード引数です。これは、僕がRuby 2.0で最初に実装し、Ruby3.0で変更したものです。

はじめてのプログラミングから、Rubyコミッターになるまで

──これまでにさまざまな機能を手掛けているRubyコミッターのおふたりが入社してくださることで、STORES がRubyに寄与できるのはとても嬉しいことです。ここからは、少し時間を遡ってプログラミングとの出会いのお話を。おふたりはどのようにプログラミングと出会い、Rubyコミッターになられたのでしょうか。

笹:私がプログラミングに出会ったのは中学生の時でした。それまでも興味を持っていたものの自宅にはパソコンがなく、中学校にあったMacが初めてのパソコンでした。高校生になると自分のMacを買ってもらい、それをHyperCardで動かしたり、PC-9821を中古で買ってきたりして。その後パソコン通信の存在を知り、そのホストのプログラムを弄り始めたのがプログラミングの始まりでした。大学ではシステムやOSの研究室に在籍しましたが、言語処理系に興味があり学部4年生の頃にRubyに関わり始めました。その頃『Rubyソースコード完全解説』を読書会で読み、「これはもっと良くなるな」とVMを書き始めました。博士2年の時に声をかけていただき博士を中退して大学教員になり、その後もRubyインタプリタを改善するRubyコミッターとして会社に在籍してきました。

遠:僕は4、5歳の時にPC-8001に触れたのがパソコンとの出会いでした。父がエンジニアだったので、パソコンが家にあったのです。当時はゲーム機の代わりのような感覚で触っていました。まともにプログラミングを始めたのは大学の時。学科やサークルでプログラミングの基礎を学びました。Rubyとの出会いは、サークルの先輩から教えてもらったのが始まりです。大学では面白くて優秀な仲間に囲まれていたので、何かを作ってまわりの人に見せて反応をもらえれば満足でした。しかし、卒業後電機メーカーに就職すると、周囲にプログラミングだけに興味がある人は少なくなって。プログラミングについてがっつり語れるコミュニティを探していた時に、Ruby 1.9.0の大きな変更があることを知り、そのバグ出しを手伝ったのが縁でコミッターにしてもらいました。その後はRuby 2.0のリリースマネージャーをしたり、RubyKaigiで発表をしたりして、Rubyと関わってきました。

STORES を選んだ理由は、「10年後ありたい姿への共感」、「集中できる環境」

──この「STORES People」史上最も「アカデミア」な経歴ですよね。そんなお二人が STORES に入社してくださったのは、どんな理由からなのでしょうか。

笹:まず、STORES が我々を大変高く評価してくれたというのが大きな理由です。ありがたいことにお声かけいただいた会社は他にもありました。そんな中大きな決め手になったのは、藤村さんが「10年後に何をしていたいですか」と訊いてくださったことです。「コミッターがいるとなんかいいよね」ではなく、実際に我々が何をしたいかを訊いてくれて、「すごいですね、わくわくしますね」とそれに共感してくれた。初めてのことでした。

遠:僕にとっての STORES のイメージは入社前から特別でした。まず、転職活動をする上でRubyKaigiにブースを出していた会社は印象が強かった。さらに、Rubyコミッターの卜部昌平(@shyouhei)さん、前職で一緒に働いていた小室 直さん(@hogelog)がいる会社ということで特別な印象を持っていました。その上で、「とにかくRubyの開発をしてほしい。それだけに集中してほしい」と断言していただけたのが入社の決め手になりました。実際に、転職活動は集中できる時間が十分取れず、Ruby開発の手が止まってしまってました。集中できる環境を提供していただけそうなのがとてもいいなと思ったのです。

──おふたりと長く一緒にはたらくならば、長期的にどんなことを目指しているのかをちゃんと理解してサポートしなければならないと考えていたのです。そうでなければ、じっくり腰を据えて仕事をしていただけないと思っていたので。あらためて、これからどんなことに取り組んでいきたいかをお聞かせいただけますか。

笹:Rubyの並行並列処理のための仕組みをさらに進めて、みんながもっと使いやすい形にしていきたいと思います。GoやElixirなど他の言語の選択肢がある中で、「Rubyもいいんじゃない」と思ってもらえるようにしていくのが目標です。また、Rubyはこの間30周年を迎え、私もRubyのVMを作り始めて長くなりました。ずっと改善が続けられていますが、ベースとなる部分はかなり古いので、そのあたりを刷新すると面白いんじゃないかと思っています。

遠:僕は、まずは今やっていることを引き続きやっていくこと。その上で、この先Rubyの開発体制に変化があっても魅力的な言語であり続けるために、僕にできることを探したいなと思います。Rubyのこれからの10年は、変革の10年になる可能性が高いはずで、開発体制が委員会制になるなどの変更が見込まれています。そのような変化があっても、他の言語に抜かれてしまわないように、チャレンジングな意思決定ができるようにしなければならないなと感じています。

それぞれの「Fun」と STORES とRubyのこれから

──それらが、STORES で実現されると思うとわくわくしますね。最後に、STORES のミッションである「Just for Fun」にちなんで、お二人の「Fun」について聞いてみたいと思います。

笹:私は何かを考えている時がやっぱり一番楽しいですね。VMの構造をどうするかを電車の中で立って考えているだけでも楽しいんです。プログラミングを続けられたのは、そんな楽しいことをお給料をもらいながらやれる環境があったからこそなんですよね。

遠:面白いですね。僕は考えている時も楽しいですが、リリースする瞬間もかなり楽しいと感じます。みんなが頑張った変更をリリースできて、たくさんの人が使い始めて価値になる瞬間が好きです。

──お二人の中にもそれぞれの「Fun」があるんですね。僕はおふたりを迎えることで、STORES の開発にもさらに「Fun」が増えるだろうと感じています。STORES のバックエンドの半分以上を支えているRubyの、歴史、仕組み、その全部がわかる人が同僚にいるのはとても嬉しいことですから。Rubyを車に例えるなら、エンジンルームを開けてどう動くかを知っている人が同僚にいるのと同じこと。こんなに心強いことはないですよね。

笹:我々も、STORES ではたらくからこそ、何かできることがあったらいいなと思います。実際にRubyを使っている人たちから、課題やフィードバックを吸い上げられるのが楽しみです。

遠:そうですね。僕らはRubyの中身には詳しいけれど、それを使ってビジネスをしたことはないですから。Rubyを使ってどんどん価値を生み出している STORES から、これからのRuby開発のヒントを得て改善していきたいと思います。

(写真・文:出川 光)

\ STORES では一緒にはたらく仲間を募集中です!/


いいなと思ったら応援しよう!