ニューズピックスの親会社である株式会社ユーザベース(以下、ユーザベース)の知られざる魅力を発信するCulture Blog。「私の転職ストーリー」第4回目は、SPEEDA事業の開発チームをリードするエンジニア 林のお話です。前編では、林がフリーランスからユーザベースの正社員として入社するまでの経緯をお届けしました。「最高のプロダクトを作る、最高の組織を作る」という思いを実現できるフィールドだと確信し、起業という道ではなくユーザベースへの入社を選んだ林。今の仕事内容や、チーム、今後について話を聞きました。
※前編はこちら
ー今の仕事について教えてください。
今はSPEEDAのプロダクト開発を担当しています。現在SPEEDAの開発は大きく3つに分かれています。1つ目はSPEEDAの国内ユーザー向けに機能を作るチーム、2つ目は国内・海外ユーザーも使う機能を作るチーム、3つ目は海外ユーザー向けに機能を作るチームで構成されています。僕はチームリーダーとして、国内ユーザー向けに機能を作るチームに所属しています。
国内チームはSPEEDAに加え、今年ユーザベースが買収したジャパンベンチャーリサーチ社(以下、JVR)が提供している「entrepedia」というサービスの開発も含まれています。
チームには8名在籍していて、僕はSPEEDAとentrepediaの大まかなシステム開発のアーキテクチャを設計したり、もちろんプログラミングもしますし、チームマネジメントもしています。雑多にやっている感じです(笑)
ーSPEEDAはJavaで作られてると思うんですけど、entrepediaもJavaなんですか?
国内チームにおいては、今メインで使っているのはClojureという言語です。変わったんですよ。最近ではKotlinも使い始めています。この2つをメインの言語にしたいなと思って。完全に僕の思いなんですけどね。今は大体Clojureでプロジェクトを回していて、Kotlinは今後SPEEDAの国内開発で使う予定で、entrepediaではすでに使い始めています。なのでJavaに関してはSPEEDAで昔から残っている部分以外は、書くことがなくなる想定です。
ーJavaから新しい言語を使いたいと思った理由はあるんですか?
Clojureに関しては、チームメンバーがやりたいと言ったからです。ちなみに僕はやりたくなかったんですよ(笑)ただ、とあるプロジェクトが走り出すタイミングでアーキテクチャを考えている時に、みんながClojureを使いたいって言ってたんです。
一緒に働いている矢野はClojureに詳しいので、それも採用した理由の1つです。
そもそもJava以外の言語を採用している理由として、やっぱりエンジニアって常に成長し続けていかなきゃいけないと思っているんです。個人のプライベート時間で努力をする必要はあるかもしれないのですが、組織として考えた場合、開発をする組織自体がエンジニアを成長させることができる組織であるべきだと思っています。ですので、業務時間の中でエンジニアのスキルを伸ばせるような取り組みをやり続けていきたいんです。
エンジニアもそういう場所で働きたいと思うはずだし、技術力を高めていくことでユーザーに良いサービスを届けられるだけではなく、今まで考えたことのない価値も届けられると個人的に思っています。
Javaはずっとユーザベースの開発で取り組んできたので、Java以外の技術などを積極的に取り組みたいと考えています。もちろん生産性を高めるというのは大前提としてあるんですけど、いろんな技術を取り込んで、エンジニアの成長も高めつつ、組織としても高めたいっていうのがありますね。
やっぱりやりたいことができるのはモチベーションが上がりますし、重要なことだと思うんですよね。チームがイキイキと仕事ができるはずなので、Clojureを採用しました。
林のチームの仕事風景
ーチームのメンバーはどういう人たちが多いでしょうか?
個性的ですね、本当にそれぞれ違います。
エンジニアの観点でいくと、技術だったり、ツールだったりの好き嫌いが全然違うし、コミュニケーションの取り方も、良い意味でも悪い意味でも人それぞれです。寡黙な人もいれば、すごく喋る人もいるという感じです。
個性的だなと思ったエピソードとしては、僕のチームでは現在ペアプログラミング(以下、ペアプロ)をやっています。ペアプロっていうのは2人のプログラマーが1台のPCで1つのエディターやIDEを使って共同でソフトウェア開発を行う手法です。 一方が単体テストを先に書いて、もう一方がそのテストを通る実装を書くといったように相補的な作業をするんですけど、うちのチームメンバーは、それぞれペアプロ中のエディターが違うんですよ。普通は同じエディターを使うんですけど、それぞれ自分が良いと思うエディターを使ってペアプロをするっていうのは、今まで見たことなくて。これ伝わりづらいですかね(笑)
エンジニアだとわかると思うんですけど、これはけっこうユニークです。
ー個性的な人たちが集まって1つのチームでサービス開発をしていると思うんですが、何が共通言語として個性あふれるメンバーを束ねているのでしょう?
個人的にはアジャイル開発手法がそうさせていると思います。ペアプロをしているので、常に一緒に作業をすることが多いんですね。「同じチームだけどタスクと人が独立してて、たまたまグループとしてチームになってます」ではなく、タスクに対してもチームとして取り掛かるよう意識させているので、自分だけタスクが終われば良いやとはならないように心がけています。
僕はいつもアジャイルのチームにするんですけど、大体みんな仲良くなったりするんで、そういう一体感は、アジャイル手法が影響するんじゃないかなと個人的には思っています。
ーそういうチームメンバーがいる中で、向いている人はどんな人ですか?
みんなでわいわいガヤガヤしたいっていう人が向いていると思います。一人で黙々とやり続けてるっていう人も、もちろんそういうのも尊重されるべきだし、否定するつもりもありませんが、僕のチームは、チームワークをより大切したいなと思っています。一緒にプロダクトを作っていくことに興味がある人が向いていると思いますね。
技術観点でいうと、日々新しい技術に対して興味を持っている人。さっきも話したように、常に成長できる環境を提供し続けたいと思っているので、新しいことだったり成長に興味がある人でないとついていくのが難しくなると思います。
ー林さん個人の話を聞かせてください。ユーザベースに入社して、やりがいを感じる時や嬉しい時はどんな時ですか?
いわゆるステイクホルダーと呼ばれる人から感謝の言葉、例えば「これ良いね」とか「クライアントの受けが良かったよ」とかそういう話を聞くのが嬉しい時ですね。関わっている人がハッピーになってると、自然と僕もハッピーな状態になる。自分一人でハッピーになる状態ってないと思うんで(笑)
ー失敗した経験はありますか?
意見がぶつかったり認識の相違が原因で僕が怒ってしまうことがあります。僕が相手に怒って、チーム内に良くない雰囲気を作ってしまうといった、そういう失敗は多いです。
チーム内の雰囲気って大事で、自分は立場的にその雰囲気を整える役割を担っていると思っています。もちろん怒るなりの理由はあるんですけど、怒らないほうが当然良いので。
ぶつかり合って険悪な状態になったとしても、しっかり話し合ってお互い理解し合うことが大切だと学びました。そういう話し合いをきちんとすると、結局はお互いより良いものを作ろうという共通の目標を達成するために、たまたま意見の食い違いがあったねっていうことが分かるんですよね。
ーこれからユーザベースでやっていきたいこと、林さんの目標を教えてください。
いくつかあるのですが、1つは最高の開発チーム、単にプログラム書けますっていうチームではなく、他のチームも巻き込んでみんなで最高のSPEEDAを作れるチームを作りたいと思います。そういうチームをスケールさせて、常にプロダクトを改善し続けられる体制を構築したいです。
もう1つは様々なデータを元に開発の意思決定ができる体制を作りたいと思っています。
ーありがとうございました!
ユーザベースでは、一緒にサービスを作り上げていく仲間を募集しています。興味がありましたら、ぜひ下の求人から「興味がある」をクリックしてください。