Golden Freelancer
SaikoSeiko
SaikoSeiko
2026年4月7日 41

GitHubは武器か、それとも地雷か ―― 日本と海外でまったく違った「ソースコード再利用」の価値観

エンジニアとして長年仕事をしていると、技術力そのものよりも「技術に対する価値観の違い」に驚かされることがあります。 私自身、これまで北アメリカやヨーロッパのクライアントと仕事をする機会が何度もありました。その際、提案段階でよく次のような説明をしていました。 「私は過去に類似案件を複数開発しています。その際のソースコードは現在もGitHubリポジトリで管理しています。既存資産を活用することで、最短期間かつ高品質にプロジェクトを完成させることが可能です。」 すると、多くの場合、クライアントの反応は非常に良好でした。 「素晴らしい。」 「既に実績があるなら安心だ。」 「ゼロから作る必要はない。」 「その分、コストも抑えられるのでは?」 まさに拍手喝采です。 ところが日本のクライアントに対して、全く同じ説明を行うと状況が一変します。 類似案件の実績については大いに評価されます。 しかし、 「過去のソースコードを活用します」 という一言を付け加えた瞬間、空気が凍るのです。 まるで本番DBに対して誤って DROP TABLE users; を実行した直後の会議室のような静寂が訪れます。 そして高確率でこうなります。 「それって他社のコードですよね?」 「本当に問題ないんですか?」 「うち専用に作っていただけますか?」 「完全オリジナルでお願いします。」 さらに厄介なのは、 「もちろん他社固有のコードは使用しません。共通部品や自作ライブラリのみ活用します。」 と説明しても、疑念が完全には解消されないことです。 最終的には、 「ソースコード再利用を提案しなければ良かった・・・」 という状態になることさえあります。 まさに技術営業版の「傷口を消毒しようとして皮膚ごと削った」状態です。 ⭐️なぜ海外では歓迎されるのか 海外のIT業界、特に北米圏ではソフトウェアを「資産」として捉える文化が非常に強いと感じています。 エンジニアが優秀であることの証明は、「何回同じものを作ったか」ではありません。 むしろ、 「何回同じものを作らずに済ませたか」 にあります。 例えば認証機能を考えてみましょう。 ・ログイン画面 ・パスワードハッシュ化 ・JWT認証 ・RBAC ・MFA ・監査ログ これらを案件ごとにゼロから実装するエンジニアは、職人としては立派かもしれません。 しかしビジネスの世界では、「なぜ既存コンポーネントを使わなかったのか?」と質問されることがあります。 海外クライアントの多くは、「既に動作実績があるコード」をリスク低減要素として認識します。 ソフトウェア工学的にもこれは合理的です。 十分にテストされたコードは、新規実装よりも一般的に信頼性が高いからです。 つまり海外では、 再利用=手抜き ではなく、 再利用=成熟という認識が存在します。 ⭐️なぜ日本では警戒されるのか 一方で日本では、ソースコード再利用という言葉がしばしば別の意味に変換されます。 クライアントの頭の中では、 「既存資産活用」 という言葉が、 「他社の成果物の流用」 に自動翻訳されることがあります。 もちろん法的・契約的な問題を懸念するのは当然です。 実際に他社専用システムを流用することは許されません。 しかし興味深いのは、多くの場合クライアントが懸念しているのは技術的問題ではなく心理的問題であることです。 日本企業では長年、「お客様専用」という概念が強く評価されてきました。 例えば、 ・完全オーダーメイド ・専用設計 ・独自開発 ・フルスクラッチ といった言葉には、今でも強いブランド力があります。 逆に、 ・共通ライブラリ ・テンプレート ・フレームワーク ・再利用資産 という言葉は、場合によっては価値を下げる要素として受け取られることがあります。 エンジニア視点では不思議です。 なぜなら現代のWebシステムは、ほぼ全て再利用の集合体だからです。 ・OSも再利用 ・データベースも再利用 ・フレームワークも再利用 ・クラウド基盤も再利用 ・コンテナも再利用 ・ライブラリも再利用 ⭐️GitHubが評価されにくい理由 私はこの文化的背景が、日本でGitHubが営業材料として機能しにくい理由にもつながっていると考えています。 海外クライアントはGitHubを見る際、「どんなコードを書いているか」を確認します。 ・設計思想 ・アーキテクチャ ・テスト戦略 ・CI/CD ・ドキュメント品質 ・コミット履歴 ・レビュー文化 そういったエンジニアリング能力そのものを評価対象にしています。 しかし日本のクライアントの多くは、そもそもGitHubを日常的に利用していません。 そのため、「GitHubに100リポジトリあります」と言われても、 「なるほど。」 で終わってしまうことがあります。 これはGitHubが評価されていないというより、 評価するための文化や習慣がまだ十分に根付いていないと言った方が正確でしょう。 野球経験のない人に対して、 「私のスライダーの回転数は2600rpmです。」 と説明しているようなものです。 凄いのかもしれませんが、比較基準がありません。 ⭐️技術ではなく価値観の違い この経験を通じて私が学んだのは、問題は技術ではなく価値観にあるということです。 海外では、「再利用できるものを再利用する能力」が評価される。 日本では、「その案件のためだけに作られたもの」が評価される傾向がある。 もちろん近年は日本企業も大きく変化しています。 クラウドネイティブ開発やOSS活用が一般化し、GitHubを重視する企業も増えています。 しかし現場レベルでは依然として、「完全オリジナル」 という言葉が強力な安心材料として機能するケースを少なからず目にします。 ⭐️おわりに 現在の私は、日本のクライアントとの初回商談ではあまり「ソースコード再利用」という表現を使わなくなりました。 代わりに、「過去の知見を活用します。」と説明することが増えています。 技術的にはほぼ同じ意味です。 しかし受け取られ方は驚くほど違います。 ソフトウェア開発において最も難しいのは、分散システムでもなければ、マイクロサービスでもありません。 人間の認知モデルです。 CPUキャッシュの挙動は予測できます。 ネットワーク遅延も計測できます。 しかし商談中のクライアントの脳内コンパイラが、こちらの発言をどのように解釈するかだけは、いまだにデバッグ方法が見つかっていません。 もし将来そのデバッガが開発されたなら、私は真っ先にサブスクリプション契約を結ぶつもりです。おそらく世界中のフリーランスも同じだと思います。