- Socraticは、利用量の成長だけでは投資家を説得しにくいという収益化の限界を確認した後、Snapchatとのパートナーシップ協議から始まった競争プロセスを経て、2018年3月にGoogleに買収された
- 10人規模のチームはGoogle内部のチームと統合され、プロダクトを作り直した。その結果、Socratic by Google、Search・Lensの機能、数学の解法機能につながった
- Google内部では、巨大なモノレポ、データセンターの状態、長期戦略文書、20万人以上のネットワークにアクセスできるが、ほとんどの仕事はGoogle流に合わせる必要がある
- SearchとAIの仕事は高度なアルゴリズムだけの問題ではなく、例のレビュー、パターン発見、手作業のラベリング、スプレッドシートベースの並列比較に大きく依存している
- Googleは大きな仕事を可能にする一方で、目標変更・再編・承認プロセス・プロセス負債・上位職位の多いチーム構造がプロダクトのリリースを難しくする
SocraticがGoogleに買収されるまで
- Socraticは2017年にSeries Bを準備する中で、利用量の成長を優先し、売上を後回しにした戦略が資金調達で問題になることを確認した
- 成長はVCとのミーティングの扉を開いたが、すべてのVCが収益化計画を求めた
- クレジットカードを持たない高校生向けの教育アプリが大きなビジネスになるのは難しいという結論に至った
- 同じ頃、SnapchatのCEOであるEvan Spiegelが、カメラベースの宿題支援機能をSnapchatアプリに統合するパートナーシップを提案した
- あるアドバイザーは、SnapchatのHead of Corporate Developmentの紹介が将来の買収提案につながる可能性があると見た
- Socraticは競争プロセスを作るため、Microsoft、Chegg、Byju’s、Googleに連絡した
- 共同創業者のChrisは、Googleでの勤務経験を通じてLensチームとつながった
- 当時Google側では、Khan AcademyとAndroidの共同創業者たちが参加する教育関連の取り組みがすでに始まっていた
- 両者は、学習中心のAIチューターというビジョンが大きく重なっていることを確認した
- SocraticはGoogle Playの2017年Best Appに選ばれた後、2018年3月にGoogleに買収された
Google流にプロダクトを作り直す
- Socraticチームは、同程度の規模の既存Googleチームと統合され、複数の長期在籍Googlerを含む組織になった
- Chrisと筆者はそれぞれプロダクトとエンジニアリングのリードを務めた
- 目標はAIベースのチューターを作り、その機能をGoogleの大型プロダクトに持ち込むことだった
- その後3年間でSocraticは作り直され、Socratic by Googleとして再リリースされた
- SearchとLensにSocraticの機能が組み込まれた
- 数学の解法機能をリリースし、段階的な数学チューターのプロトタイプを作った
- Google全体で使われる機能も構築した
- Googleでは既存のコードベースを維持するのが難しかった
- プロダクトのインサイトを新しいチームと改めて見つける必要があり、アプリをGoogleスタック上でゼロから作り直さなければならなかった
- 宿題問題のトピックを分類するMLシステムのように、すでに解決済みの問題も、Searchの手法とSearchの基準に合わせて再度解き直す必要があった
- アプリのマスコットCeeboは、Googleの典型的なアプリアイコンのやり方から外れた例外だった
- Google側は「擬人化しない」と反対し、Socratic側はAndroidを例に挙げて反論した
- チームが小さかったため大きな問題にはならず、Ceeboはアプリアイコンとして残った
- その後Google内部で複数のバリエーションが作られ、文書やサイトに登場した
Google内部で可能なことと制限されること
- Googleで働くことは、2冊目のパスポートを持つことに似ている
- バッジは世界中の主要都市にあるオフィス、食事、デスク、Google内部ネットワークへのアクセスを開いてくれる
- 20万人以上で構成されるGoogleネットワークに高速で接続される
- 入社直後から巨大な社内資産にアクセスできる
- 数十億行のコードが入ったGoogleの巨大モノレポ
- 世界中のデータセンターのリアルタイム状態
- 20年にわたる戦略文書
- Jeff Deanのような人物への直接アクセス
- Googleのほぼすべてのソフトウェアとインフラは社内で作られている
- Googleはほとんどの会社より先に最も難しいエンジニアリング問題を経験しており、その結果、外部世界が内部に入ってくることはまれで、慎重に行われる
- 外部ツールや既存スタートアップのやり方は、Googleの規模と基準に合わない場合が多い
- Socraticのコンピュータビジョン機能もこの制約に直面した
- スタートアップ時代には、画像内のテキストと数学を読むためにサードパーティツールを使っていた
- Google内部では、機微データの露出、規模への期待、複雑なベンダーレビューのため利用が難しかった
- 関連問題に関心を持っていたAI研究チームが博士級の人材を採用し、6カ月以内に世界レベルの数学認識APIを作った
- Steve YeggeのGoogle・Amazonプラットフォーム比較記事にあるように、このサービスは外部公開されなかった
SearchとAI作業の実際の姿
- Socraticのクエリ分類システムをSearchのベテランたちと作り直しながら、Searchがどのように作られるのかを垣間見ることができた
- Googleは情報検索ツールの深さが大きく、インターネット上のすべてのページに新しいシグナルを計算して追加できる
- 例としては、
contains_math、subject:chemistryのようなシグナルがある
- Search改善のかなりの部分は、エンジニアがold vs newの結果を直接比較してレビューすることで進む
- 比較はスプレッドシート上で行われる
- 高度なアルゴリズムだけを実装するというイメージとは異なり、多くの作業は例を見てパターンを見つけ、データを手作業でラベリングすることだ
- 優れたAIチームでも、手作業のデータレビューが重要である
- Jason Weiは、優れたAI研究者は大量のデータを自分で見る意欲があり、それを素早く行うためのインフラを作ると考えている
- 手作業のデータレビューは派手ではないが、問題に対する直感を与えてくれる
大きな組織で仕事を前に進める難しさ
- Googleは1,000万〜5,000万ユーザー規模の問題であっても、戦略に合わなければ時間を使わない
- 逆に、Googleの性格、戦略、誰かの昇進目標に合う問題には大きな労力をかけることができる
- Googleで驚くような仕事をするには、適切な人々が関心を持ち続ける必要がある
- 理解のあるVP、関連する目標を持つ研究チーム、組織目標との整合性が必要だ
- プライバシー、信頼と安全、インフラ容量といった承認者の許可も必要になる
- アイデアが可能かどうかを知るには何十回もの会話が必要で、現実にするにはさらに何百回もの会話が必要になる
- 組織の目標と構造は絶えず変わる
- 四半期ごとにチーム目標が変わることがある
- 再編によってチーム全体が消えることもある
- 離れた場所にいる2つのチームが同じアイデアを作っていて、片方だけが継続する状況も起きる
- 敗れたプロジェクトの社内ユーザーは、依存していたAPIがサポート終了になった一方で、代替物がまだ準備できていない状況に直面することがある
- Googlerたちは良いものをリリースしたいと思っていたが、さまざまな壁に押しつぶされていた
- 多くのレビュー、頻繁な再編、過去の失敗から生まれた組織的な傷跡、世界規模で単純なことを行う複雑さが問題だった
- スタートアップは多くの懸念を無視できるが、Googlerは一般にそうするのが難しい
- 何にでも反対できるが何かを支持できない賢い人々、不都合な真実を言えないリーダー、明確なプロジェクトなしに採用されたが昇進につながる仕事を作らなければならない人々も妨げになった
- 上位職位の多いチームは方向転換が難しい
- 成功した共同創業者と勤続10〜20年のGoogleベテランが多いチームは、すばらしいものを作れる可能性もあるが、膠着状態に陥りやすい
- 複数の探索領域、明確な目標、強い自律性があれば機能しうる
- 1つの統合プロダクトを作るには、明確なリーダー、明確な方向、考える人より実行する人の方が多いことが必要だ
- 初期段階のプロジェクトに人を増やしても、速くなるわけではない
- プロセス負債は技術的負債と同じくらい現実的な問題である
- 失敗したリリースのためにレビューが追加され、訴訟可能性を防ぐために法務レビューが増え、文書テンプレートにセクションが積み重なる
- 何年もかけて層が積み上がると、機能が準備できた後でもレビューの間に閉じ込められ、何カ月もリリースできないことがある
- Googleは最近、業績評価プロセスを年2回から年1回へ、長いアンケートから短いアンケートへ変更した
- マネージャーの時間の30%以上を使っていたプロセスが、10%未満に減ることを期待している
- GoogleはChatGPTの基盤技術を発明したが、そのプロダクトをリリースした会社ではなかった
- いまGoogleは、AIのリードを取り戻したいビルダーと、起こりうるあらゆる問題を防ごうとするレビュアーの緊張を解決しなければならない
- Googleの「The Three Respects」の3つ目であるrespect the opportunityは、Googleという例外的な機会をどう使うかに関する問いとして解釈できる
- まず与えられた仕事をしなければならない
- その後、Googleの巨大なネットワークに入り、計画と発明を把握し、未来像を文書とデモで具体化しなければならない
- そのイメージと目標に合うリーダーを探し、アイデアを粘り強く売り込む必要がある
- 段階的な数学チューターのデモは、このやり方が機能した事例だった
- 新しい数学の解法機能の上に、3人が数カ月間サイドプロジェクトとして作った
- デモはインテリジェントチューターのビジョンをリンクで共有可能な形にし、会話を具体化した
- チームの外へ広がって独立して議論され、再びSocraticチームへつながった
- あるリーダーは迫り来る方向性を明確に見通し、良いデモを作ったが、社内の合わない場所にいて、上司の目標も違っていた
- その後、より合ったチームへ移り、その夢は現実になる可能性を得た
- Socraticの買収結果は混合的である
- 2つの文化が統合され、プロダクトは生き残り続け、年間約50億クエリを処理している
- Socraticチームメンバーのキャリアも成長した
- 一方でChrisと筆者はGoogleを離れ、それぞれスタートアップを創業した
- SocraticチームとGoogle全体は、まだGoogleの能力にふさわしいAIベースのチューターを作れていない
1件のコメント
Hacker Newsのコメント
赤いバッジ問題は本当に現実だった
チーム内にTVCがいるのは奇妙な経験で、一緒に懸命にリリースしても、赤いバッジの社員だけがお祝いの記念品やチームランチから外されていた
理由を聞くと、マネージャーは「Jimに直接何かを渡すと報酬のように見えて、社員のように扱ったことになりかねない」と言い、全社ミーティングへの参加制限、開けられないドア、見られない社内サイトもあった
TVCと働くと、まるで屋敷しもべ妖精の所有法を学ぶような研修を受けた。「服を与えると自由になってしまうので絶対に与えるな。Googleで働いていると主張したら報告せよ」というような内容だった
いろいろな逸話があるが、一番記憶に残っているのは、同じフロアの全員が地震用安全キットを受け取ったのに、私だけもらえなかったことだ
文字どおり、Googleは私が生きようが死のうが気にしていないように感じた
十分に取り入って「価値を証明」すれば、いつか本当の社員になれるかもしれないという期待があり、何か奇妙な『ビロードのうさぎ』フェティッシュゲームのようだった
Googleが「自社の社員」をどれほど手厚く扱っているかを自画自賛しながら、フルタイムで働いているのに技術的には正社員ではない人たちを公然と踏みにじる姿を見るのは胸くそ悪かった
これはカースト制度であり、こんなふうに運営される会社は都市から追い出されて当然なのに、むしろSan Franciscoを支配してしまった
以前は契約社員も社員に近い形でもっとずっと良く扱われていたが、Microsoftの契約社員たちが「社員のように扱われていたのだから、社員と同じ報酬を受け取るべきだ」として相当な価値の株式を求めて訴訟を起こし、勝訴した
今では、契約社員を社員並みに手厚く扱うと法的責任が生じるという判例があるため、むしろもっと悪く扱わなければならない
士気や生産性には明らかに悪いが、その区別を作らなければ大きな法的リスクが生じるというビジネス上の判断だ
妻をランチに連れてこられず、無料マッサージを受けられないのは事実だったが、それ以外は素晴らしかった
私が書いた2冊の本を面白く読んでくれた影響力のある人物が私を雇い、ときどき電話で話していたところ、ある日Googleの自分の関心プロジェクトに招いてくれた
特典の中には驚くようなものもあり、お金を多く払ってでも受けたかった8時間の「end to end」授業では、1日でプロジェクトに必要な社内システムやさまざまな興味深いことを学べた
2013年時点では食事も本当に楽しめたし、招待講演も聞いた。ただし、その時間を1日8時間の勤務として計上しないよう注意していた
Molly KatzenやAlexis Ohanianに会って長く話せたのも良かった
私はいつも午前6時ごろに仕事を始めて早めに退勤するタイプだが、少なくとも私の知る限り問題にはならず、1日に最低2時間は邪魔されない時間が必要だった
Googleで短期間、契約社員として働く機会があるなら、やってみることを勧める
SFでは、ユートピアを維持するために不可欠だが、そのユートピアの一部とは認められない人々がいるという設定は、ほとんどクリシェだ
物語の中では主人公たちがこの不可触階級の境遇を明らかにし、邪悪な支配者を倒してより平等な社会を作るが、それが小説であるのには理由があるのだろう
この記事を書いたチームは、私が去ってから8年後に買収されたにもかかわらず、私が退職面談でいずれGoogleを殺すことになると説明したのと同じ構造的問題に直面していたというのは悲しい
参考: https://en.wikipedia.org/wiki/Permatemp
雇用主が臨時社員を正社員と「同じように」扱った事実、たとえば同じ福利厚生を提供した事実を、裁判所は彼らが臨時社員ではない証拠だと解釈した
そのため、会社が臨時社員や契約社員を雇うなら、そうすることはできない
これは「カースト」の問題でも、意図的な差別でも、賃金抑制やコスト削減だけの問題でもなく、Googleだけの話でもない
基本的には裁判所を責めるべきで、意図とは正反対の効果を生んだひどい判決だった
TVCと働くときに「服を与えると自由になる」というような研修を受けるのは、実際にそうなるからだ
Microsoftでそういうことが起き、費用がとんでもない額になったので、誰も同じ目に遭いたがらない
これが幸せな話なのかは分からない
読んだ印象としては、買収直後に Google 流でアプリを書き直すよう求められ、別の研究チームが中核機能向けの新しい API を作り、今 Play Store の Socratic by Google は 2020年10月21日以降アップデートがなく、Android 13 端末ではインストールもできないことを見ると、単に死んだアプリのように見える、ということ
Google が会社を買って、チームを Google の中に押し込み、アプリを殺したように見える
スタートアップにはそうしたことをするリソースがなく、Google はスタートアップ流に作られた製品をそのままリリースすることはできない
例えば Google でユーザーデータにアクセスしようとするものは何であれ、設計段階から実装まで、アクセス制御、監査、承認、執行が幾重にも重なる非常に高い基準を通過しなければならない
Google では良いことだが、10人規模のスタートアップではかなり滑稽なことだ
Google がうまくできないのは、さまざまな理由から 新しい製品アイデアにリスクを取ることで、だからそういうことをする会社をよく買収する
現実と同じように良いことと悪いことが混ざっていて、その洞察が興味深い
長くとどまったわけでもないので、かなり満足だったのではないかと思う
コードとインフラを書き直す必要があったのは確かだが、「アプリを殺した」というのは単に終了したという意味で、そういうことは起きていない
「幸せな話」なのかと問うなら、Socratic の創業者たちは多くを学び、Shreyans はその学びを共有しようとしているのであって、祝ったり悼んだりする文章ではないように思う
改善されたと聞いているが、そうではないのかもしれない
Google の検索と広告の数百億ドルが空から降り続けていたので、買収した製品を殺すことは大した問題ではなかった
Google に買収されて学んだのは、会社が一定規模より小さい場合、全員が採用とレベル判定のための 技術面接を受けなければならないということだった
経営陣には、社員たちにはただ互いに挨拶し、進行中のプロジェクトや一般的な経歴を聞く場だと言うよう指示するが、実際には完全な抜き打ちの技術面接だった
2010年代初頭はそうだったが、今もそうなのかは分からない
大学院を出てから20年以上たって技術面接の場に入ると考えてみればいい
ただ、前日にぐっすり眠れて緊張していなかったことが、数週間面接対策をするよりむしろ役に立ったのかどうかはよく分からない
全員に事前に面接を受けること、そして全員が採用されるわけではないことが知らされていた
アクハイヤーなら全員が面接を受けることもある
私はこうした meet and greet に行ったことがあるが、脈があるかを確認する程度の googlyness 面接に近く、他の人にはそもそも面接がなく、チーム全体が採用された
ただしレベルと価格には影響した可能性がありそうだ
その話をすると驚く人が多かった
「適切な人たちが気にかければ、Google では驚くべきことが可能だ」というくだりは、Google がなぜ OpenAI に後れを取っているのかを明確に要約している
技術はすべて持っていたが、あまりに多くの官僚主義と手続き、大胆なリーダーシップの不足のせいで、外に出せなかった
GPT-4 論文の貢献者を見ると、チームの半分が Google Brain 出身で、自分の仕事を製品化するには離れなければならないと感じていたように見える
インセンティブの面で、文化は根っこまで腐っている
Google「の中で」何かを素早く成し遂げるには、ほとんど会社を辞めて外で作り、その後また買収されるしかない
昨年 Maven でソフトウェアエンジニアとして Shreyans と働く機会があり、この文章を見て、一緒に働いていたやり方がなぜそうだったのか理解できて面白い
会議やプロセスを強く嫌い、社員が自分で判断し、確信がなければ意見を求めることを重視していた
当時は単に合理的に感じたので疑問を持たなかったが、Google を出た直後だったため、その拒否感がさらに強かったのかもしれない
結局私はその仕事の進め方を楽しんだし、大きなチームではずっと難しいだろうが、次の職場にも持っていきたい
ヨーロッパを旅しながら都市学の修士課程に進める支援機会([https://www.4cities.eu/](https://www.4cities.eu/))のために離れたが、簡単な決断ではなかった
将来また一緒に働きたいし、教育スタートアップで働きたい人は maven.com をぜひ確認してみるとよい
最初は、学び、ものを作り、一生懸命働きたくて Google に入った
数か月もしないうちに、自分が加わったチームは「間違った」バージョンで、「正しい」バージョンのチームは異動できない別の部署にあるのだと気づいた
マネージャーは現実を否認し、チームメンバーは次々と退職し、上位のマネージャーは非常に有害だった
だが最悪だったのは、ごく単純なことまで巨大な作業になってしまう点だった
スタートアップなら1時間以内に取りかかって PR を作り、レビューを受け、リリースし、分析まで見られるようなことが、Google では2か月かかった
もちろん並行して別の仕事はできるが、反復サイクルはひどく遅く、フィードバックを得る能力はほとんどなかった
自分が加わったチームは6年間プロダクトを作っていたのに、私が入って数か月後になってようやく、最も原始的なフィードバック指標を持つようになった
3か月で辞めるべきだと分かり、入社から15か月後に退職した
月曜日からスタートアップの世界に戻るので、本当に楽しみだ
Google の追加報酬も、規模も、自分にとっては重要ではない
二度と大きな組織で働きたくないし、金持ちで憂鬱に生きるくらいなら、貧しくても何かを成し遂げた人間として死にたい
Silicon Valley に来た理由は、できるだけ多くを学ぶためだった
大規模システムを扱うなら、ゼロ段階から自分で作り、リリースし、運用してその資格を得るべきだし、大きな報酬を受けるなら、優れたプロダクト開発によって得るべきだ
この10年で Silicon Valley で出会った人の80%以上には、こういう心構えがなかった
この哲学は必ず握りしめて守るべきだ
平凡さが増していく世界では、それが秘密兵器だ
この分野でそういう心構えを持つ人は見つからないだろうと思って、プログラミング自体をやめた
その考えがあまりに憂鬱で、別の職業を選ぶほどだった
文章の調子と実際の内容があまりに違っていて、読むのがつらかった
手を押しつぶす機械の話なのに、次回は歯を先に鋭くしておけばもっと早く押しつぶせたはずだ、と自分向けメモを残しているような感じだ
「手を押しつぶす機械」だなんて、筆者は明らかに多くを学び、楽しいこともあり、Google の問題も見極めて自分で辞めた
ただの別の職場と似たように聞こえる
残った目でレーザーをのぞき込まないこと
このコメントが出る前の文脈が何だったのか、もしかして大規模言語モデルが関わっていたのか、本当に気になる
2つ目のパスポートのようだという表現は確かにその通りだ
海外にいるとき、最近では Buenos Aires でも、オフィススペース、無料の食事、ジム、ギターやピアノを練習できる音楽室まで使えた
Amazon では、承認なしには隣の建物のドアすら開けられない
数年前に Barcelona に行ったとき、misc- エイリアスで Montserrat に一緒に行く人がいないかメールを送り、5人で登って良い一日を過ごした
一番良いのは、たいてい「はい」と答える人たちが素敵な人たちだということだ
完全に社交性のない変人は、そういうメールには返信しない
大きな Google オフィスがある都市に到着して、仕事で来ていて Google で働いていると言えば、税関職員がバッジを見せるよう求めることもある
現在のインフレ状況でどう回っているのか気になるし、エンジニアがペソで給与を受け取っているのか、数週間ごとに給与を再調整しなければならないのかも気になる
自分も買収を経験したし、何らかの思想的リーダーとしてではなく個別貢献者として経験し、ほかの人たちも見てきたが、Google の買収としては典型的に聞こえる
Google は買収された社員たちにかなり長い黄金の手錠をかけるが、ここで見られるように、その期間が終わると大半、特に創業者やシニア層は去っていくからだ
私は3〜4年の黄金の手錠が終わった後もさらに6年残ったが、自分の地域でそれほど報酬を出してくれる場所がなかったためだ
しかし同じ買収案件の NYC の同僚の大半は、まともな機会を得るやいなや去っていった
速く動くスタートアップで小さなコードベースを自分で決めていた人が、Google のような巨大な獣へ行くのは難しく、この文章の多くの内容はなじみがある
我々が加わったとき、Google のエンジニアは「わずか」2万5千人ほどで、今ははるかに多い
我々の場合、実際には我々を排除するために買ったように見えたし、今では DOJ もそう言っているようだ https://crsreports.congress.gov/product/pdf/LSB/LSB10956
当時はそうは言わなかったが、最初の年は統合もせずに我々を宙ぶらりんにし、我々の機能を自社スタックで書き直し、大半は我々抜きで進めた
2年ほど経つと、Silicon Valley のRest and Vestの場面のような気分になったが、しばらくはその停滞から自力で抜け出した
機会と本当に良いお金をうれしく思いながらも、全体の状況には少しほろ苦さを感じるという、奇妙な感情が同時にあった
スタートアップを買収する巨大企業は非常に多いが、Google ほどの報酬体系を持つところはまれだ
ただし私は報酬よりも全体的な実行不能さのほうにいら立ち、だからそもそも Google を去ってスタートアップへ行った
「緑なら新しいコードをデプロイ」していた時代が本当に懐かしいし、アイデアを5分以内に本番へ出せた
企業の世界ではそうはいかない
人々が奇妙で創造的なことをするための空間を別に用意してくれるなら戻るが、そうでなければ残りの人生はスタートアップの混沌として楽しい世界で過ごすつもりだ
艦隊ではなく海賊船に向いている人もいる
私が勤めていたスタートアップはIBMに買収され、いくつか目についたことがありました
買収直後はスーパースターになったような気分になります
保有株が実際のお金になり、大きな組織の中で輝く新しい存在になり、買収を進めた人たちはかなり高い地位にいるため、CEOまでの階層も少なく、たいていは彼らの直属で働くことになるからです
しかし時間が経つと、階層の中に組み込まれていき、その距離は次第に遠くなります
キャリアにとっては通常採用よりも人材獲得型買収のほうがはるかに有利で、確実により高いバンドからスタートできます
IBMにはGoogleとは異なり、すべてのコードを対象にした巨大なリポジトリのような単一文化はありませんでした
代わりに、別のグループが自分たちの製品を使わせようとしてきました。私たちはPerforceを使っていましたが、ClearCaseやRational Team Concertを使わせようと相当努力されました
もちろん、そのツールを使うには、私たちのグループがPerforceライセンス用の「green dollars」ではなく「blue dollars」を支払う必要がありました
IBMの一部の組織は展示会によって動いていました
こうしたイベントで最新の新製品を見せなければならないため、社内での発明や開発は促進されますが、私の経験では市場で成功したものはほとんどありませんでした
IBMは歴史の長い会社なので、人の分布ははるかに一般的で、スタートアップよりも年齢・人種・性別の多様性がずっと大きかったです
世界を変えようとする人たちだけでなく、家族を育てている中堅キャリアの人もずっと多くいました
Googleも同じでしょうが、「思想的リーダー」はすぐに昇進しました
実際のコーディングでは昇進できず、バグを直したり計画済みの機能を追加したりする仕事は、世界を変えることではありませんでした