一流の開発トップは「話を聞く」を徹底する 「Elasticsearch」生みの親の開発哲学
――チーム運営に関して、今のようなお考えにたどり着くまでに失敗や試行錯誤はありましたか?
もちろん。例えば世界中からリモートで働くスタイルは、最初から意図したわけではありません。世界中に散らばっている各分野の専門家を採用していったら、結果的にそうなったということです。
リモートで働くにあたっては、最初はどういうコミュニケーションの方法がベストなのかも分かりませんでした。そこで、社員が10人くらいになったタイミングで一度、採用をストップしたんです。
一度立ち止まり、どうすれば良い形で仕事ができるかを徹底して議論し、回答を出しました。感情をあらわにしてぶつかり合ったことも何度もありました。
その時立ち止まって考えられたことは、本当に誇りに思っています。結果論に聞こえるかもしれませんが、それがあったからこそ、強い会社になれたんです。
学ぶ姿勢があれば変化に気づく
――世の中には失敗に終わる多くのオープンソースのプロジェクトがあります。Elasticは他のモノとどこが違ったのでしょうか?
当然、数あるアイデアの全てが良いモノというわけではありません。コントリビューターから寄せられるどの声を採用するのか、そしてどの声を採用しないのか。こうした采配が非常に大切です。「目利き力」と言ってもいいでしょう。
そのためには、自分を他人の立場に置いて考えてみることが必要です。弊社では、社員1人1人にもそれを求めています。
――ダメなアイデアはどう見極めればいいのでしょうか?
その質問に答えるのは難しいですが、記事やコードをたくさん読んだり、人と話したりして、いろいろなことを学ぶ姿勢が重要なのではないでしょうか。そのためには、テクノロジーに対して好奇心を持ち続ける必要もあります。
Elasticを始めた当時、世の中にはJavaプログラマーとRubyプログラマーという2つの派閥がありました。どんどん複雑化することを是とするJavaの考え方が当時の多数派でした。シンプルなものを良しとするRubyの考え方は、まだ少数派だったんです。
しかし、私は今何が起きているのかを慎重に見極め、RubyとRuby on Railsがなぜ広まったのかを徹底的に調べることにしました。結果、RubyやRailsの考え方に倣うことに決めたのです。今にしてみればそれは正解で、Javaも今では方向を修正しています。
変化に正しく気付くことができたのは、多くの人の話を聞き、学ぶ姿勢があったからです。その際には単に過去に起こったことを知るだけでなく、将来にフォーカスして考えることも重要でしょう。