開発体験を向上し、開発者の時間を豊かに。タイミーのRubyコミッターとして実現したいこととは?
ミッションに「『はたらく』を通じて人生の可能性を広げるインフラをつくる」を掲げるタイミー。プロダクト開発組織ではミッション実現を目指し、開発における生産性向上やコード品質向上に取り組んでいます。
今回は、タイミー初のフルタイムRubyコミッターとして入社した松本 宗太郎さんにインタビュー。入社の経緯やRubyコミッターとしてタイミーでやり遂げたいことなどをお聞きしました。
※本記事の内容は2024年6月公開時点のものです。
プロフィール
手に馴染んだ技術を快適に使い続けるためにRubyを追究
ーー本日はよろしくお願いします!松本さんは大学時代からRubyプログラムの研究をしてきたんですよね。やはり学生時代からRubyへの関心が高かったのでしょうか?
そうですね。少なくともRubyを身近には感じていたと思います。私が在学していた筑波大学はRuby開発者であるまつもとゆきひろさんがOBということもあって、夏期集中講座にまつもとさんが登壇したり、学生と食事をしてくれたり。私自身は残念ながらその場に参加できなかったのですが、Rubyというプログラミング言語が常に身近にある環境でした。
当時、私が所属していた研究室では「OCaml(オーキャムル)」というプログラミング言語を使っていたのですが、「RubyでもOCamlのように型検査ができればいいのに」と考えてRubyの研究を開始することに。なんとなく身近にあったものから「向き合うべきもの」に変わっていきました。
ーー学生時代からの活動が今も続いているのはすごいことですよね。何がRubyを追究し続けるモチベーションになっていたのでしょうか?
手に馴染んだ技術をより快適に使いたいという気持ちはあったかもしれないですね。今でこそWebアプリの開発における技術の選択肢は多岐にわたりますが、私がWebアプリケーションを作り始めた2010年ごろは、ほぼRuby on Rails一択。多くの現場でRuby on Railsを採用することが自然な状況だったと思います。
当然、使えば使うほどRuby on Railsが手に馴染んでくるわけですが、それでもRubyで開発する上で辛いこともあるわけで……。その辛いところを直していきましょうというモチベーションで続けてきました。自分がRubyを使い続けるために地道に手直しをしていたら、自然と長く付き合うことになっていた感じでしょうかね(笑)。
ーー開発体験の向上を目指したい想いがあったんですね。タイミーに入社するまではどのような活動をしてきたのでしょうか?
博士課程修了後は、学生時代に出会った知人と会社を立ち上げました。約6年間、Webアプリケーション開発実務や技術周りの意思決定に携わった後、コードレビュー支援サービスを提供する企業のCTOに就任。この頃に型検査ツール「Steep」の開発を開始し、Ruby関連のイベント登壇なども増えてきました。
そして、2019年にはRubyの開発に集中できる環境を求めて外資系のIT企業へ。社内向けのアプリケーションを開発して業務改善をする傍ら、Rubyコミッターとして「Steep」やRuby標準の型定義言語「RBS」の開発など、RubyのOSS活動も継続してきました。
100%Rubyの仕事に集中できる。フルタイムRubyコミッターとしてタイミーへ入社
ーータイミーにはフルタイムRubyコミッターとして入社いただくことになりました。入社の経緯を教えてください。
まずは、Rubyコミッターとして活動することを理解してくれる企業を探していました。とはいえ、そもそも「Rubyコミッターを採用します」という求人票は世界中どこを探してもオープンにはなっていません。個人的につながりのあるRubyコミッターたちにも相談する中で「この会社はどう?」と候補としてあがった企業の一社がタイミーだったんです。
いくつかの企業に話を聞きましたが「100%Rubyの仕事をして良いですよ」と言ってくれるところは流石に多くはありませんでした。タイミーはそこに対して一番前のめりになってくれましたし、事業成長も著しく、働く環境も整っています。選考中には数名のエンジニアの方と会話をさせていただきましたが、一緒に働くことになる彼らの印象も非常に良くて「ここなら自分が望む活動ができそうだ」と入社を決めました。
ーータイミーでも最初から「Rubyコミッター」というポジションをオープンにしていたわけではないですよね。懸念点などはなかったのでしょうか?
前職時代の苦い経験として「自分のしている仕事が理解されているのかなかなか自信が持てなかった」というものがありました。もちろん直属のマネージャーは理解してサポートしてくれていたと思うんですが、組織全体として見るとなかなか興味を持ってもらいづらくて……。正直「あの人は何をやっている人だろう」という見方もあったと思います。
なので、タイミーの中での「自分の立ち位置」については、早めの段階から「全社レベルで明確になっていると良いのではないか」という話はさせてもらっていました。できることとできないことがあるのは大前提ですが、たとえば「Rubyの開発をする専門チームの立ち上げ」など、今後想定されるプランについても少しディスカッションさせてもらって、お互いの懸念点と期待値を確認していきましたね。
Rubyプログラミングの環境を改善し、開発者体験を向上させる
ーータイミーでの活動と松本さんのミッションについて教えてください。
入社直後は私が所属しているCTO室のメンバーと1on1をさせてもらって相互理解に努めたり、5月15日から開催された「RubyKaigi2024」に登壇したり、その準備をしたりといった活動を中心にやってきました。タイミーのWebアプリでSteepを動かした際に起こっていた不具合の原因を調査したりもしましたね。
▲RubyKaigi2024の登壇スライド
タイミーのRubyコミッターとしての活動はここからが本番です。引き続きSteep・RBSの開発とその周辺の領域に取り組み、タイミーのシステムの信頼性向上の一助となれればと思っています。「『はたらく』を通じて人生の可能性を広げるインフラをつくる」というミッションの実現に向け、Rubyプログラミングの環境を改善しより良い体験を実現することで、ソフトウェア開発者の時間を豊かにしていきたいですね。
ーー入社してから2か月ほどですが、率直にタイミーで働いてみた感想はいかがですか?
Rubyの仕事に集中させてもらえているのがありがたいですね。他の役割を担いながら空いた時間にやるのではなく、本当にRubyにフルコミットできています。
そしてSteepへのフィードバックが得やすい環境に恵まれている点も魅力的に感じているところです。先ほどもお話ししましたが「実際にSteepを使ってみて、こんな不具合がある」などの話が出たときにパッと見に行けるので、改善がしやすくて助かっていますね。
自らの活動を通じて、エンジニアの成長やRubyの発展に貢献したい
ーー最後に、今後の目標を教えてください!
まずは、Steep・RBSの開発を通して「タイミーの開発体験向上に貢献する」という自らのミッションを着実に達成していくことが足元の目標です。
そして、ゆくゆくはタイミー内で「他の方と一緒にRubyの開発をしたい」という想いもありますね。社外から私のようなRubyコミッターを採用したり、社内のソフトウェアエンジニアと一緒にRubyを開発したり。方法はさまざまありますが、いずれにしても一人でやるというよりはチームで活動できると良いなと思っています。
過去に私がRubyコミッターと一緒に仕事をした際には「Rubyコミッターやコミュニティが何をやっているのか」を直接見たり話を聞いたりすることで、そのときのRubyが抱えている課題や問題意識、技術への解像度が上がった感覚がありました。
私がフルタイムRubyコミッターとして活動をすることで、タイミーのソフトウェアエンジニアたちに昔の私が得たような気づきを与えられたら幸いですし、それがOSS開発へ参加する一つのきっかけになってRubyの発展に寄与できたら嬉しいですね。
お話しできることを楽しみにしています!
ご興味を持っていただけた方はぜひ面談にお申し込みください。いますぐの転職を考えていなくても大丈夫です!ぜひ、カジュアルにお話ししましょう。
(取材構成編集・文:Mamiko Kamiya)