scouty HR TECH LAB

HR TECH・AI企業であるscoutyが、オープンデータを分析して得られた知見や最先端のHR Tech事例を紹介していきます。

【イベントレポート】scouty ✕ Goodpatch Engineer MeetUp vol.2 〜エンジニア組織について〜

f:id:scouty:20180516101835j:plain

先日公開したイベントレポート「scouty ✕ Goodpatch Engineer MeetUp vol.1 〜プロダクト開発との関わり方〜」に続き、本記事ではイベントの後半セッション「エンジニア組織について」の一部を編集してご紹介します。

 

《プロフィール》

株式会社scouty リードエンジニア 伊藤 勝梧 (@showwin)

京都大学人工知能を専攻。クラウドソーシングにおける受注履歴からのワーカーのスキル判定を研究。2015年にAWS 認定ソリューションアーキテクトに認定。Cookpad, beBitでインターンシップの他、株式会社MMM サーバーサイドエンジニアを経験し、scoutyにジョイン。scoutyではインフラの構築からバックエンドの開発を中心に行っている。

 

株式会社グッドパッチ 執行役員 CTO & Vice President of Product ひらい さだあき

2015年1月にGoodpatch入社、2015年12月にCTOに就任。 これまではSIerJavaを使った開発やLinuxのインフラ構築などを経験し、前職の食べログではインターネット予約サービスの開発(Rails/JavaScript)にエンジニアとして携わりました。
Goodpatch入社後は、プロトタイピングツールProttのエンジニアリーダーとしてプロジェクトマネージメント、チームビルディング、プログラミング(Ruby/Rails/JavaScript)、パフォーマンスチューニングなどを行ってきました。CTOとしてエンジニアリング組織作り、エンジニアリング評価制度策定、技術選定、環境整備、エンジニア採用などを行っています。 現在はVice President of Product(プロダクト責任者)として、Prottのプロダクト開発を推進し、事業目標達成に向けて取り組んでいます。
プライベートではhtml5jというコミュニティのスタッフとして活動し、執筆/登壇活動を行っています。 フォントが好きで、FontLoversというFacebookグループを友人と立ち上げ、フォントに関するイベントなどを開催しています。好きなフォントは秀英体Optimaです。

 

株式会社グッドパッチ プロダクト&テクノロジー アドバイザリーボード メンバー 及川卓也

早稲田大学理工学部を卒業後、日本DECに就職。営業サポート、ソフトウエア開発、研究開発に従事し、1997年からはマイクロソフトWindows製品の開発に携わる。2006年以降は、GoogleにてWeb検索のプロダクトマネジメントChromeのエンジニアリングマネジメントなどを行う。その後、Incrementsを経て、独立。現在、企業へ技術戦略、製品戦略、組織づくりのアドバイスを行う。

技術系イベントなどで新しい技術に触れるのを趣味としており、登壇することも多い。Google Developers DayやDevelopers Summitデブサミ)、HTML5 Conferenceなどでの登壇が代表例。

ホラクラシーでもそうでない組織でも、個人のスペシャリティがあるということが大切


(及川さん)「エンジニアの組織について」というテーマでお話いただきたいのですが、まずはこちらのスライドをご説明いただけますか?

 

f:id:scouty:20180516102616p:plain



(伊藤)これは現在の開発チームの組織図です。scoutyは上下関係を作らないというホラクラシーな組織を作っています。大きい3つの丸のうち左側2つがWebの開発チームで、右側が機械学習チームです。Webの中でも、scouty appというのがクライアント企業が使うダッシュボードの開発、クローラーというのがSNS等をクロールしてきて情報を集めるシステムの開発プロジェクトで大きく分けて2つあります。その中にも丸がいっぱいありますが、これをロールと呼んでいます。例えばSREだったら、サイトが落ちないようにインフラ整備を行ったり、社内の機械学習エンジニアが分析するためにインフラ環境を準備するなど、インフラ側の責任を持っているロールです。ロールを持っている人はそれぞれの技術領域に責任を持つようにしています。組織によってはCTOが「この技術を使おう」と決めて、「開発チームはこれ使ってやってね」というようにトップダウンな決定をすることがありますが、ホラクラシー組織だと意思決定の権限は各自に割り振られています。

 

(及川さん)Goodpatchはどんな体制をとっていますか?

 


(ひらいさん)Goodpatchではホラクラシーにはしていないですね。Goodpatchにはプロトタイピングツール「Prott」のチームだけで20数人いて、関連部署との連携もあるので役割を分担しています。例えばProttのセールスやマーケティングにおいては、全社のマーケティング担当と協力するため、窓口を明確にする意図もあり責任者を決めて役割を分担する体制にしています。一方でGoodpatchのベルリンオフィスはホラクラシーな形を取っていますね。

 

(及川さん)ホラクラシー組織の問題としては、属人性が高くなってしまうということが挙げられます。例えば、そのロールの人が決定した技術選定やアプローチが正しかったかどうかが問題になる可能性、また人が入れ替わることで手法や扱う技術が変わる可能性がありますよね。これまでそのロールの人がAngularを使っていたが、後任の人はAngularではなくReactを採用するなどということも起こり得るかと思います。そういったリスクはどうやって解消されているんですか?

 

f:id:scouty:20180516102645j:plain


(伊藤)このスライドには書いていないんですが、メインロール以外に各ロールをバックアップする役割も存在しています。意思決定はメインロールの人が行うんですが、メインロールの人の意思決定のサポートや情報収集はバックアップの人が行います。また、意思決定に対しての意見は全メンバーが言いますし、全メンバーの意見を統合したうえでメインロールの人が最終的な意思決定権を持つという体制にしていますので、属人的ではなくチームの意思を反映した意思決定ができていると思っていますね。

 

(及川さん)複数のコンポーネントにまたがる意思決定はどうされていますか。

 

(伊藤)それぞれのメインロールには上下関係がないので、お互いに納得した上で意思決定してもらうようにしています。

 

(及川さん)ホラクラシーではないとおっしゃっていましたが、Goodpatchでは属人性の問題はありますか?

 

(ひらいさん)ホラクラシーではない体制においても、どのように属人性を排除していくかは大事なことだと思っています。例えばフロントエンドのチームは人数が多いのでチームでレビューする時間を取るようにしています。各人のスキルが均一ではないため、スキルが高い人にレビューが集中してしまうという問題が発生しがちなのですが、チームで集まってみんなでコードレビューすることで解決しています。また、不可の分散やナレッジ共有、ペアプロやモブプロなど複数人で一緒にプログラミングすることも問題解決のために試しているところです。

 

(及川さん)属人性からは少し脱線しますが、スクラムという体制は基本的にはメンバー全員がフルスタックで、どのタスクをどのメンバーが行ってもよいというのが理想の運用だと思います。でもscoutyのように役割が厳格に決められたり専門が決まっている場合はどのようにスクラムをうまく回しているのでしょうか?

 

(伊藤)普段の開発で必要なスキルは全員が必ず持っているという必要条件があります。現在のメンバーは全員がバックエンドの開発スキルは十分に持っていますね。その上で何かしらの分野で飛び抜けている人を採用するようにしています。
普段の開発の95%くらいは全メンバーが行えますが、残りの5%はその分野で飛び抜けていないとできないタスクです。そこには属人性を許容する、そうしないと技術的な優位差は出ないと思っています。

 

f:id:scouty:20180516102719j:plain


(ひらいさん)スクラムはその人がいなくても開発できるようにしていこうという考えがベースにあると思うんですけれど、Goodpatchはその点に関してはあまり意識していません。1個の芯を持っていて、その周辺技術を伸ばしていくような「T字型の人材」の育成を考えています。均一な能力を持つフルスタックも大事ですが、その人なりのスペシャリティがあるということはすごく大事だと思っていて、それを活かしていくようにしています。

 

(及川さん)個人のキャリアの志向性と組織としてのバランスをとっているということですね。

 

(ひらいさん)そうですね。個人でフルスタックになるというよりは、エンジニアチーム全体で良いポートフォリオが作れればいいと思っています。

 

現場のエンジニアが面接することで「自分の隣で働く人」を自ら決めることができる

 (及川さん)それでは次のテーマ「採用基準」「採用手法」についてGoodpatchからお聞きしてよろしいですか?

 

(ひらいさん)採用手法ではWantedlyをはじめいくつかのメディアを使っていてますし、エージェントにも依頼しつつ、最近ではリファラルの採用にも力を入れようとしているところです。また、先日scouty経由で一名内定承諾をいただけました。
カルチャーチェック、スキルチェックについては、スカウトを送った場合は最初に私がカジュアル面談を行い、候補者から選考に進む意思をいただけたら、そのあとは現場エンジニアとの面接を行います。スカウトする場合でもその他の手法でもステップは大きくは変わらないですね。

 

(及川さん)面接でスキル・カルチャーチェックするにあたって、何を聞くか、何を基準とするかを決めておかないと現場のエンジニアも困ると思うんですがそのあたりはどのように工夫されていますか?

 

(ひらいさん)面接を行うメンバーには面接官トレーニングを実施しています。トレーニングは人事が主体となって行っていて、どういった観点で見ていくのか、どういう質問をしていくのか、あるいはこういう質問はしてはいけない、ということをインプットしてから実際の面接に臨んでもらうようにしています。
現状の問題としては、採用目標が高くて大変だという難しさはあるんですが、scoutyという新しいツールを使ったり新しいメディアを使うという施策を行って打開しようとしていますね。一方で、面接官のトレーニングに時間がかかるので、面接担当者が偏り負荷が集中しやすいのは今後解決していきたい課題ですね。

 

(及川さん)scoutyはどうでしょうか。

 

(伊藤)候補者の母集団形成には、リファラルや自社でもscoutyを使っていますね。今週も機械学習エンジニアとWebエンジニア1名ずつがscouty経由で内定受託してくれました。エンジニアの人数は、1ヶ月に1名のペースで増えていますね。
スキルチェックやカルチャーチェックについては、最初にカジュアルな面談をして選考に進んでもらうかを候補者、scoutyともに相互に判断します。選考に進んでいただく場合は、3つのステップがあります。
Webのエンジニアの場合を例に挙げると、1つめのステップはスキルチェックとして問題を解いてもらいます。クラスの設計が綺麗にできるか、デザインパターンを知っているか、ちょっとしたアルゴリズムのテストなどを行い、Web開発に必要なスキルを網羅的に評価できるようにしています。2つめのステップは創業メンバーの3人と会食を行うカルチャーチェックです。3つめの最終選考では、ビジネス、コーポレートなどの全社員と一緒にランチなどの食事を行い、候補者の方と一緒に働くイメージが持てるかどうかを社員全員で判断しています。全員がそれぞれ意見を出して、一緒に働くことについて懸念があればオファーを出すことはしません。

現状の問題としては、いろいろな課題を課すことで様々な分野のスキルチェックを行いたい一方で、候補者側の負担が増えてしまうというジレンマがあります。短い時間で幅広いスキルをチェックをするための手法をいかにブラッシュアップしていくかということに今まさに挑戦しているところですね。


(及川さん)スキルチェックの課題は面接の時に提示してその場で解いてもらうんでしょうか。それとも事前に提出してもらうのでしょうか?

 

(伊藤)クラスの設計などじっくり考えないと解けないものは事前課題にしています。残りの課題は時間を設定して、面接の場で答えてもらい、いただいた答えに対してフィードバックをしたり、追加の質問をします。

 

(及川さん)Goodpatchはコーディングテストはされているんですか?

 

(ひらいさん)コーディングテストはまだ行っておらず、面接の中でスキルチェックを行っています。例えばフロントエンドだったら、JavaScriptの言語使用について質問したり、Reactを使ってる方にはどういった実装をしているか聞いたりしています。ネイティブのエンジニアの場合には、「こういった時にどう実装しますか」というような質問に加えて、実際にいくつかのアプリを見てもらい「あなただったらこれをどういう風に実装しますか」という質問をしていますね。

 

(及川さん)社内の協力体制についてもお聞きしましょう。社内のエンジニアに面談してもらったりリファラルで紹介してもらったりと、採用に関するコミットメントがかなり求められると思います。協力体制を整えるためにどのような工夫を行っていますか?

 

(ひらいさん)そもそも採用するエンジニアの方は、自分の隣で働くかもしれない人なんです。採用に協力してくれるエンジニアには「自分の隣で働く人が1回も会わずに決まってしまうのは嫌じゃないですか」というふうに話しています。面接を行うことで、候補者の方の人となりがわかりますし、自分の気になることを自分自身でチェックして納得したうえで一緒に働くことができます。

f:id:scouty:20180516102921j:plain


(伊藤)scoutyでもひらいさんがおっしゃったことと同じですね。自分たちで開発チームを作っていくんだっていう意思を持ってもらいたいと思っています。scoutyでは、面接だけでなくてscoutyを通して各エンジニアがスカウトメールを送ることで、候補者探しから手伝ってもらうようにしています。

 

ーーーーーーーーーーーーーー

 

イベントで紹介したその他のブログなどはTwitter上で #scouty_goodpatch_meetup と検索いただくとご覧いただけます。前半セッションのレポート記事「scouty ✕ Goodpatch Engineer MeetUp vol.1 〜プロダクト開発との関わり方〜」と併せて、自社のプロダクト開発や組織開発に活かしていただけたら幸いです。

 

scoutyでは今後もエンジニア向けイベント、採用担当者向けのイベントを開催してまいります。イベント告知はscoutyのconnpassページで行いますので、ご興味があればぜひご参加ください。