1741899311
2025-03-13 20:35:00
この投稿のバージョン もともと登場しました で リファクタリング、サブサックを提供するアドバイス ソフトウェアエンジニア。
私たちのほとんどは、複雑なメンタルモデルについて推論する能力、非自明でありながらエレガントなソリューションへの跳躍、または非現実的な速度で高品質のコードの波を放出する能力において、他の私たちとは別のクラスである、実際に魔術師のように見えるいくつかのソフトウェアエンジニアに出会いました。
私は私のキャリアの中でこれらの信じられないほどの存在の多くに出くわしました。彼らの存在は、「10倍のエンジニア」の概念の好奇心の強い耐久性を説明しているものだと思います。アイデア–持っています ミームになります-は に基づく 薄っぺらな、見掛け倒しの研究そして、人々がそれを守るために行った主張はしばしば、しばしばライジブルでした(たとえば、10倍のエンジニアは暗い背景を持ち、ユーザーインターフェイスの仕事をしていることはめったに見られず、貧しいメンターやインタビュアーである)、またはステレオタイプを露骨に倍にします(「私たちはマーク・ザッカーバーグを思い出させるハーディーズの若い男を探します」)。しかし、それが経験に共鳴しないなら、くそ。それはただ真実だと感じています。
私は、他のエンジニアの生産性が10倍10倍のエンジニアがいるという考えに問題はありません。私が抱えている問題は2つあります。
生産性の測定は困難で不完全です
まず、生産性をどのように測定していますか?私は、あなたが人々を標準化して並べ替えることができる生産性の真のメトリックが1つあるという意味に問題があります。プレイ中のスキルと体験の大きさを考えてみましょう。
- 取り組んでいますか マイクロプロセッサ、 IoT、データベースの内部、Webサービス、 ユーザーエクスペリエンス、モバイルアプリ–何?
- 使用していますか Golang、Python、Cobol、またはLisp?どのバージョン、 ライブラリ、そしてフレームワーク?他にどのようなソフトウェアを習得する必要がありますか?
- どの隣接するスキル、市場セグメント、製品の主題の専門知識を活用していますか?設計、セキュリティ、コンプライアンス、データの視覚化、マーケティング、金融?
- 開発の段階は何ですか?どのスケールの使用法ですか?あなたはaのために書いていますか 火星 ローバー、またはシュリンクラップされたソフトウェアは、決して変更できませんか?
また、人々とそのスキルと能力は静的ではありません。ある時点で、私はかなり優れたデータベース信頼性エンジニアでした。たぶん私は10倍のデータベースエンジニアだったかもしれませんが、確かに今ではありません。クエリプランをデバッグしていません 年。
「10xエンジニア」は、生産性が人の不変の特徴であるように聞こえます。しかし、特定のスキルセットの10倍のエンジニアである人は、平均的な(または平均以下)、まだより多くの領域を持つことになります。私は多くの世界クラスのエンジニアを知っていますが、あらゆる状況で、他の誰よりも10倍優れている人に会ったことはありません。
エンジニアはソフトウェアを所有しておらず、チームはソフトウェアを所有しています
第二に、そしてさらに重要なことに:それで、何ですか?個々のエンジニアは所有していません ソフトウェア;エンジニアリング チームはソフトウェアを所有しています。個々のエンジニアがどれほど速くソフトウェアを書き込むことができるかは関係ありません。重要なのは、チームが所有しているソフトウェアを集合的に書き、テスト、レビューし、維持し、維持、リファクタリング、拡張、アーキテクト、および修正できるかということです。
誰もが同じソフトウェア配信パイプラインを使用しています。あなたの会社で最も遅いエンジニアが1行のコードを発送するのに5時間かかる場合、あなたの会社で最速のエンジニアを5時間、単一のコードを出荷することになります。コードを書くのに費やした時間は、通常、に費やされた時間によってwar星されます 他のすべての部分 の ソフトウェア開発 ライフサイクル。
単一のエンジニアが所有するサービスまたはソフトウェアコンポーネントがある場合、その人は単一の失敗ポイントです。
私はこれが決して起こらないと言っているのではありません。で非常に正常です スタートアップ あなたが直面する最大の実存的リスクは、十分に速く動いていないため、廃業しているため、ソフトウェアを所有する個人を持つことです。しかし、あなたが会社として成長し始めると、所有権はチームに引き渡される必要があります。個々のエンジニアは病気になり、休暇に出て、会社を去ります。ビジネスはそれに復元されなければなりません。
チームがソフトウェアを所有する場合、エンジニアリングリーダーの重要な仕事は、高性能のエンジニアリングチームを作成することです。 10倍のものが必要な場合は、10倍のエンジニアリングチームを構築してください。
最高のエンジニアリング組織は、通常のエンジニアが素晴らしい仕事をすることができるものです
人々が世界クラスのエンジニアリング組織について話すとき、彼らはしばしばスタッフや主要なエンジニアとトップヘビーなチームを念頭に置いている、または前のランクから大量に採用するチームを持っています ビッグテクノロジー 従業員とトップ大学。しかし、本当に素晴らしいエンジニアリング組織は、ビジネスに大きな影響を与えるために「最高の」または最も血統のエンジニアの1人である必要はないと主張します。それは実際には逆だと思います。真に優れたエンジニアリング組織とは、まともなスキルと通常の専門知識を備えた完全に普通のワークアデイソフトウェアエンジニアが、一貫して速く移動し、船体コードを船体に応答し、構築したシステムを理解し、毎週ビジネスを前進させることができます。
誰でも、世界で最も経験豊富で素晴らしいエンジニアができる組織を構築できます 製品を作成します そして進歩します。それは難しくありません。そして、個々の能力にすべてのスポットライトを当てることは、あなたのリーダーを仕事をすることからあなたのリーダーをオフにする方法を持っています。経験の少ないエンジニアが自分の努力とエネルギーを製品とビジネスの勢いに変えることができるシステムを構築できる場合、それは大きな競争上の利点です。そして、生産性の唯一の意味のある尺度は、あなたがビジネスを物質的に前進させているかどうかです。
真に素晴らしいエンジニアリング組織も、たまたま世界クラスのソフトウェアエンジニアを造っているものです。しかし、私はここで自分自身に先んじています。
「通常の」エンジニアについて話しましょう
多くの技術的な人々が、賢い子供としての私たちのアイデンティティに本当に執着しています。ソフトウェア業界は、「グローバルな才能の上位10パーセントを探している」または「トップ0.1パーセントを雇いたい」というコインベースの願望であるというNetflixの主張で見られるように、この先入観を毎ターンで反映し、強化する傾向があります。その荷物を横に設定し、自分自身について考えるように私たちに挑戦したいと思います普通 人々。
自分を普通の人だと考えるのは謙虚です。しかし、私たちのほとんどはそうであり、そこにあります それは何も悪いことではありません。特定の基準で認定された天才である私たちでさえ、他の方法では非常に正常である可能性があります – 肌、感情的、空間的、音楽、言語などです。
ソフトウェアエンジニアリングは、特に抽象的な推論を中心に、特定の種類のインテリジェンスを選択し、開発しますが、 誰でもない 素晴らしいソフトウェアエンジニアが生まれました。偉大なエンジニアが作られ、生まれません。
「普通の人」を念頭に置いて社会技術システムを構築します
才能を雇い、チームを雇用することになると、はい、絶対に、人々が例外的である方法を特定することに焦点を当てるべきです。しかし、ソフトウェア配信のための社会技術システムの構築に関しては、人々がいるすべての方法に焦点を当てる必要があります 普通。
普通の人は持っています 認知バイアス– 認定バイアス、最新性バイアス、後知恵バイアス。私たちは一生懸命働き、気にし、最善を尽くします。しかし、私たちは物事を忘れ、焦りを感じ、ゾーンアウトします。私たちの目は容赦なく赤に描かれています(私たちが色盲でない限り)。私たちは習慣を身につけ、それらを変えることに抵抗します。同じテキストブロックが繰り返し表示されると、読み取りをやめます。
私たちは、圧倒されて疲労することができる存在しています。アラートが午前3時に私たちを目覚めさせた場合、午後3時に同じことをしようとした場合よりも、そのアラートに反応しながら間違いを犯す可能性がはるかに高くなります。
システムが通常のエンジニアによって使用されるように設計されている場合、システムのナビゲートで無駄にするのではなく、彼らが持っている過剰な輝きが製品自体に注がれる可能性があります。
優れたエンジニアリングオルグミントワールドクラスエンジニア
優れたエンジニアリング組織とは、多くの影響を与えるために世界で最高のエンジニアの1人である必要がないためです。しかし、皮肉なことに、Great Engineering Orgs Mint World-Class Engineersは誰のビジネスのようです。
最高のエンジニアリング組織は、世界で最も賢く、最も経験豊富な人々を持つものではありません。彼らは、通常のソフトウェアエンジニアが常に進歩を遂げ、ユーザーに価値を提供し、ビジネスを前進させることができるものです。 エンジニアができる場所 大きな影響を与えることは、トップパフォーマーのための磁石です。エンジニアが物を構築したり、問題を解決したり、進歩を遂げたりすることほどエンジニアを幸せにするものはありません。
あなたがあなたの組織に世界クラスのエンジニアを持つことができて幸運なら、あなたにとって良いことです!リーダーとしてのあなたの役割は、あなたの顧客や他のエンジニアの利益のために彼らの輝きを活用することです。 依存する 彼らの輝きについて。結局のところ、これらの人々はあなたのものではありません。彼らはいつでもドアから出るかもしれません、そしてそれは大丈夫でなければなりません。
これらの人々は、彼らがチームプレーヤーになり、エゴを抑えることができると仮定して、驚異的な資産になることができます。それがおそらく、非常に多くのハイテク企業がそれらを特定して雇用することに夢中になっているように見える理由です。 シリコンバレー。
しかし、企業はすでに鋳造された後にこれらの人々を見つけることに重点を置きすぎており、それは最終的に世界全体のすべての偏見と不平等を強化し、複製することになっています。才能は人口に均等に分配されるかもしれませんが、機会はそうではありません。
「最高の」人々を雇わないでください。適切な人を雇います
私たちは個々の機関と特性にあまりにも重点を置いており、私たちを形作り、行動を知らせるシステムに十分ではありません。
たくさんの問題(インタビュープロセスから自己選択、応募者の多様性など)は、この範囲から雇用の焦点をシフトすることで改善されると信じています。 最高 より合理的で正確な人々と再編集 右 人々。
弱点の欠如ではなく、人々が独自の強みのために雇われることができる環境を構築することは競争上の利点です。チームの構成に重点が置かれている場合。包括性は、倫理的な理由のために、そしてそれがすべての人のパフォーマンスのための水準を上げるために与えられている場合です。包括的文化は、実力主義が依存しているものです。
これは、エンジニアリングの才能が炎のように描かれるように惹かれるような場所です。ビジネスを前進させ、スキルを磨き、クラフトを改善するのは気持ちがいいです。それは、人々が世界クラスのエンジニアになりたいときに行くような場所です。そして、それは、世界クラスのエンジニアが次世代を固執し、訓練したい場所になる傾向があります。
サイトの記事から
ウェブ上の関連記事
#なぜ通常のエンジニアが優れたチームの鍵であるのか