スタートアップでプログラマーを採用するための最適な方法

スタートアップの成長を加速させるために優秀なプログラマーを採用することは、煩わしいタスクになり得ます。自分自身にプログラミング知識がない場合は尚更です。

優秀なディベロッパーがいれば、会社のイノベーションの可能性を最大化させ、ユーザー満足度を確立し、ビジネスに欠かせないアプリを最先端の状態に維持することが出来ます。

一方で最適な人材を採用することに失敗すると、ビジネスの成長チャンスを失ったり、より良い後継者を見つけるためのリソースを無駄にしたりする事もありえます。

私達は、アスリートのパフォーマンスを向上させるための革新的なスポーツ装置を開発しているLEOMO Inc.のロバート・シューマン氏と、優秀なプログラマーを採用する上での最良の方法について話す機会を持つことができました。

以下に、ビジネス成長のために優秀なディベロッパーを採用する上での7つのアドバイスをまとめました。

1. 明確な職務内容書を作る

「正確で的確な職務内容書が何よりも大事です。」とロバートは言います。「明確な職務内容書がなければ、採用プロセスは難しいものになるでしょう」と強調しました。

上手く書けている職務明細書に加え、企業が候補者に対して提供出来る内容が明記されていれば、あなたのニーズに最適なプログラマーの気を惹き付ける手助けになるでしょう。

業務内容や必要条件を長々と並べたリストを作ることは避け、候補者のキャリア成長や価値ある職場環境を提供することにフォーカスしましょう。

2. 長続きすることよりも、人材にフォーカスする

急速なペースで進み、テクノロジーが必要不可欠な今日の世界では、会社に長く勤務してくれるトップ・ディベロッパーを見つけることは企業にとって、特にスタートアップにとって最も困難な事の一つです。大抵、優秀なプログラマーは他の機会を求めて移って行ってしまいます。そのため、彼らが居てくれている時間を最大限に活用し、その間も新しいアイディアを考えられるような新たな人材を常に採用していくことが必要になります。

「エンジニアとして、私は一つの企業に数年以上勤続することはしないでしょう。最終的に仕事に飽きてしまうからです。だから私はスタートアップが好きなのです。彼らはダイナミックで、たくさんの変化が期待できます」幾つものスタートアップ経験があるロバートはそう述べました。

やるべきことは、現代の労働力の大部分を担うミレニアル世代に対して率直かつ現実的になることで、彼らのキャリア成長にとって魅力的な機会を提供することです。

よって、一つの場所に喜んで20年間勤務し続けるプログラマーを探すよりも、現在の役割において持続的に影響を及ぼしてくれる人物を探しに行きましょう。

3. 技術的な経験や専門知識を評価する

候補者の真の能力を確かめるためには、彼らの技術的な経験や専門知識を注意深く評価するべきです。素晴らしい技術的なスキルに確固たる経験を持ったプログラマーこそ、あなたのビジネスゴールを達成するための大きな助けとなることでしょう。

「質の高いクリーンコードを使った既存のプロジェクトに携わっているか?これまでに複雑なプロジェクトに取り組み、それらについて明確に説明することができるか?それらのプロジェクトにおける成功と失敗について内省することが出来るか?」ロバートはこう確認します。

候補者の技術的な能力を評価する別の方法は、彼らがよく利用しているサイト等でプロフィールを調べることです。例えば、GitHubといったサイトは、ディベロッパー達がオープンソースのプロジェクトに貢献するために書いたコードのレポジトリーを提供しています。

このサイトでは、彼らのアクティビティ・レベルを「レポジトリーが定期的に更新されているかをチェックすること」、また「フォークされたレポジトリーへの自身の寄与貢献のみを考慮するよう注意すること」により、慎重に評価することができます。

その他特筆することとして、候補者の履歴書にも彼らの細部への注意力や質の高いものを作り上げる集中力が表れるということです。「以前に、僕は採用した人物を残念ながら解雇しなくてはなりませんでした。当初よりその履歴書の内容が気がかりでした。彼らは素晴らしい職歴を持っていたのですが、履歴書に多くの間違いがあり、予想した通り、コーディングにも同じような問題がありました。」とロバートは付け加えました。

4. 企業カルチャーにフィットしていること

技術的な側面以上とは言いませんが、企業カルチャーに合っていることも同様に重要です。職場環境にスムーズにフィットすることが出来ない人物を採用することは、成長を大いに妨げる可能性があります。

彼らは「イノベーションに影響を与える社内政治」を助長させてしまうでしょうか?「ドアをくぐると同時に自分のエゴを捨てる」準備は出来ているでしょうか?「他者と協働できるでしょうか?」「結果を重要視出来るでしょうか?」「自社製品に興味を持っているでしょうか?」ロバートは率直に聞きます。

そのため、企業カルチャーや価値を明確に描き、全ての候補者がそれに同調していることを確実にすることが必要で、これは特に順応性やその他のソフトスキルが必須となるスタートアップ環境にはとても重要なことです。

5. 改善への情熱を査定する

テクノロジーの世界において、改善は常時起きています。そのため、物事はすぐに時代遅れになりがちであることから、テクノロジーに対して情熱的かつ学習することに喜びを見出すプログラマーを採用する必要があります。

「彼らはハッカーソンに行くタイプでしょうか?」「Hacker Newsやその他開発関連のオンラインニュースに付いていっているでしょうか?」「コーディングに対して情熱的でしょうか?」

ロバートは、優れた候補者は自身のスキルの改善を熱望し、また常に最先端を走っていると主張します。

6. 適切な質問を投げかける

ディベロッパーに対して間違った質問を聞くことは、失敗する面接プロセスへと導きかねません。重要なことは、面接中に見られた危険信号を吸い上げるための知性を欠いた質問をしていたら、プログラマーの能力を正しく判断するための明確な手立ては無いということです。

ロバートによると、「質問は真の価値を得るためのものであり、また対立的であってはなりません。質問とはただ、人々がどのように考え、彼らが採用ポジションに合っているかどうかを確かめるためだけにあるのです」

面接における質問は、候補者のスキル、貢献度、そしてプロジェクトにおいて質の高い職務を遂行する能力を深く探るものであるべきです。そのため、自分自身にも多少のプログラミング知識を装備し、自信を持って質問出来るようにすることが重要です。

7. テストプロジェクトを実施する

重要なのは、面接中にそのプログラマーがどんなに聡明で素晴らしく思えても、実際の業務に関連したトライアルプロジェクトを実施せずに採用することは大きな間違いだということです。

数行のコードを読み解くことも出来ず、単純なプログラミング問題を解決するために1日を無駄にするようなプログラマーは採用したくないはずです。

候補者の技術的な信頼度を証明するには、オフィス内で彼らにテストプロジェクトを実施することです。ロバートはこう主張します。「オフィス内でコーディングチャレンジを行うこともあります。候補者の能力を試す素晴らしい方法です」

これにより、採用する人物が期待通りにプロジェクトを完了することを確信できます。 もしあなた自身にコーディング知識がない場合、プログラマーの友人に助けを求めてもいいでしょう。

結論

スタートアップでプログラマーを採用することは、「イチかバチかのプロセス」です。正しいアプローチが無ければ、採用は大惨事となり、ビジネスの成長を著しく妨げることになるでしょう。

しかしながら、上に示したロバートからの7つのアドバイスがあれば、自信を持って適切な人材を採用し、技術的な完成度を徐々に拡大させながらビジネスの成功を達成させることが出来るでしょう。