【悲報】その技術、あなたの評価を暴落させます。現場で「あいつは使えない」と陰口を叩かれる“負の技術”リスト

この記事は約7分で読めます。

【この記事はこんな方に向けて書いています】

  • 最新の技術トレンドを追いかけ、それをプロジェクトで使うことこそが「善」だと信じている、意識の高い若手エンジニア
  • 自分の“尖った”技術選定が、なぜかチームの顰蹙(ひんしゅく)を買い、プロジェクトの足を引っ張っていることに、まだ気づいていない方
  • 技術的な好奇心と、プロジェクトを成功に導くという責務の間で、どうバランスを取るべきか悩んでいる、誠実なエンジニア
  • 目先の「面白さ」に飛びつかず、10年後も価値を提供し続ける「本物の技術選択眼」を身につけたい、全てのプロフェッショナル

あなたは、自分の技術力に自信がありますか?毎日のように新しい技術情報をキャッチアップし、誰も知らないようなクールなライブラリや、話題のフレームワークを、誰よりも早く試している。素晴らしいことです。その探究心こそが、エンジニアをエンジニアたらしめる、根源的な力です。

しかし、その探究心が、一歩間違えれば、あなたの評価を地に堕とし、現場で「あいつは使えない」という不名誉な烙印を押される、最悪の原因となり得ることを、あなたは知っていますか?

はっきりと言いましょう。プロジェクトの成功は、決して「使われている技術の目新しさ」では決まりません。むしろ、エンジニアの自己満足的な技術選択が、プロジェクトを破滅に導く最大の要因となるケースが、後を絶たないのです。

この記事では、あなたが良かれと思って選択したその技術が、いかにしてチームを破壊し、あなた自身の市場価値を暴落させる「負の技術」と化すか。その4つの典型的なパターンを、一切の忖度なく、白日の下に晒します。これは、あなたの技術的プライドを、木っ端微塵に打ち砕くかもしれません。しかし、この現実から目を背ける者は、永遠に「技術に詳しいだけの、使えないエンジニア」のままであり続けるのです。

パターン1:「俺だけが知っている」という名の“孤児”技術。チームを蝕む時限爆弾

あなたは、ある課題を解決するために、GitHubの片隅で見つけた、まだ誰も知らない、しかし驚くほどエレガントなオープンソースライブラリを、意気揚々とプロジェクトに導入します。「こんなクールな解決策を知っている俺、すごい」。そのささやかな自尊心は、満たされたかもしれません。

しかし、その瞬間、あなたはプロジェクトに、時限爆弾を仕掛けたのです。

そのライブラリのドキュメントは、申し訳程度に英語で書かれているだけ。コミュニティは存在せず、困った時にStack Overflowで質問しても、誰も答えてくれない。そして何より、その使い方を知っているのは、チームの中で、世界で、あなた一人だけ

さて、もしあなたが、急病で倒れたら?あるいは、より良い条件の会社に転職して、このプロジェクトから去ったら?どうなるでしょうか。

答えは、地獄です。残されたメンバーは、あなたが書いた、誰も理解できない魔法のコードを前に、途方に暮れます。小さなバグ一つ修正できず、機能追加など夢のまた夢。あなたの「クールな選択」は、チーム全体の生産性を停止させる、最悪の「技術的負債」へと成り下がるのです。

プロジェクトにおける技術選択とは、個人のパフォーマンスを最大化することではありません。それは、チーム全体のパフォーマンスと、プロジェクトの持続可能性を最大化することです。あなたが選ぶべきは、あなたが個人的に好きな技術ではなく、チームの誰もが理解でき、困った時には世界中の誰かが助けてくれる、成熟し、広く使われた技術なのです。「俺だけが知っている」という自己満足は、プロジェクトに対する、最も無責任な裏切り行為に他なりません。

パターン2:「ハエを殺すのに、核兵器を使う」という“過剰”技術。レジュメ駆動開発の愚かさ

「この程度のWebサイトなら、レンタルサーバーで十分では?」 「いいえ、これからの時代はマイクロサービスです。インフラはKubernetesで、完全にコンテナ化しましょう!」

あなたの周りにもいませんか?単純な課題に対して、不必要に複雑で、大規模な技術を導入したがるエンジニアが。個人のブログを立ち上げるのに、GoogleやNetflixと同じ技術スタックを使おうとする。その、あまりにも滑稽なアンバランスに、気づいていますか?

この病の根源は、多くの場合、「レジュメ駆動開発(Resume-Driven Development)」にあります。つまり、プロジェクトを成功させることよりも、自分の職務経歴書に「Kubernetes」「マイクロサービス」といった、格好のいいバズワードを書きたい、という、極めて利己的な動機です。

その結果、何が起きるか。プロジェクトは、その技術がもたらす「偶発的複雑性」の泥沼に沈んでいきます。たった一行のコードをデプロイするのに、何十もの設定ファイルを書き換え、半日を費やす。インフラの維持・管理コストは、本来の10倍、20倍にも膨れ上がる。チームは、顧客のための価値創造ではなく、複雑怪奇な技術のお守りに、その貴重な時間のほとんどを浪費することになるのです。

ビジネスにおける技術とは、課題を解決するための「道具」です。あなたは、釘を打つのに、巨大なクレーン車を持ってきますか?道具の選択は、常に、解決すべき課題の「サイズ」と「性質」に、相応でなければなりません。その判断ができないエンジニアは、たとえ最新技術の知識があったとしても、ビジネスの現場では「使えない」という評価を、免れることはできないのです。

パターン3:「最先端」という名の“人柱”。血を流すだけの、無謀な賭け

「このフレームワーク、まだバージョン0.2だけど、思想が素晴らしい。これが未来だ。プロダクションに採用しよう!」

新しいもの好き、というエンジニアの特性は、時にイノベーションの起爆剤となります。しかし、ビジネスの根幹をなす本番環境に、まだ誰の動作保証もない、「血の滴るような(Bleeding Edge)」技術を導入するのは、単なる勇気ではなく、無謀な「賭け」です。

バージョン1.0に満たない、アルファ版やベータ版のソフトウェア。それは、いわば「未完成の建築資材」です。

  • 仕様が、ある日突然、告知なく変更される。(Breaking Changes)
  • 致命的なバグや、深刻なセキュリティ脆弱性が、潜んでいる。
  • ドキュメントは、存在しないか、あるいは、間違っている。
  • 安定した長期サポートなど、約束されていない。

あなたは、そんな、いつ崩れるとも知れない砂上の楼閣に、会社のビジネスと、顧客の信頼を預けるつもりですか?あなたは、ボランティアで、その他社の製品の「デバッガー」や「人柱」になってあげたいのですか?

あなたの仕事は、技術の未来を占うことではありません。あなたの仕事は、今、ここにあるビジネスを、安定的に、確実に、動かし続けることです。IT業界には、「退屈な技術を選ぼう(Choose Boring Technology)」という、賢明な標語があります。ビジネスの根幹部分には、あえて、枯れていて、退屈で、しかし、世界中で使い倒されて、その信頼性が証明されている技術を選ぶ。その、一見、保守的に見える判断こそが、プロジェクトを成功に導く、最もプロフェッショナルな姿勢なのです。

パターン4:「自家製フレームワーク」という名の“車輪の再発明”。巨人の肩に乗ることを知らない傲慢

「世の中にある認証ライブラリは、どれもイマイチだ。俺が、もっと最強のやつを、自作してやる」

これもまた、腕に覚えのあるエンジニアが、陥りがちな罠です。「車輪の再発明(Reinventing the wheel)」という、古くて、新しい病。

認証、ロギング、O/Rマッピング、テスティング…。あなたが直面する課題の99%は、既に、世界中の優秀なエンジニアたちが、何年もかけて、その解決策を、堅牢なオープンソースライブラリとして提供してくれています。

その、巨人が積み上げてきた叡智の結晶を無視し、わざわざ自らの手で、ゼロから同じものを作ろうとする。その行為は、謙虚さの欠如であり、エンジニアリングリソースの、最も悪質な無駄遣いです。

あなたは、自分が、世界中の天才たちよりも、賢いとでも思っているのでしょうか。あなたが数週間で作った自家製の認証ライDブリは、果たして、何百万人ものユーザーによってテストされ、数千もの脆弱性報告を乗り越えてきた、業界標準のライブラリよりも、安全だとでも言うのでしょうか。

OWASP(Open Web Application Security Project)が発表するセキュリティ脅威のリストが示すように、不適切な認証やアクセス制御の実装は、常に、最も深刻な脆弱性の原因の一つです。あなたのその、根拠のない自信が、会社を存亡の危機に晒す可能性があるのです。

優れたエンジニアとは、コードを書くのが速い人間ではありません。優れたエンジニアとは、書かなくて済むコードを、誰よりも知っている人間です。彼らは、巨人の肩に乗り、車輪の再発明を避け、自らのエネルギーを、そのビジネスにしか存在しない、本質的な課題の解決にのみ、集中させるのです。

技術選定とは、あなたの知識をひけらかすためのショーケースではありません。それは、プロジェクトが抱える様々な制約(時間、予算、人のスキル)の中で、いかにしてリスクを最小化し、未来の価値を最大化するか、という、極めて高度な意思決定のプロセスです。その判断の根幹に、「チームへの敬意」「ビジネスへの責任」「先人への謙虚さ」という三つの柱がない限り、あなたの技術力は、ただの独りよがりのナイフとなり、やがては、あなた自身と、あなたのチームを傷つけることになるでしょう。

コメント

タイトルとURLをコピーしました