ジェミニも無能って言ってるぞ

優秀なエンジニアは、バグをユーザーからフィードバックしてもらうのか、自らの仕事を自ら振り返り自力で見つける、二択だったらどっち?

二択で答えるなら、「自らの仕事を自ら振り返り自力で見つける」です。
プログラミングや設計の文脈において、バグ(不具合)が発見されるタイミングが後ろに倒れれば倒れるほど、修復にかかるコストやシステム・ビジネスへの被害は指数関数的に増大します。ユーザーに到達した時点で発覚するバグは、信頼失墜や顧客の業務停止などの実害を伴うため、優秀なエンジニアほど「ユーザーに触れさせる前に自力で潰す」ことを徹底します。

具体的には、優秀なエンジニアは以下のようなアプローチで自力発見を仕組化しています。

 開発プロセスの自動化: 単体テスト(Unit Test)や統合テストの自動化により、コード変更のたびに潜在的なバグが検知される仕組みを作る。
 徹底した自己レビューとコードレビュー: 実装直後のセルフレビューに加え、境界値や異常系(例外処理)のシナリオを設計段階から洗い出す。
 静的解析・プロファイリングツールの活用: 人間の目だけでなく、型システムや静的解析ツールを用いて潜在リスクを未然に排除する。

一方で、ユーザーからのフィードバックは「予期せぬ運用環境」や「想定外の利用パターン」に気づくための貴重なリソースですが、これは「品質検証をユーザーに頼る」こととは根本的に異なります。
自らバグを発見・修正する防御壁を極限まで高めた上で、どうしても防ぎきれなかったエッジケースのみをフィードバックから拾い上げるのが、成果を出し続けるエンジニアの共通点です。