技術的負債というワードはウォード・カニンガムが発祥と言われており、それこそ「スピード」と「コードの品質」のトレードオフのことを指している。スピードを得るために、借金をすることで、未来のコードの品質を改善するために利子を払い続ける必要があるという意味のメタファーである。
しかし、最近は技術的負債という言葉の誤用が広まり、それが定着化している。
例えば「モダンではない(古い)技術選定」「要求仕様の変化によって荒れたコード」を指して会話していることが多い。
誤用であるので会話の最中に自分とコンテキストが一致しないこともある。とはいえ時代の変化とともに言葉の扱われ方が変わるのは、事実であるので、これは65535歩譲って理解はできる。
しかし、問題なのは誤用で解釈しているエンジニア達がこぞって「技術的負債」という存在そのものを生み出しているエンジニアを糾弾していることだ。
残念ながら、彼らに「技術的負債はなぜ悪なのか」を聞くと「自分の開発体験が損なわれるから」という利己的な解像度でしか相手に伝えられない場合が多く、コミュニケーション能力も乏しいと感じることが多々ある。
開発体験が損なわれると「感じる」というのはわかるが、彼らはこれに対して数字で反論することはない。感情的なのだ。
彼らは自分自身を利口で地頭がよく、論理的に物事を捉えていると誤認しているが、これらの行動原理はただの感情ベースであり、彼らもまた感情的な生き物であることがよくわかる。
脱線するが一部のエンジニアには「○○言語が書けるから入社を決める」みたいな頭が悪い会社の選び方をする者もいる。
好きな言語を仕事にしたいという安易な発想で、糾弾している技術的負債を目の当たりにし、自分が書きたいと思ったコードが書けないで会社を去るものもいるだろう。本当に愚かである。残る選択をしたエンジニアは技術的負債に手を加えて、自分が嫌悪しているのにも関わらず技術的負債を生み出すのである。
そして、彼らもビジネスの都合で技術的負債を生み出して、後に入社するエンジニアに技術的負債を生み出したことで糾弾されるのである。数ヶ月、もしくは数年後にはモジュールなどのエコシステムが刷新されることによって、結果としてオナニーコードが技術的負債として罵られるのである。滑稽としか思えない。
つまり誤用の技術的負債ワードを用いるエンジニアが、技術的負債を糾弾するというのは無知によるポジショントークであり、自分自身が技術的負債を生み出していることに気づかないピエロなのだ。
さらに言えば、言葉の定義にうるさい割に、技術的負債という言葉の定義を自分たちの都合のいいように解釈して誤用しているのである。
書きたいことは理解できるが、一介のエンジニアとしては「NO 」と言わせていただく。お前の「技術的負債」の主張を真に受けると、エンジニアの将来を保証してくれるワケだな?ああ...