Coding

現在のシリコンバレーおよびサンフランシスコ(つまりサンフランシスコベイエリア)は優秀なエンジニアを採用するのが世界で最も難しい地域となっています。スタートアップに限らず、IT系の大手企業でもエンジニア不足が深刻化しています。しばらく前に日本でもGlassdoorのレポートが話題になりましたが、ベイエリアの大手企業のソフトウェアエンジニアの基本給(ボーナス等は抜き)は日本に比べてかなり高いものになっています。

Highest paying companies for software engineers 2013 by glassdoor glassdoor

 

全米でもソフトウェアエンジニアの平均基本給が$100K(1000万円)を超えるのはサンフランシスコベイエリアとシアトルだけです。

Highest Salaries for Software engineers: US Cities by Bloomberg
salary-city

また最近の傾向として、若い優秀なエンジニアはシリコンバレーよりも都会で住居費の高いサンフランシスコシティを好む傾向にあるため、採用する側も相応の給料や手当を用意する必要があります。日本でもGoogleがサンフランシスコからマウンテンビューまで無料の通勤バスを出していることが話題になりました(通勤時間は約40〜50分)。

加えて、このような大手企業は単純な報酬・待遇面で人材を惹きつけるだけではなく、プロダクトやトラクションの良し悪しに関わらず、人材獲得のためにスタートアップを買収することがあります。米国ではそういった買収をAcqui-hireと呼んでおり、このような言葉が生まれるほどエンジニアの獲得競争が激しさを増しています。

また当然ではありますが、外国出身のスタートアップはベイエリアでのエンジニア採用に総じて苦戦しています。知人のある中国人アントレプレナーは、サービスを中国でローンチさせた後にシリコンバレーに進出したのですが、基本的にほとんどのエンジニアはアジアで雇用しており、サンフランシスコベイエリアのオフィスにはセールス&マーケティングチームと一部のスーパーエンジニアのみが在籍しているそうです。他にも彼と似たような体制を採用している外国出身のスタートアップの事例もいくつか耳にします。

そこで今回はサンフランシスコベイエリアにおいて、スタートアップのエンジニア採用に関して頻繁に議論されているポイントを簡単にまとめておきたいと思います。日本でも近年のスタートアップブームからエンジニア不足を指摘する声が上がっているようですので、米国の事例や情報が少なからず参考になるかと思います。

 

エンジニアを採用する際に押さえておくべきポイントとは?

1. エンジニアにとって挑戦しがいのある課題に取り組む

スタートアップの達成したいビジョンやCEOの人間性への共感は前提とした上で、FacebookやGoogleのような大手企業でニュースフィードやサーチ結果の改善に従事するよりも、意義ある課題にチャレンジできると感じてもらう必要があります。また単純なことではありますが、基本的な開発言語やフレームワークでも、RoR(Ruby on Rails)やNode.JS等の比較的新しいものを基準に開発を行う方が好まれる傾向にあるようです。この論点に関しては、以前の投稿で紹介したStripeのCTOであるGreg BrockmanがQuoraで回答した内容が参考になると思われます。
「What engineering problems and challenges is Stripe solving?」

2. 若くて将来有望なエンジニアを積極的に雇う

既にGoogleやFacebook等で高い給料をもらっている経験豊富なエンジニア達を採用することは簡単ではありません。また諸説ありますが、特にGoogleのエンジニアは世界最先端の開発環境で育ってきたこともあり、実はスタートアップ用の環境構築・プロダクト開発が得意ではないという話もよく耳にします。そのような背景も多少は関係しているのか、ベイエリアのスタートアップでは経験が浅くてもポテンシャルの高い人材を積極的に採用しており、実際に彼らがすぐにエース級のエンジニアとして活躍してくれる事例も少なくないようです。スタートアップで使われている技術やツールの変化もかなり早いので、柔軟性やポテンシャルを重視するのは当然の流れなのかもしれません。

3. スーパーエンジニアに初期段階から加わってもらう

Steve Jobsの言葉としても有名になりましたが、基本的に「A-players hire other A-players」の原則が当てはまります。若くてポテンシャルの高いエンジニアを採用できたとしても、チーム全体の技術力を高める上で、初期の段階からトップクラスのエンジニアが在籍していることが望ましいです。たとえフルタイムではなくとも、技術顧問として将来有望な若手エンジニアを指導してくれるスーパーエンジニアに関与してもらう工夫が求められます。

4. 事業フェーズや役職に応じて適切な報酬を用意する

サラリーはスタートアップ業界のエンジニアのマーケット水準を下回らないことが求められます。例えばベイエリアのRubyエンジニアであれば、ジュニアクラスでも約$80k(800万円)が相場のようです。加えて、ストックオプションによるアップサイドのインセンティブや、シニアメンバーによるメンタリング、トレーニング機会の提供等も必要になってきます。もしCTOやリードエンジニアであれば、Co-founderとして創業期に参加してもらい、株式シェアの10〜20%を保有してもらうことも一般的に行われています。

5. 社員の個人ネットワークを活用して優秀な人材にコンタクトを取る

エンジニアの能力は当然エンジニアが一番良く理解することができ、自分のネットワークのなかで誰が優秀もしくはポテンシャルが高そうなのか概ね把握しています。そのネットワークを活用して採用したい人材にコンタクトを取ることが最も効率的なアプローチ方法になるため、エンジニア全員がリクルーターを兼ねるスタートアップも少なくないようです。

 

具体的なインタビューのプロセスでは何をすべきなのか?

この論点に関しても、前述のStripeのCTOであるGregがQuoraで回答した事例がユニークなので、当社の採用プロセスの概要を紹介したいと思います。ちなみに彼の経歴をみると、2009年にHarvardで、2010年にMITでComputer Scienceの学位を取得しているようなので、まだ20代半ば〜後半であることが予想されます。このStripeの事例はエンジニアの採用プロセスを検討する上で参考になります。

What is the engineering interview process like at Stripe?

基本的にコーディングインタビューはSkypeのスクリーンシェアで行いますが、インタビュー中に応募者のエンジニアがGoogle等を活用して調べてもOKのようです。アルゴリズムテストで賢さを試すよりも、実践的な技術・対応力を見ています。

1. 基本的なインタビューのプロセス

    • Design and implementation (90〜120分)

APIやWebインターフェース等、いくつかプロトタイプをデザインしてもらい、最初から最後まで応募者の課題解決のプロセスを確認する

    • Bug squash(45〜60分)

オープンソース系のプロジェクトのバグ修正テストを行ってもらい、他人の書いた不慣れなコードをどのように修正していくのか、その対応力を確認する

    • Refactoring(45〜60分)

問題を抱えている単純なアプリケーションを課題として与え、構造的な観点からシステムを改善するようなひらめき・アイディアを出せるのか確認する

    • Pair programming(30〜45分)

簡単なプロジェクトの課題ではあるものの、ライブラリをいじらない等、制約条件がはっきりした状態でのコーディングの能力を測る

2. インタビュー後に確認するポイント

    • Sunday test

「この応募者が日曜日のオフィスに一人でいるのを見つけたら、一緒に外出したいと思えるか?」

    •  Excitement test

「この応募者を採用することで、Stripeで働くことがより楽しくなると思えるか?」

    • Velocity test

「6ヶ月以内にStripeのエンジニアとして独り立ちできると思えるか?」

初期のスタートアップであれば、このような手間のかかるインタビューを行っている余裕はないのですが、上記のようなテストをクリアする能力がある、もしくはそのポテンシャルを持つエンジニアを採用するという1つの基準にはなるかもしれません。その場合、知人の優秀なエンジニアからの紹介、ローカルでの勉強会、もしくはLinkedInやGithub等を通して直接コンタクトを取り、短い時間で議論しながら少なからず上記のポイントを確認しているようです。

 

 

 

まとめ

優秀なエンジニアを獲得するために米国のスタートアップは上記のような努力を行っており、これらの事例は日本のスタートアップにとっても少なからず参考になるのではないでしょうか。
今後もビジネスサイドの人間にとって、優秀なエンジニアの採用は悩ましい課題ではありますが、これまでベイエリアで出会ったエンジニアの方々がいつも楽しそうに生活している姿を見ていると、この状況が健全なのではないかと思えます。
最近は日本でも大型資金調達に成功するスタートアップが増えつつありますが、この流れが継続することでエンジニアがベイエリア並みに高い給料をもらえる環境を作れれば、世界中から優秀な人材が集まってきてスタートアップも成長するという好循環が期待できるかもしれません。

 

 

写真その他情報ソース:

If You Want Your Startup To Succeed, Don’t Hire Ex-Googlers
REPORT: Facebook No. 9 In Annual Average Software Engineer Base Salary
Startups: Stop Trying To Hire Ninja-Rockstar Engineers
What the Hottest Startups Can Teach You About Recruiting Engineers
What to look for in hiring a VP Engineering for your internet startup
Hiring the First 5 Engineers: What Sort of People Do You Want on Your Team?
Why It’s Difficult To Find Talent For Startups
5 Ways to Find a Lead Developer for Your Startup
How Expensive is it to Hire Startup Engineers?
Hiring Great Engineers: Kleiner Perkins’ Mike Abbott Explains How
How To Hire More Engineers In Less Time
What to expect before accepting the offer to become Engineer #1 at a startup
How to Hire Great Engineers for Your Startup
Why Your Startup Can’t Find Developers
Why your tech startup can’t hire engineers (and how to fix it)
How to hire a superstar engineer for your startup
Six Ways To Lure Talented Engineers To Your Startup
Why You Shouldn’t Learn to Code for Your Startup

Pocket