
2026/04/06 21:53
「抜き取られた経験から学んだこと」
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
要約
著者は、2024年春にカリフォルニア拠点の北京パーククライアント向けに開始された失敗した拡張現実(AR)バスツアープロジェクトを回想します。チームは主にバージョン管理がなく、タブレットドライブからコードをデプロイし、レンズ歪み・視差・遮蔽・深度ヒント・色科学などの基本的なAR知識を欠いたジュニア開発者で構成されていました。技術的失敗としては、ジャイロスコープ軸フリップ、中国で信頼できないGPS、アルファから透明へ変換されたフルスクリーン四角形にすべてのレイヤーをレンダリングすること、ほこり入りのエアインテークや過熱したOLEDパネル、MDFシェルフ上の不安定な「ラック」などのハードウェア問題が挙げられます。
著者は24日連続で1日あたり11〜14時間働き、自身の深度カメラ・ノートパソコン・ソフトウェアキーを持ち込み、外出費用を負担しつつムエタイ腕部損傷にも対処しました。バージョン管理を実装し、Windowsビルドを標準化し、レンダーパイプラインを再構築し、クライアント承認のために段階的なファデリティワークフローを提案したにもかかわらず、クライアントは不満を抱え続け、支払いも繰り返し遅れました。契約金額のうち合意された総額の4分の1未満しか支払われず、著者は推定35,000ドル相当の作業を完了しましたが、完全な報酬は得られませんでした。
法的措置も検討されましたが、クライアント企業が単に解散できるため不適切と判断されました。債権回収会社を雇いましたが最終的には効果がありませんでした。この経験から著者は、絶望的で受容しないクライアントは救済できない場合があること、契約が信頼できない可能性があること、およびそのような状況に直面したときに自分の直感を信じることが重要だと学びました。
本文
2024年春、北京の公園で開催される拡張現実バスツアーについて、親しい友人から連絡がありました。カリフォルニアを拠点とするクライアントは急遽手配を迫られ、私たち双方が尊敬している人物に紹介してもらったのです。
私はThe MillやIDEOでARバスプロジェクトをコンサルティングした経験があるため、難題の多さはよく理解していました。導入時の電話会議では、彼らがどのように課題に対処しているかについて興味を示しましたが、彼らは躊躇し、「それはちょっと違う」と言っていただけでした。これは何かがおかしいという最初の警告でした。
プロジェクトの範囲を話し合い、できるだけ早く中国へ渡航するために就労ビザを取得すると約束しました。1か月程度で十分だと判断し、以前のプロジェクトで既に有効なビザがあるので、すぐに出発しました。
到着
現場は大混乱状態でした:
- バイナリやTouchDesignerを使うジュニア開発者たちは、USBメモリから直接本番環境へコードをデプロイしており、バージョン管理が一切ありませんでした。
- 透明OLEDのバス窓にARエフェクトを試みましたが、レンズ歪み・視野角・遠近法・遮蔽を考慮せず、結果は全く合致しませんでした。
- ジャイロセンサーの軸が反転しており、バスのピッチに対して仮想コンテンツが逆方向に反応しました。
- GPSは不安定(中国では予想通り)で、代替手段もありませんでした。
- レンダーパイプラインはすべてをフルスクリーン四角形へ描画し、アルファ透明化で合成していました。レイヤー数は35層以上に上ります。
- 消費者向けゲームPCの空気取り込み口が埃っぽい外風を受け、OLEDパネルは直射日光で熱くなっていました。
- 「コード」は乗客席のMDF棚に保管されており、路面が凹凸だと揺れます。
- ノードベースのコードは可読性・保守性・標準化が欠如した状態でした。
彼らは約束した基本的な機能すら提供できず、圧倒されていました。手法を更新する提案には一切耳を傾けませんでした。
私の介入
私は以下の対策を提案しました:
- レンズ内部パラメータを測定し画像をフラット化。
- 色空間管理(カラサイエンス)を実装。
- 各バスに第二カメラを設置し、熱い日光のベンチ席ではなくオフィスでトラブルシュート。
- レンダーパイプラインをより健全な構造へ再構築。
- Windowsビルドを標準化し、残り約20台のバスにアルファテンプレートを展開。
さらにバージョン管理を必須とし、即時かつ可逆的なデプロイが可能になることで、安定した本番ビルドから機能開発を分離できることを示しました。
それでも彼らはパーティクルエフェクトやキラリと光るアニメーションなどの派手な演出を追加することに固執し、アニメーターズ・ブックやストーリーボード、参照画像もなく、同日中にクライアント承認を求めました。その結果、期待通りの成果が得られないたびにクライアントから度重なる不満が寄せられました。
私は低精度から高精度へと段階的に進むプロセスを提案し、各ステップで修正・明示的な承認を取得するよう指導しました。さらにジュニア開発者間の虐待的行為も露呈させました。
私は24日連続で1日あたり11〜14時間働き、深度カメラやノートパソコン、ソフトウェアキーなど自分の機材を使用し、すべての経費を負担しました。ムエタイの怪我により手首が炎症した際は、中国製虎爪バームパッドを渡されました。妻が一人で育児をしている間、私は5月の2歳児と別々に過ごすことになりました。
契約金額の4分の1未満のデポジットしか受け取らず、彼らが支払うという信頼の上で全て行いました。結局、彼らは決して支払いませんでした。数年後になっても、35,000ドルを受け取ることはありません。
学んだ教訓
- 助けることが不可能になる場合があります。クライアントがそれを受け入れないときです。
- 契約書は実務上「トイレットペーパー」のように感じられるかもしれません。
- 35,000ドルを誰かのデスクから奪うことは大幅な窃盗であり、彼らの作業と時間を横取りすることは容認できません。
- エンドクライアントは悪い請負業者と私たちの違いを見分けられず、その感覚は誤解です。
- 直感を信じる(2回)ことが重要です。
よくある質問
| 質問 | 回答 |
|---|---|
| なぜ進捗報酬はないのか? | スプリントはわずか3週間。進捗報酬を要求するのは不信感に繋がります。 |
| 彼らは支払う義務を否認しているのか? | 支払い予定週から無意味な言い訳を送り、翌週に支払うと主張し続けました――18ヶ月にわたる創作的表現です。 |
| 航空券は自費だったか? | 以前の取り決めのおかげで無料でした。 |
| この仕事に他人が影響を受けたか? | はい、関与したすべての人が搾取されたと感じています。 |
| 「最後にもう一つだけ」で支払いが確定すると考えたのか? | そうだった可能性があります。 |
| クライアントはどれほど不満だったか? | 非常に、不満を抱くのは当然です。 |
詳細についてもっと知りたい場合は、ぜひお知らせください。