読者です 読者をやめる 読者になる 読者になる

自分が職を失った経緯

この記事は、How I Fired Myself.という記事の試訳です。

2010年の7月、私は22歳で、カリフォルニアのあるソーシャルゲームのスタートアップで働いていた。卒業したてで、私にとって初めての本物の職だった。給料をもらってアパートに住んだ。そのころ私は初めて大人になったような気分でいた。

その会社の主力製品であるRPGのコードを書く二人のエンジニアのうちの一人が私だった。大学では哲学を専攻していた。これはどういうことかと言えば、問題に対してどうやって考えればいいかを知っていた一方で、ベストプラクティスや実用的なデザインパターンに関する知識は最低限しか持っていなかった。私は信じられないほどの熱意でもって自分が持っているごく普通のLAMPの知識を駆使した。

私の悩みの種であるゲームデザイナーはしばしばWorld of Warcraftからインスピレーションを得ていた。WoWは、Blizzard社が生み出した信じられないほど成功したフルMMOだ。その頃はWoWの'Raids'という機能が、ユーザに熱狂的に受け入れられていた。私たちはそれを模倣しようとした結果、とんでもないことを引き起こした。

私はそのゲームにRaidsを実装するタスクを担当することになった。チームメイトであるSamは巨大なリファクタリング作業にハマっていて、私は何か新しく楽しいことについて作業できそうなのでラッキーだと感じた。

私の開発環境の奇妙なところは、自分のコードを全て本番のデータベースに対して実行するということだった。振り返ってみれば、それは馬鹿げていることだ。そして私がそれについて疑問を思うほど十分な知識を持っていなかったということは、まさに馬鹿馬鹿しい話だ。

phpmyadminとはまったく違う、OSXの格好良いインターフェイスを持つGUIのクライアントを使って私はMySQLのテーブルを操作しようとした。私の単純なテストプロセスの一部では、RAIDSテーブルを手動で消してからプログラムで再作成する必要があった。

このタスクの単調さは、私をある種の無感覚状態に陥れ、ある怠惰な火曜日の午後、私はうとうとして、USERSテーブルのアイコンにカーソルを置き、メニューを開いて「消去」をクリックした。

私には一瞬何が起こったのかわからなかった。ハッカーの暗い部屋をたなびくような本物の体外離脱を初めて経験してから、私は光を放つターミナルに額を近づけた。

何が起こったのか? そのゲームは課金するカスタマーを数万抱えていた。ユーザーたちは、自身のキャラクターの能力を高めるための特別なアイテムに対してお金を払っていた。キャラクターの能力の全ては、今や無となったUSERSテーブルに格納されていた。

数分後、コンテンツマネージャーの一人が部屋の中に歩いてきた。「何か問題があるみたい」と彼女は言った。私は思い切って声に出した。「はい、何がおかしいのか知ってます」

私はRackspaceへ電話をして、サポートデスクに助けを求め、MySQLインスタンスのバックアップは2ヶ月以上前にキャンセルされているということをそこのエンジニアが根気よく説明する声を聞いていた。ああ。

午後遅く、その建物の最上階に集められた人たちは不安で脂ぎっていた。皆は何かがおかしいことをわかっていたが、実際に何が起こったのかはよくわかっていなかった。私は、エンジニアと上級職の緊急ミーティングが行われた会議室に引き出された。

CEOはテーブルにもたれかかり、私の顔を見てこう言った。「なにもかも、ぶち壊しだ。お前は100万ドルの損害を出そうとしている」Skypeからリモートで出席していた共同創業者は次の言葉に同意した。「クビにならなくて幸運だと思えよ」

会社として、私たちは応急処置のために次の数日間を消費した。ゲームに関する全ての作業は中止した。技術者は、他のテーブルのデータを元にしてUSERSテーブルの上辺を繕おうとした。非技術者は怒ったカスタマーをなだめたり、完全に情報を覚えていると主張する人のために手動でデータを入力した。私は3日間完全に家に帰ることが出来なかった。自分の体からは悪臭が漂っていた。

いかなる時点でも私によってこの事態の全てが引き起こされたという事は公式にはアナウンスされなかった。その代わり、「若いエンジニア」がやらかしたと説明するメールが送信された。私は「若い」と思われていた二人の人間のうちの一人だった。

三日後、原因が自分であることをみんなが知るようになった。みんなは以前とは違う接し方になった。少しだけ同情もあったが、ほとんどは怒りと不信だった。彼らにとっては、この会社は自らが今まで就いたことがない最高の職を提供していた。私は、この会社を危険に追いやり、彼らの幸せや暮らしをぶち壊しにした。

私は罪の意識と疲労とでやせ細っていた。私は、あの日を迎えた会社の全ての人に公式に謝罪した。拍手があった。

ひと月かそれより後に、私はCEOと私のプロジェクトマネージャに職を辞する手紙を書いた。次の日町を離れ、ついにニューヨークへと向かった。

日本でも大事なテーブルをtruncateしてしまった話をたまに見ますが、恐ろしいですね。教訓としては、開発者が本番のデータベースに簡単に触れられないようにする、バックアップはきちんと取っておく、の2つでしょうか。この記事の作者は今はfollowgenというウェブサービスとその運営会社を立ち上げているようです。