テック業界での働き方の現実:我々はコードを書くために雇われているわけではない

技術債はエンジニアだけが痛みを感じる。マネージャーは痛みを感じない。なぜなら彼は根本的に知らない(あるいは気にしない)からだ。そのため、refactoringは本当に注意深く行うべきだ。

テクノロジー企業の現実的な職場において、エンジニアがコードを書くためだけに採用されるわけではない。著者は自身や以前の同僚の経験を通じて、企業が特定の技術または特定の従業員に依存しているという認識は、一般的な理解ほど重要ではないと指摘している。著者は、かつて同社で唯一の .Net 開発者だった同僚が、新政策に不満を持ち退職した後、彼の不在により短期間で問題が生じたものの、企業は他の技術でその貢献を補い、古い .Net アーキテクチャを廃止したことを例に挙げている。著者の経験も同様で、彼が開発したカスタマイズされた JavaScript 工具、クロスブラウザテストメソッド、独自の A/B テストキットも、第三者のツールや市場でより一般的なツールで簡単に置き換えられた。

著者の観察によると、技術者とその成果が簡単に置き換えられることの核心的な理由は、企業のマネージャーが特定の技術やコード自体に興味を示しているのではなく、製品や機能のリリース、最適化、成果の可視化に注力しているからである。彼はシステムのエラー修正やパフォーマンス問題を解決するのに多くの労力を費やしたにもかかわらず、適切な評価を受けていなかったが、高層マネージャーに報告しやすい視覚的で魅力的な PowerPoint プレゼンテーション(例としてサブスクリプションモデルやアーキテクチャ設計概念など)を作成した際に、しばしば称賛を受けていた。この観点から見れば、実際のプログラミング作業はビジネス成果を達成するための手段の一つに過ぎず、最終的な目標ではない。

Hacker News 上での議論では、著者の主張が多くの組織のマネージャーの行動を反映していると広く認められているが、異なる意見も補足されている。多くのコメントは、この現象がプログラミング業界に限らないことを指摘し、さまざまな専門分野にも同様の問題が存在し、専門家が自身のスキルを企業にとって不可欠な価値と見なしがちだが、ほとんどの従業員の価値は環境や技術の変化に伴って急速に薄れていってしまうことを指摘している。あるコメント者は、開発者にとっての本質的な価値は特定の技術に関する深い知識ではなく、組織が現在直面しているビジネス上のニーズや問題を効果的に解決できるかどうかであると強調している。これは単一の言語やシステムに限定されない。

また、ある議論者は、開発者自身も自己認識を正しく持ち、技術に過度に特化する「技術過度専門化」の罠にはまらないようにすべきだと主張している。ある人は、企業が特定の技術や人物に過度に依存している場合、それはマネージャーと組織のリスク管理や知識移転に深刻な欠陥があることを示していると指摘している。堅実な運営を行う企業は、単一人物への依存(Single Point of Failure)を避けて、システム全体とチームに柔軟性と持続可能性をもたらすようにする。

https://news.ycombinator.com/item?id=43563533