+10 倍のエンジニアは神話かもしれませんが、-10 倍のエンジニアは存在します。
-10 倍のエンジニアになるためには、週に 400 時間のエンジニアリング時間を無駄にするだけです。以下の戦略を組み合わせてください:
-
10 人のエンジニアの出力を無効化します。
開発の途中で要件をできるだけ変更します。責任を回避するために、最初から要件を曖昧にします。 -
400 時間の忙しい仕事を作ります。
チームに仕事に似たタスクを実行するように依頼します。一般的な例には、プレゼンテーション、ダイアグラム、チケット管理があります。無駄な儀式を作ります。 -
400 時間の過労 / 離職を作ります。
感謝の気持ちを持たないでください。他人に責任を押し付けます。混乱をまき散らします。怒ります。他の人に残業をさせます。 -
10 人のエンジニアを技術的な議論に拘束します。
エンジニアにアイデアを議論させます。彼らに優雅さを追求するように奨励します。誰にも意思決定の権限がないようにします。 -
400 時間のコミュニケーションのオーバーヘッドを追加します。
会議はカレンダーを破壊します。他の人の時間を目立たないように無駄にするために、長いメッセージ / 文書を書いてできるだけ広く共有します。すべての意見を歓迎し、関与を目指します。 -
クラウドコストに 10 週間の給与を無駄にします。
遅いプログラムを書きます。DB のインデックスを避けます。16 コアのマシンでシングルスレッドのプログラムを実行します。ファンシーな RAM と GPU を備えたエキゾチックなハードウェアを選択します。データを自由に RAM / ディスクに保存します。何も圧縮しません。データのレイアウトに注意を払いません。 -
無駄なツールを作ります。
既存のソリューションが必要なものではないと判断します。1 人しか理解できないスクリプトを書きます。スクリプトが重要なことを行う場合は、ドキュメント化を避けます。 -
コンパイル / ビルド時間に 400 時間を追加します。
遅いビルドは時間を無駄にし、複利効果を生みます。ビルド時間が増えると、開発者は自分自身を気晴らしする可能性が高くなります。開発者がコンテキストを切り替えることを確認するために、再コンパイルには少なくとも 20 秒かかる必要があります。同様の効果のために、遅いテストを書くこともできます。 -
無駄なテストを書きます。
基礎となる機能をテストせずに特定の変数に依存関係を作成します。元のコードが実行されないように、関数呼び出しをモックします。テストに微妙なランダム性を導入し、原因なく成功 / 失敗するようにします。 -
悪いアーキテクチャに 400 時間のエンジニアリングを無駄にします。
システム設計が時間とともにどのように進化するかを考慮しません。または、チームにアーキテクチャの決定に執着させ、仮説をテストする時間を持たせません。 -
デプロイに 400 時間を無駄にします。
可能な限り多くの環境を作成します。本番とステージングは大きく異なる必要があります。壊れやすいコードを壊れやすいビルドシステムで起動します。データベースを頻繁に移行します。 -
不満な顧客に 10 週間の給与を無駄にします。
深刻なバグを検出して対処することを繰り返し失敗します。セキュリティの脆弱性に注意を払いません。 -
無価値なドキュメントを書きます。
コードをプライベートメッセージで説明します。誰も使用しないウィキを書きます。 -
無駄なスカンクワークスプロジェクトに 10 人のエンジニアを閉じ込めます。
優れたエンジニアを引きつけて彼らのポテンシャルを無駄にします。プロジェクトの難しさをマネジメントに過小評価し、プロジェクトの有用性を過大評価します。マネジメントに「ほぼ完成」と伝え、最終的にはプロジェクトを中止させます。 -
400 時間のメンテナンスを要求する依存関係を追加します。
エンジニアは個別に各ライブラリを学びます。 -
転換を遅らせます。
失敗を認めないでください。チームを埋め込みます。改善できる 80/20 の妥協点を無視します。 -
0x エンジニアを 10 人雇います。
機会費用は致命的です。無駄な人材はチームに積極的に害を与えるわけではありませんが、積極的に助けることができる人の席に座っています。 -
-1x エンジニアを 5 人雇います。
無駄な人材に満足しないでください。災害を引き起こし、学習を拒否するエンジニアを積極的に雇用します。 -
-1x エンジニアが解雇されないようにします。
船を揺らさないでください。失敗の紙の軌跡を残さないでください。悪いエンジニアリングを保証します。 -
バグのトリアージに 400 時間を費やします。
デバッグできないプログラムを作ります。すべてに抽象化の層を貼り付けます。スパゲッティコードを書きます。すべてを初期条件に敏感にします。純粋な関数を避けます。依存関係を自由に使用します。可能な限り「自分のマシンでは動作します」と言ってください。