DevSkillerのロゴタレントブーストのロゴタレントスコアのロゴ

10倍開発者を雇う方法

6月 13, 2018
10倍の開発者を雇う方法 ベスト2018の人事記事とリソース

インターネット上では何百万回ものキーストロークが10倍開発者の話題に費やされています。様々な定義があり、それが実際の現象なのかどうか、多くの疑問があります。しかし、ほとんどの人があきらめるには、神話はあまりにも良いものです。あなたの結果を10倍に増幅させることができる開発者は本当に存在するのでしょうか?

実際のところ、10倍の能力を持つ開発者は存在しますが、彼らはあなたが思っているような開発者ではありません。彼らは一匹狼のロックスターではなく、ほとんどのチームが1週間かかるようなことを自分たちだけで数時間でできると評判です。この真実はさらに魅力的で、チームの効果を倍増させる鍵となります。

10倍のプログラマーや開発者とは?

10倍開発者の定義はいくつかあります。ここでは、私たちが見つけたいくつかの定義を紹介します。

しかし、10倍のソフトウェア開発者の真の定義のいずれかですか?それは、これら3つの特徴のすべてのいくつかの組み合わせから来ているのでしょうか?もしあなたが採用するのであれば、あなたの会社の成果を増幅させることを第一に考えてください。それは、非常に効率的な開発者やチームビルダーから得られるものでしょうか?どちらが最も重要なのかを知るためには、10倍プログラマーとそれ以降の開発者の考えがどこから始まったのかに立ち返ることが有用です。

10倍の開発者属性

ソースは ネットネガティブを生み出すプログラマー

10倍開発者の原点

10倍のソフトウェア開発者のアイデアは、「10倍のソフトウェア開発者」と題された研究で初めて登場しました。オンラインとオフラインのプログラミング性能を比較した探索的実験研究"1968年の記事です。この研究の著者であるサックマン、エリクソン、グラントは、実際に10倍のソフトウェア開発者が実在するかどうかをテストしようとしたのではありません。その代わりに、彼らはオンラインとオフラインのプログラマ(オンラインはコンピュータ上で、オフラインは紙の上で)の間の効率の違いをテストしたかったのです。

しかし、この研究から得られた興味深い点は、一見同じように見えるプログラマーのパフォーマンスには大きなばらつきがあり、ある人は他の人よりはるかに効率的である可能性があることを示唆しています。しかし、この研究の欠陥を考慮すると、その差のいくつかはそれほど劇的ではありませんでした。これらの欠陥を考慮に入れると、以下のような支持者がいます。 スティーブ・マコーネル Construx ソフトウェアのまだ研究は、一見同じプログラマーのパフォーマンスの 10 倍の違いを明らかにすると主張しています。

この研究が発表されて以来、10倍効果のバリエーションが他の研究でも登場しています。

  • Barry Boehmと他の研究者は、能力別にランク付けされたプログラマーの15%のチームでプログラムを開発する場合、90%のチームでプログラムを開発する場合に比べて、一般的には約3.5倍のスタッフ月数が必要であると結論付けています(Boehm et al 2000)。出典。 コンスツルクス
  • ジョエル・スポルスキーは、イェール大学のコンピュータサイエンスの学生にもその効果を観測しています。の10倍現象についての彼の説明を読む価値があります。 ハイノーツを打つ.

10倍の開発者は、同業者よりもタスクを完了させるのに時間がかかりません。

同じように経験豊富なコンピュータサイエンスの学生のグループでは、プロジェクトに費やした時間はコードの質とは相関しません。出典は以下の通りです。 ジョエル・スポルスキー

これらは、G.ゴードン・シュルメイヤーによる倍率効果が観察された研究だけではほとんどありません。

研究者たちは、プログラマーのパフォーマンスの比率は、5対1の低さから100対1の高さの間であることを発見しました。これは、同じレベルのプログラマーが、同じような経歴を持ち、同じような給料をもらっている場合、同じタスクを完了するのに1週間から100週間かかる可能性があることを意味しています。

ソースネットネガティブを生み出すプログラマー

しかし、Gordon が指摘するように、これらの研究では、これらの開発者が生産性に与える悪影響は考慮されていません。ある開発者は他の開発者の10分の1の時間でプログラムを完成させることができますが、それはすべてスパゲッティコードかもしれません。同僚がそれを解き明かすのに10倍の時間がかかるとしたら、開発者の貢献度は事実上1倍になります。

スパゲッティ・コードとチームの結束力を損なう開発者を組み合わせた場合、彼らは会社のアウトプットに純マイナスの貢献をすることになるかもしれません。このことを念頭に置いて、10倍のソフトウェア開発者を会社に加えようとする前に、自分自身に大きな疑問を投げかけてみる必要があります。

10倍のソフト開発者に求めるべき特徴とは?

10倍現像機にはどんな特徴があるのでしょうか?ソースは エフゲニ・チェルカスキー に於いて アンスプラッシュ

1.彼らは何をすべきかを知っている

これは当然のことですが、10倍速ソフトウェア開発者は、ほとんどの問題をすぐに解決する方法を知っています。少なくとも、何をすべきかを知っていなければならず、わからない場合には正しい質問をする必要があります。 出典はこちらです。 Stackify

彼らの能力が優れた経験や知識に由来するかどうかにかかわらず、ソフトウェア開発のタスクをどのように進めるかについて正しい判断を下すことができます。 CustomerSure の技術的な共同創業者である Chris Stainthorpe 氏は言う。

私が一緒に仕事をしてきた「10倍」のコーダーは、「退屈な」技術の選択をし、ユーザーのニーズに共感を示し、ソフトウェア製品のライフサイクルを大局的に見ることができる才能を持っています。

ソースは スタックオーバーフロー

10倍じゃない者には この役割を果たせない ジョエル・スポルスキーが言うように

単に "10倍の生産性 "の問題ではありません。それは、「平均的な生産性」の開発者が、優れたソフトウェアを作るための高音を出すことがないということです。

ソースは ジョエル・スポルスキー

最高のプログラマーは、パターンマッチングのスキルに非常に優れた経験を持ち、それ以下のプログラマーではできないような非常に複雑なデバッグを行うことができることがわかります。ソースです。

2.なぜそれをすべきかを理解している

問題に対する情熱を持ち、それを内面から理解していなければ、本当に10倍の開発者にはなれません。

ソースは Stackify

問題の内側と外側を理解していれば、正しい判断ができるようになります。結局のところ、10倍の開発者は、迅速に作業ができるから10倍ではなく、間違った道に進む時間を無駄にしないから10倍なのです。彼らは通常、彼らが作業しているマシン(オペレーティングシステムと他のコンポーネント)の理解を持っており、彼らが扱っている技術の良い理論的な知識を持っています。

3.彼らはそれぞれのことをするべき時を知っている

10倍速ソフトウェア開発者は、最適な結果を得るためにどこに時間とリソースを費やすべきかを理解しています。真の 10x ソフトウェア開発者は、すぐにコーディングを始めて、思いついたものを何でも吐き出してしまうようなことはしません。その代わりに、自分の時間をどのように使うのがベストなのかを決定しています。ソースは以下の通りです。 Stackify

作業を開始する前に、作業中のプロジェクトのアーキテクチャを完全に理解することは、大幅な時間の節約につながります。間違った路地を下ったり、不必要な仕事をしたり、一般的に時間のかかるプロジェクトに取り組んだりするのを防ぎ、最小限の利益しか得られません。

10倍のソフトウェア開発者は、全体の成果の5%に貢献するかもしれないプロジェクトの一部をカットしますが、結果として80%の時間と労力が投資されたソースになります。

4.彼らは仕事の文化を追加します。

10倍の開発者が仕事の文化をプラス10倍のプログラマーの周りには、多くの人のためのアイデアを拗らせるような大きな議論があります。その核心は、単にチームの残りの部分と一緒に働かないハイパフォーマーをしばしば手に入れるということです。忍者プログラマーと呼ばれることもありますが、これらの人々は驚くべき結果を生み出すかもしれませんが、彼らの周りのチームを持ち上げることはできません。極端なケースでは、彼らの傲慢さがチームの残りの部分を駆り立て、彼らが与えた利益を否定することになります。出典 ニューススタック

実際、MozのCEOであるRand Fishkin氏は、このような理由で10倍の嫌な人を雇うことに注意を促しています。ソースは以下の通りです。 コードメンター

しかし、10倍という考え方が、10倍の結果を生み出すということだとしたら、それは10倍の開発者であることになります。もし、10人の他の人の生産性を向上させ、最終的にチームの生産性を10倍にするような開発者がいれば、その開発者は10倍の開発者です。出典は以下の通りです。 スタックオーバーフロー

Hacker Newsに掲載された投稿者pradnのこの逸話を見てみましょう。この投稿者は、一人の人間がいかにして自分が所属するチームに多大な価値を生み出すことができるかを示す完璧な例を示しています。

私は今、10倍速のソフトウェア開発者がいると思われるチームに所属しています。彼はデッドロックや他のスレッドの問題で無駄な時間を大量に防ぐために、シンプルなスレッドモデルを選んでいます。また、理由付けをしたり、新しい人を仲間に入れたりするのも簡単です。彼はコードをレビューするときに、バグを見つけてデバッグに何日もかかることを防ぎ、コードを理解しやすく変更しやすいシンプルなアーキテクチャを提案しています。彼は~5年間で~20人にこのような効果をもたらしました。彼のおかげで、私たちの開発時間をまとめて ~1 年分の時間を節約できたとしても、私は驚かないでしょう。

ソースは ハッカーニュース

この特定のチームメーカーが行う貢献は、彼または彼女自身を昇格させるだけでなく、それはチーム全体を昇格させます。この人はチームの乗数として機能し、これはあなたが採用しているときに欲しい真の結果です。 ソースは ショーン・キャシディ

5.10倍のソフトウェア開発者は、あなたが彼らが行う必要がある役割にフィットします。

もう一つの問題は、一般的に10倍のソフトウェア開発者のアイデアで出てくる彼らは、任意の役割に入れて、10倍のレベルで実行することができますどのような技術的な環境に関係なく、彼らはで働いていることが起こる。 ソースは コーディメンター

10倍のパフォーマーがほとんどの状況で高度な結果を出すことができるのは確かですが、それは特定の状況や特定の技術環境のために10倍になる人がいるという事実を裏切っています。それ以外の場所では、彼らは本当に普通の結果しか出せないでしょう。あなたの会社では、開発者が10倍になるかどうかを確認することが重要です。

6.彼らは常に改善しようとしている

10倍は常に新しいことを学ぶべきです。すべての新しいスキル、ツール、アプローチは、問題を解決するための新しい方法です。それだけでなく、彼らは技術の変化に遅れを取らないようにし、10倍のレベルで生産し続けます。

10倍速ソフト開発者のスキルをテストする方法

10倍速開発者のスキルをテストする方法ロックスターのような評判で取引をしない10倍のソフトウェア開発者は、かなり入手が困難です。彼らは通常の候補者よりも多くの審査を必要とします。

彼らの専門スキルをチェック

チームの生産性とアウトプットが10倍になりそうな開発者を見つけたら、まずはその人の仕事のスキルから始めましょう。おそらく、これを見るための最も良い方法は ワークサンプルテスト.作業サンプル・テストは、アウトプットを増幅させるスキルを識別するために独自に適応されています。これは、アルゴリズムテストとは異なり、ワークサンプルテストが単純なコーディングの適性ではなく、ビジネス上の問題をテストするからです。そして、Devskillerを使用することで、本当に簡単に行うことができます。

あなたの候補者は、Javaに最も慣れていると言ってください。彼らに高度なJavaテストを与えて、彼らがどのようにするかを見てみましょう。

新しいプログラミング環境への適応性を確認する

しかし、Javaのテストだけでは十分ではありません。10倍の開発者は、必要に応じて他の技術環境にもある程度適応できるようにしなければなりません。例えば、候補者が「Javaには慣れているが、Pythonは使ったことがない」と言ったとしましょう。Javaのタスクに加えて、簡単なPythonのタスクを与えます。たとえ彼らがPythonを使ったことがなかったとしても、真の10倍速開発者ならば、割り当てられた時間内に基本的なタスクを完了させる方法を理解できるはずです。

デバッグスキルをチェック

10倍速開発者の真の特徴は、複雑で高度なデバッグができることです。これは、普通の開発者が無限の時間を与えられてもできないようなデバッグです。これは、彼らが単に技術のスキルと理解を持っていないからです。

もう一度言いますが、Devskillerのような自動化されたプラットフォームを使って、候補者が発見して削除する必要のある高度なバグを持つ高度なコードを与えることができます。これができる開発者は、通常の開発者よりも100~1倍の生産性のアドバンテージを得られることがわかるでしょう。出典はこちら。 ネボ

最良の候補者をコーディングの面接に招待して、他の人との連携の良さを確認してください。

誰かのコーディングスキルをテストすることの一部は、その人が本当に10倍の貢献をするための技術的な知識を持っているかどうかを確認することです。しかし、10倍の開発者になるためのもう半分は、チームの他のメンバーを高め、チーム自体が10倍の貢献ができるようにすることです。そのためには、候補者が他の人とどのように連携し、どのようにしてチームのアウトプットを向上させることができるかを見極める必要があります。

おそらく一番良い方法はペアコーディング面接でしょう。面接では、面接官が候補者と一緒にビジネス上の問題を解決していきます。このような面接では、単にコーディングを理解しているかどうかだけではなく、どのような意思決定をしているのか、フィードバックへの反応はどうなのか、どのように対応しているのかなどを知ることができます。また、どのような意思決定をしているのか、フィードバックにどのように対応しているのか、他の人とどのように協力しているのかを知ることもできます。開発者が直接面談することができなくても、以下のようなプラットフォームを使って、遠隔地からでも簡単に面談を設定することができます。 デブスキラー.

10倍の開発者を見つける時が来た

ユニコーンの 10x 開発者を探しに行く前に、彼らが神話の獣と同じくらい稀な存在であることを理解することが重要です。あなたはおそらく平均的な開発者をたくさん見つけるでしょうし、もしあなたがチームに10x開発者を持っているなら、彼らは周りの平均的なプログラマーの生産性を大幅に向上させることができるので、1つのアンプを探す価値はまだあると言われています。

大事なことは、覚えておくことです。

  • 自分のニーズに合った開発者を探す(まずは開発者の オープンソース貢献).これは、あなたの会社の技術的な環境と経営的な環境の両方で10倍になる人を意味します。
  • 彼らは自分自身では優秀で、チームでは優秀であることを確認してください。自分だけでは素晴らしいのに、会社の残りの部分を引きずり落としてしまうような人は要りません。
  • 彼らが選択した分野でどれだけ優れているか、どれだけ新しい環境に適応できるか、そしてどれだけ他の人と一緒に仕事ができるかを確認するために、両方の広範なテストを行います。

これで準備ができましたので、10倍速の開発者を探しに出かけてみましょう。報酬はあなたとあなたの会社にとって素晴らしいものになるでしょう。

シェアポスト

メルマガよりも

インボックスにある有益な情報を受信して、技術者採用の詳細を確認してください。

シームレスにコーディングスキルを検証&開発

DevSkillerの製品をご覧ください。

セキュリティ認証とコンプライアンス。お客様のデータの安全性を確認します。