10X エンジニアは神話ですか?
現実には、プログラミングが他の人よりも優れている人もいます。
テクノロジー企業での前職では、チームの何人かがすべてを行う方法を知っているように見えることに畏敬の念を抱いていました。
大学在学中にハッカソンやインターンシップに参加していたときでさえ、多くのことを学んだ非常に才能のある開発者に会うことができました。
この記事では、人々が 10X エンジニアについて持っているかもしれないいくつかの誤解について説明します。 10Xエンジニアとは何かを調べた後 そうではなく、 あなた自身が 10X エンジニアになるための最良のアドバイスをいくつか紹介します。
10Xエンジニアとは?
多くの開発者は、10X エンジニアの実際の定義について議論するでしょう。 しかし、わかりやすくするために、ここで簡単な定義を定義してみましょう。
10X エンジニアとは、同僚 XNUMX 人分の生産性を発揮できるソフトウェア開発者です。
10X エンジニアのアイデアは、あなたが思っているよりも早く生まれていたかもしれません。
A 研究論文 1968年から「オンラインとオフラインのプログラミングパフォーマンスを比較する探索的、実験的研究」と呼ばれる研究は、最高のプログラマーの一部は最悪のプログラマーよりも桁違いに優れたパフォーマンスを発揮するという考えを最初に提案しました. これは今日合意された定義ではありませんが、10X エンジニアのアイデアはすぐに学界の外に広がりました。
数年後、古典的な本 神話上の人月 10X エンジニアのアイデアをさらに説明します。 著者のフレッド・ブルックスは次のように提案しています。 ソフトウェア開発 チームは、外科チームのように構成できます。
このチームには、チーフ プログラマーまたは「外科医」とサポート プログラマーまたは「看護師」がいます。
このアナロジーは理解しやすいですが、ソフトウェア開発の現状に当てはめると、少し単純化され、時代遅れになっていると思います。
技術チームのチームダイナミクスは、外科医のそれとは大きく異なります。 10 人の人がほとんどの作業を行う、または最も困難な作業のみを行うというこの考えは、XNUMXX エンジニアのあるべき姿を誤って特徴付けています。
よくある誤解
10X エンジニアの考え方が技術分野全体に広がるにつれて、マネージャーの大半は、「10X」の意味を誤解することがよくあります。
よくある誤解は、10X エンジニアは同業者よりも XNUMX 倍の量のコードを作成するというものです。 これは単に真実ではありません。
10 倍のエンジニアは同僚よりも多くのコードを作成できる可能性がありますが、数量は適切な指標ではありません。 10 未満で実行できるコードを XNUMX 行も費やして実行するプログラマーを想像してみてください。 同様に、XNUMX 倍のエンジニアが XNUMX 倍速くコーディングすることはありません。
10X エンジニアに関するもう XNUMX つの誤解は、コーディングの知識があるからこそ優れているというものです。 繰り返しますが、これは間違ったメトリクスを見るもう XNUMX つのケースです。
10 倍のエンジニアの価値は、チームと組織に 10 倍の価値をもたらす方法にあります。 XNUMXX エンジニアは、コーディングの知識を使用して会社のニーズに合わせることができるため、不可欠です。
マネージャーは、問題を解決し、他の人とうまく連携できるエンジニアを探す必要があります。 コーディングの知識を超えて、10X エンジニアは周囲の全員の仕事を向上させることができるはずです。
10 倍のエンジニアになるための XNUMX つの方法
このセクションは、次の雇用を探しているマネージャー、または単に 10 倍のエンジニアを目指すエンジニアを対象としています。
以下は、10X エンジニアの主な習慣と特徴の一部です。
彼らは技術スタックを最大限に活用する方法を知っています
ツールを知ることは、おそらく私があなたに与えることができる最も明白なアドバイスです. ただし、多くの開発者は、効率的に作業する方法を学ぶことでワークフローを改善できます。
私が一緒に働いたほとんどの 10x エンジニアは、ターミナルの使い方を知っています。 初心者にとっては学習曲線のようなものかもしれませんが、オンザフライでシェル コマンドを作成する方法を理解することは、長期的には仕事をより迅速に行うのに役立ちます。
10x エンジニアは、少し怠惰であることからも恩恵を受けることができます。 私が何を意味するのか教えてください。
新しいコミットを本番環境にプッシュするために、一連のコマンドを毎日手動で実行しなければならないことを想像してみてください。 10x エンジニアは、繰り返しの作業を避ける必要があります。 彼らは可能な限り一日の多くを自動化するために余分な努力をします.
最高のエンジニアは、長期的にも考える必要があります。 スタートアップで働いている場合、手早く簡単なソリューションに注目したくなるかもしれません。 ただし、これらのソリューションは、将来的にはスケールアップしない場合があります。
彼らは決して学ぶことをやめません
優れた開発者は学習をやめません。 最高のエンジニアは、忙しい一日の時間を見つけて、自分の仕事に適用できる新しい概念、言語、およびフレームワークを試します。
10 倍のエンジニアは、健全な好奇心を維持する必要があります。 彼らはしばしば「これはもっとうまくできるだろうか?」と自問します。 または「この問題を解決するためのより簡単または効率的な方法はありますか」
したがって、10x エンジニアは、学習自体の技術を習得する必要があります。 学習方法を学ぶことは、ペースの速い環境で生き残るための最良の方法です。
彼らは自分の時間を最善に使う方法を知っています
優れたソフトウェア エンジニアは、特に自分の時間をどうするかについての意思決定に長けています。
10X エンジニアが平均的なエンジニアよりも多くの時間を費やす必要はめったにありません。 エンジニアは、特定の要求にいつ反対し、ノーと言うべきかを知っておく必要があります。 どのタスクを自分で実行し、どのタスクを委任するかを知っておく必要があります。
有能なエンジニアは、タスクをすぐに実行する価値があるかどうかを判断する方法を習得する必要があります。 心に留めておくべき XNUMX つのメンタル モデルは、パレートの法則です。
仕事の価値の 80% は 20% の努力から生まれるという原則です。 つまり、すべてのタスクが同じというわけではありません。
彼らは適切なメンターシップを探します
優れたエンジニアは、業界のベテランから多くを学ぶことができます。 10X のエンジニアは、自分の知識を深めるために、仕事の内外でメンターシップを求めていることがよくあります。
同様に、10X のエンジニアは、自分のチームメイトに対してメンターシップの役割を担うことで利益を得ることができます。 チーム全体が、彼のより初心者のチームメイトに開かれることで持ち上げられます.
彼らはビジネスを理解しています
簡単に言えば、ソフトウェア エンジニアリングは、コンピューターが現実世界の問題を解決する方法にすぎません。 そのことを念頭に置いて、効果的なエンジニアは、解決しようとしている問題の専門家にならなければなりません。
エンジニアとして、自分が属するビジネスや業界を理解するために努力することは賢明な考えです。 10x エンジニアは、他の部門とのミーティングに積極的に参加する必要があります。
エンジニアが、ビジネスのコンテキストで他の部門が何をしているかを理解するために努力すれば、彼らは効果的なコミュニケーターになります。 効果的なコミュニケーションは、チームがビジネス要件やプロジェクトの仕様を誤解するのを防ぐのに役立ちます。
まとめ
10X エンジニアがどのように見えるかをより明確に理解していただければ幸いです。 また、10X エンジニアではないことも理解する必要があります。
もちろん、上記のアドバイスは、あらゆるソフトウェア エンジニアリングの役割に適用できる一般的なガイドラインにすぎません。 どうすれば最強になれるか知りたいなら DevOpsエンジニア、フルスタックの開発者、またはデータ サイエンティストの場合、最善の選択肢は、学び、構築する機会を見つけることです。
あなたの現在の位置が良い学習環境であるかどうかを考えてください。 おそらく、現在の技術スタック以外の技術を探求できるサイド プロジェクトにより多くの時間を費やしたいと思うでしょう。 これらは、テクノロジーで優位に立つためのヒントのほんの一部です。
エンジニア志望者にとって最も役立つアドバイスは何だと思いますか?
コメントを残す