「バレなければいい」:品質管理を放棄されたオフショア開発

オフショア開発の真実 公開: 2026.04.07 更新: 2026.04.17
#オフショア開発 #品質管理 #職業倫理 #フロントエンド

ブラウザコンソールが語る現実

改修作業のためにブラウザの開発者ツールを開いた瞬間、目を疑った。

GET http://localhost:5174/favicon.ico 404 (Not Found)
Warning: [antd: Form.Item] `name` is only used for validate React element.

いくつものエラーと警告。これが「納品」されたシステムの実態だった。

ファビコンが設定されていない。HTMLのlang属性が日本語システムなのに「en」のまま。Viteのテンプレートをそのまま使用している。これらのエラーは開発中にF12キーを押せば一目瞭然だ。つまり開発者はエラーを認識していた上で、「動いているから問題ない」「管理者はコンソールなんて見ない」と高を括って放置した。

Ant DesignのForm.Itemでは、nameプロパティがない場合はレイアウト用のコンテナとして機能し、requiredは意味を持たない。にもかかわらず、外側のForm.Itemにnameなしでrequiredを設定し、複数の子要素を持たせる矛盾した実装がされていた。

この警告、AIに聞けば10分もかからず解決する。しかし直さなかった。「面倒くさい」「警告はエラーじゃないから」「動いてるから問題ない」「バレないから」。今まで何度も見てきた言い訳だ。

品質が隠蔽される構造

この問題の本質は技術力ではない。契約構造だ。

クライアント(素人)→ SIer(管理者SE)→ オフショア開発(ベトナム)

クライアントはF12キーを押さない。管理者SEも開発者コンソールを確認しない。オフショア開発者は「バレなければいい」精神。誰も品質問題に気づかない構造が出来上がっていた。

私がこのプロジェクトに関わっていなければ、クライアントは表面的には問題なく動いているシステムを使い続けていた。表面的には正常に動作するが、開発者コンソールには警告とエラーが溢れている。品質の低さが隠蔽され続ける仕組みだ。

そしてこの後も多数のページで警告がコンソールに表示され、修正に追われた。

三重の欠如

エンジニアリング力の欠如。 警告は「今は動いているが、正しくない実装である」というフレームワークからのメッセージだ。これを無視することは将来的な保守性や拡張性を考慮していない証拠だ。

AI活用力の欠如。 エラーメッセージをコピペして「どう直せばいい?」と聞くだけでいい。それすらしない。

プロ意識の欠如。 最も深刻なのはこれだ。「バレなければいい」という精神。クライアントを騙し、品質を偽装し、プロとしての誇りがない。

管理者SEに「なぜ日本で普及していないAnt Designを採用したのか」と質問したところ、「開発速度優先で、彼らが使い慣れている環境で構わないと伝えた」と回答された。使い慣れている?基本的な使い方すら理解せず、警告を放置しているのに?

AIは嘘をつかない。エラーがあればエラーがあると報告する。警告を無視しない。最初から警告が出ないコードを生成する。誠実で、正確で、迅速で、安価だ。「バレなければいい」という精神の開発者に高い外注費を払う理由はもうない。


オフショア開発シリーズ:

この記事をシェアする

関連記事