エンジニアの開発効率はモチベーションで決まる―インテリジェンスが目指すいいチーム
2015年7月にインテリジェンスがスタートした転職サイトMIIDASは、これまでの「企業が求人票を並べて、ユーザーがそれを見に行く」から、「ユーザーがスキルを並べて、企業がそれを見に行く」へと進化したサービスだ。インテリジェンスではこれまで開発を外部に委託していたが、このMIIDASは完全に社内で開発された。その体制変更について、MIIDAS COMPANYの技術責任者 大谷祐司氏、リードエンジニアの磯崎勢氏、マネージメントを担当する青田大亮氏に話を伺った(所属はインタビュー当時のもの)。
サービスとチームを作る、自社開発への路線変更
——MIIDASはどのようなサービスですか
青田:2015年7月から始めた新しい転職サービスです。ユーザーが自分のスキルを登録し、企業側はそのスキルを見て希望の人材を探します。企業から連絡が来るのは、面接のオファーだけです。転職するには、PCで職務経歴書を長々と記入するのが普通ですが、MIIDASはスマホで使うことを想定していて、スキルをポンポンと選んでいくだけで感覚的に登録を進めることができます。
大谷:インテリジェンスでは毎年社内事業コンテストをやっていて、それで優勝したプランです。既存の転職サイトの問題点を、MIIDASを使って壊したかった、よりユーザーファーストなサービスを作りたかったというのが、元々のコンセプトです。既存の転職サイトは10年くらいほぼ変わらず、企業側が楽をする仕組みです。企業がユーザーに情報を送り、反応してきたユーザーをふるいにかけるやり方で運営されてきました。そうではなく、ユーザーがもっと効率よく転職活動ができるようなサービスを作りたかった。ぜひ採用したいという前提のアプローチだけがユーザーに届く、というマッチングを行っています。
磯崎:行きたい企業に書類を送って応募しても、半分以上が書類選考で落ちて、結局ユーザーのアクションが無駄になっているという問題意識がありました。
大谷:企業がこういう人なら採用したいという条件をかなり細かくデータベースにしています。例えば営業なら法人営業を何年以上やっているとか、エンジニアならこの言語をやっているとか、かなり具体的なデータベースを作って、マッチングしています。
——これまでは開発を外部委託していて、今回は完全に自社開発ということですが
大谷:2年ほど前に私が入社した時は、大きなサービスは外注しか選択肢がありませんでした。私は、それを変えたいと思っていて、サービスを作ると同時に、いい物を作れるチームを作りたいと思っていました。今後ウェブサービスをやっていく組織なら、技術という重要な部分を全部外部に出すのはリスクです。いい物を作ろうと思ったらいい開発チームを持つのがいい選択だと、社外の事例などを見て思っていました。
——社内で開発することのメリットはどう考えていますか
大谷:ウェブサービスで勝ちに行くなら、すごいスピードで開発しなければダメだと思います。初めに完全なものが考えられるわけはないし、時代とともにニーズが変わるので、そこに合わせて柔軟にシステムが変化し続けられないと、勝てるサービスが作れないと思っていました。以前は見積に3カ月かかるという世界でしたから、よくそれでやってこられたなと思いますね。Macも私服も禁止でしたし、ソフトウェアのインストールには申請が必要で、言語もJava縛りでした。今は、採用も一回で私が決められるようになり、社内カンパニーとして独立しています。
青田:自分たちのサービスを自分たちで作ると愛着が湧きますし、責任感も強くなります。自分たちでやろうという意識を持ってやっていると、モチベーションが違います。エンジニアは、モチベーションによって開発効率が変わりますから。外注の人にやる気があるとかないとかではなく、会社対会社になるので難しい面があります。最終的にお金の話になることもあります。
エンジニアが楽しく仕事できる場を作る
——磯崎さんと青田さんは、大谷さんの後に採用されたのですね
磯崎:私はメーカー系のSIerにいたのですが、転職しようと思ってDODA(インテリジェンスが提供している転職サービスの1つ)に登録しました。カウンセリングに行ったら「うちの会社どうですか」と言われて、大谷との面接後すぐに内定もらって、すぐ決めちゃいました。新規サービスの立ち上げをやってみたかったですし、すぐ内定だしてもらったのも大きかったです。
——大谷さんは、磯崎さんのどこをいいと思ったのでしょう
大谷:技術好きなところですね。技術を楽しみながらやっていて、勉強熱心。どんどん挑戦していきたいという意欲も持っていました。
青田:私は、SIerや自社でサービスを作っている会社などいろいろやっていました。前職は、ソフトウェア会社だったのですがけっこう固い感じで、ウォーターフォールではないけれど、スピード感がありませんでした。もういい年なので後輩がいましたが、いいエンジニアが2、3年で辞めてしまう。待遇に納得できない場合でも、自分の裁量で給料を上げることはできないし、新しい技術を使いたいという時も、自分がシステム全体の技術選定にOKを出せるわけでもありませんでした。エージェントに紹介されて大谷に会って、「新しいエンジニアの組織を作って、エンジニアが楽しく仕事できる会社を作る」というのにすごく共感しました。こういう人とチームを作れたら、もっとエンジニアが楽しく仕事できる場が作れるのではと思ったのです。
——企画の人はいるけれど、エンジニアの意見でサービスが進んでいくのですか
大谷:企画がこれをやりたいという意見は出しますが、実装はけっこう任されています。あとは、企画が気付かないポイントにエンジニアが気付くことが、すごく多いです。みんなでサービスを作るという意識でやっています。仕様通りに作りました、という話はほとんどないですね。
青田:企画の人も最近は技術を分かり始めて、これは変えたらまずいよね、という言い方をしてくることもあります。それでも、ここは譲れないという部分は強く出してきて、時間をかけて話し合います。
磯崎:企画の人はインテリジェンスでずっとやってきて、人材業界のことはよく知っています。人材業界のプロの、絶対に譲れない意見は出してもらえると、こちらもすごくやりやすい。
青田:逆に私たちは人材業界を全然知らなかったので、転職する側の素朴な質問をしたり。さんざん意見を言ったから、きちんと作らなければという責任感もある。
変われないエンジニアは生き残れない
——技術選定の基準について教えてください
大谷:私の持論は「変われないエンジニアは生き残れない」です。新しいものを身につけられないエンジニアは生き残れないし、そういう組織にしたくないという思いが強くあります。事業の成功はもちろんすごく大切だし、そこに対してメンバー全員コミットしています。ただ、それと同じくらい大事にしたいのが技術者としての成長です。楽な方に妥協して何かやるのではなく、今後こういう技術がトレンドになるだろうし、今これをやっていくと会社にとってもベターだから、ぜひやりたいという話があったら、基本的にはそれでやります。そういうことに、エンジニアみんながアンテナを張っています。
どの部分のリスクかにもよりますが、いいと思ったら新しい技術を選びます。(ユーザーに直接表示されない)管理画面などのバックエンドやデータ分析の部分は何かあってもサービスには直接影響がないので、そういうところに関してはとにかく挑戦したいと思います。例えば、Reactはまだバージョン1.0にも満たないし※、仕様がすごく変わるのでリスクはあるでしょう。ただ、時代の流れや採用実績なども多いので、使ってみようという判断をしました。
編注: プロジェクトの方針変更により0.x系から1.0を飛び越えて現在はv15になっている
——MIIDASで使っている技術で特長的なのものと、採用理由を教えてください。
大谷:今回のコンセプトとしては、できるかぎり二重化する技術を使いたいと思っていました。MariaDBは以前から注目していて「dots.」というサービスでもGalera Clusterを使っていましたが、あまり突っ込んだ検証はしていませんでした。MIIDASでは、Galera Clusterを活用するベストプラクティスを積極的に発信していこうという意図がありました。
私はPHPを長くやってきたのですが、もうすぐPHP 7が出るというタイミングであえてHackという選択肢を選びました※。日本にほとんど採用実績がなくて迷ったのですが、勉強すればするほどいい仕組みだなと。PHPのメリットを活かしたうえで、新しいものに挑戦できるいい題材だと思いました。
参考リンク:Hack言語に賭けたチームの話
また、私自身PHPしかやってこなかったというコンプレックスと、このままPHPしかできない人間になってしまうのかという危機感がありました。多言語を使える人のすばらしさはいろいろな所で見て知っていましたし、自分も新しい言語を使っていかなければいけないと感じて、いろいろな言語を試してみました。その中で、これから絶対に来そうだと思ったのがGo言語でした。
Goは、書いていてすごく楽しいです。あとは、元々Java使いだったのですが、開発速度が遅くなる部分がある。Javaのいいところは型指定がしっかりしていて、動かす前にきちんとコンパイルしてくれて矛盾点が分かるところだと思いますが、そのメリットを生かしながら、かつRubyやPHPのようなスクリプト言語のようにスピーディに書ける。両方の良さを持っている言語です。パフォーマンスもすごくいいので、これは全体にこれから来るなと思っています。
——それを聞いてお二人はどう感じましたか。
青田:正直、何を言っているんだろうと(笑)。リリースに絶対に間に合わないだろうなと。私はずっとJava育ちで、PHPもやったことがなかったのにHackって何だと。でも、ひとつの言語が分かっている人なら、腕がある人なら次の言語も大丈夫かなと。やってみたら、Hackなんて知っている人は誰もいなかったけれど、なんとかスケジュール通りリリースできました。そして今はみんなGoを書いていますから。
磯崎:僕も当初は無茶だと思ってました(笑)。ですが、挑戦して楽しかったです。
大谷:PHPには緩く実装できてスピーディに開発できる良さがありましたが、Goは言語使用がシンプルで、スマートに実装できるという特徴があります。MariaDBのGalera Clusterに関しては素晴らしい仕組みなので、良さをどんどん発信していきたいと思っています。Goに関してはどんどんコミュニティを盛り上げようと思っていて、勉強会もいくつか主催しています。会社としてもっとオープンソースプロダクトに貢献して、コミュニティに還元していきたいと思っています。
——改めてエンジニアにとって働きやすいのはどういう職場でしょうか
大谷:挑戦ができる、インプット(周りのいる技術好きな人がからの刺激を受ける)とアウトプット(インプットしたことを価値としてきちんとサービスに還元できる)が確実にできるのがいい職場でしょう。
磯崎:具体的に言うと、こうしたい、こうした方がいい、という話をきちんと聞いてもらえる、意見が通るのがいい職場ですね。これはエンジニアに限らずかもしれませんが。新しい技術について比較とか検証に時間をかけるのではなく、その技術を使った生産性の向上の方にフォーカスしたいんです。そういうことにポジティブな職場がいいですね。
大谷:「チャレンジで失敗してもいいが、失敗はきちんと共有しよう」ということは、よくチームに言います。共有したことで、それが価値のある失敗になるので。「失敗したら先駆者になったと賞賛されるべき。だから失敗してもいいからやろうぜ」とは言っていますね。
青田:きちんと意見がぶつけられて、適切に話ができて、全員が納得して同じ物というのは無理とは思うけれど、それなりに納得して相手の意見を尊重するのがいい職場。あとは、組織が適切に権限や決定権を持っているのが、エンジニアにとって働きやすい。前職では現場の総意で決まったことが、上に持って行ったらひっくり返ることがあった。するとモチベーションが下がる。自分たちの考えたこと、自分たちの判断を、通せるのが、エンジニアが働きやすい組織かなと思います。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- SlackとIBMのエバンジェリスト/アドボケイトに聞いたDevRelの価値とは
- スタートアップのCTOってどんな仕事をしているの? Retty樽石さんのケース
- 「バリバリのエンジニア志向」だった私が、気がついたら「企業経営者」になっていた理由
- 「富山への愛」から生まれた事業所ならではの自由闊達な雰囲気と抜群のチームワークが自慢(後編)
- BaaSのBはバックエンドとビジネス。MBaaSからIoT BaaSへビジネスの領域を広げるKii
- 重視するのは個々の技術力より、何かを作り、変えようというモチベーション。「入社してから伸びる人」を採用したい
- 今年の実行委員長に聞く! 国内最大級のPHP祭り「PHPカンファレンス2014」の見どころ
- 技術者としての成長と納得できる仕事の場を求めてmanebiに集まった3人のエンジニアたち
- 元AWS小島氏×元Azure砂金氏特別対談。二人が考えるクラウドの未来とは?(前編)
- クラウドファンディングという新しいユーザー体験を見つける。CAMPFIRE最年少執行役員による組織へのUXデザインのインストール