Vol.984BASEえふしんが『モバツイ』時代にやらかした“恥ずかし過ぎる失敗”とは?2019.12.11TwitterLINEFacebookHatena【連載】活躍の影には失敗あり!先輩エンジニアのエラーに学べ本連載では、「世の中で活躍するエンジニアの過去の失敗」にフォーカス。どのような失敗をし、どう対処し、そこから何を学んだのか。仕事で失敗してしまった時の対処法や心構えを先輩エンジニアから学ぼう!挑戦に失敗はつきもの。どれだけ優秀なエンジニアであっても、想定外の失敗に直面することは必ずある。大切なのは、その失敗から“何を学ぶか”だ。今回本連載に登場するのは、かつて一世を風靡したモバイル端末向けのTwitterクライアント『モバツイ』の開発者であり、現在はネットショップ作成サービスなどを手掛けるBASEの取締役を務める「えふしん」こと、藤川真一さん。モバツイ時代の印象的な失敗談を教えてもらった。Development藤川真一(えふしん)さんFA装置メーカー、Web制作のベンチャーを経て、2006年にGMOペパボへ。ショッピングモールサービスのプロデューサーのかたわら、07年からモバイル端末向けのTwitterウェブサービス型クライアント『モバツイ』の開発・運営を個人で開始。10年、想創社を設立し、12年4月まで代表取締役社長を務める。その後、想創社(version2)を設立しiPhoneアプリ『ShopCard.me』を開発。14年8月BASE株式会社のCTOに就任。「自分のコードを過信していた」モバツイ時代の浅はかさ——一言で「失敗」と言っても、人によって定義が異なると思います。藤川さんにとって失敗とはどのようなものでしょう?藤川:「予想していなかった出来事に直面した結果、人間関係やお金、時間を失うこと」でしょうか。事前にリスクの存在を認識して、対策を考えていたら違う結果を生んだかもしれないのに、想像力が足りずに周囲に多大な迷惑を掛けてしまうこと。そんなイメージですね。——ネガティブな出来事であったとしても、あらかじめ想定していた状況であれば、それは失敗に含まれないということでしょうか?藤川:そうです。思い通りにならなかった結果そのものよりも、その結果を招いた「思考力不足」や「想像力不足」を失敗と捉えています。人様のお金や信用を預かるようなサービスに携わるエンジニアにとって“想定外の出来事”というのは大問題。想定できなかったことの方を重く見ています。——では、藤川さんはこれまでに、いまの定義に当てはまるような失敗を経験されたことはありますか?藤川:10年ほど前、『モバツイ』というサービスを運営していた頃の経験が当てはまるかもしれません。あれは確か、2009年~10年頃だったと思います。ユーザーの利用が増える中で、一つの問題に直面していました。アクセスが伸びると急激にサービスが重くなってしまっていたのです。APIの不安定さやPHPの処理に原因があるだろうと思っていました。「まあ、そんなもんなのかな」と思いつつ、サービスが重くなってきたらAWSにログインし、サーバーインスタンスを立て、サービスを落とさないよう対策していたわけです。——なるほど、それで?藤川:ある時、大した疑問も持たないまま「サーバーが増え過ぎてコストがかさんで困っている」とブログに書いたんです。すると内容を読んだ方から「それはおかしい。他に原因があるはず」とコメントが付いて。その時に初めて「もしかしたら自分の認識が間違っていたのかもしれない」と気付き、ハッとしました。それですぐに、自分が書いたソースコードを入念にチェックして。すると、JSONデータをパースする部分にすごく非効率な関数を使っている箇所が見つかりました。その部分をPHPの組み込み関数に置き換えたところ、サーバーへの負荷が一気に1/3になったんですよ。サーバーにアクセスが集中した時点で現象は現れていたのに、人に指摘されるまで気付かなかったわけですから、いかに自分が書いたコードに向き合っていなかったか、自分の浅はかさを恥じました。本来であればあらゆる可能性を考えて原因を究明すべきだったのに、「自分のコードには問題がない」と思い込んでしまっていた結果、サーバーインスタンスを増やす以外の対応を取ろうとしなかった。エンジニアなのに“技術力”で課題を解決するのではなく、お金を使って問題を先送りにしていただけだったわけです。エンジニア人生の中でいくつも失敗をしてきましたが、これを上回るほどの恥ずかしい失敗は他にありませんでしたね。思い込みフィルターは取り外し、フラットな目線で本質を見極めよ——今振り返って、その失敗から何を学んだと思われますか?藤川:「問題の原因を外部に求めていると、問題の本質から遠のく」ということですね。それ以来、なるべく物事をフラットに捉えるようになりました。物事をフラットに捉えるというのは、「当事者意識を持って問題に向き合う」ということでもあります。これはメンバーマネジメントにも通用する考え方ですから、エンジニアリングに限らず、メンバーとの関わりの中でも常に念頭に置いています。何か問題が生じたときでも頭ごなしに叱るようなことはせず、まずは相手の言葉や気持ちを受け止めてから導くように気を付けていますね。仮に、チームの中にすごくキツい言い方をする人がいたとして、「この人の性格のせいでチームの雰囲気が悪いんだ」とレッテルを貼って対処をするのは簡単です。聞いてみたら、たまたまその人は私生活が大変な時期で余裕がなかっただけとか、違うところでとんでもない原因があったとか、思いもよらない事情があるかもしれない。やって自分の判断が間違っている可能性も考え、よく話を聞くところから始めるようにしています。——相手を一方的に断罪しないということですね。マネジャーがメンバーを“悪い”と判断して見切ってしまうのは、問題の原因を外部に求めて思考停止に陥るのと同義です。マネジャーには問題の原因を取り除く権限が与えられているはず。それなのに状況をより良い方向に導けなかったとしたら、それは相手への無理解や偏見、自分の能力への過信やプライドが邪魔しているせいかもしれません。——とはいえ、問題の原因が自分にあると認めるのはかなり難しそうですね。藤川:自分の弱点がどこにあるのかを自分自身で見極めないといけないので、簡単なことではありません。「悪者になりたくない」「プライドを守りたい」ということに固執していると、いつまでも本質的な解に辿り着けません。マネジャーとしては、そこをいかに壊していけるかが成長の鍵になるでしょうね。——だからこそ「フラットに物事を捉える」ことに意義があると?藤川:その通りです。フラットに物事を捉えることは、メンバーマネジメントに潜んでいる本質的な問題をあぶり出したり、メンバーへの期待値のコントロールや評価を下したりする際にも応用できる考え方なんだと思います。——藤川さんは現在、技術経営に携わるお立場です。事業における「失敗」をどう捉えていますか?藤川:先ほどは「想定できなかったこと自体を失敗と捉える」と話しましたが、事業や経営を預かる立場としては、後々過去を振り返ったときに「あのときに何かできたはずなのに、何もしなかった」「変化の節目に気が付かず、ことを起こせなかった」と思い浮かぶような後悔も、大きな失敗なのだと思います。——積極的に動いた結果の失敗ではなく、「動かなかったことによって生じた失敗」ということですね。何か行動をした結果失敗するよりも、“何もしないことによる失敗”の方が、後々への影響は大きいですから。「何もしない」ということは、ただ時間だけが過ぎていくだけで、表面的には何も起きません。それがなぜ悪いのかと言うと、機会損失につながるからです。浪費した時間は取り戻せません。失敗というとどうしても、誰の目にも明らかな“しくじり”に目が行きがちですが、平穏無事な日常の裏に隠れている「見えざる失敗」にも注意すべきです。——「見えざる失敗」を避けるためには、どうすればいいのでしょう?藤川:安心しないことですね。平穏無事ということは、見方を変えると「進歩が停滞している」ということでもあります。技術戦略を決めるにしても、メンバーマネジメントに取り組むにしても、「自分はこの瞬間、本当にやるべきことを全うできているのだろうか」と、客観的に自分を観察するような視点を持つことが重要です。時代や周辺環境、他人のせいにしても状況は変わりません。メリット、デメリットを見極め、あくまで自分の責任として選ぶ。覚悟を決めてやりきるしかないのではないかと思います。——エンジニアが“覚悟”を決められるようになるには?藤川:日ごろから小まめにトライして、小さな失敗をたくさん経験することでしょうね。エンジニアリングに携わる以上、思い通りにならないことは日常茶飯事です。それを避けようと思ったら何もできなくなってしまう。それよりも、どんどん挑戦して小さな失敗を繰り返した方が、精度の高い意思決定ができるようになりますし、覚悟も決めやすくなると思います。「何事にも時間切れがある」ということを意識してみてください。私たちは限られた時間、限られた予算の中で仕事をしています。バッターボックスに立てる時間は限られているということ。そのわずかな機会を逃さずに結果を残すには、「バットを振ること」が大前提。バッターボックスに立った以上、見逃し三振は決して許されないのです。——これまでの経験を踏まえ、これから大きな仕事を任される機会が増えるであろう、20代、30代のエンジニアに伝えたいことは?藤川:今、世の中はどんどん便利になっています。私の失敗経験から言えることは、その便利さに甘え過ぎたり、自分を過信したりすると足元をすくわれることもあるということです。この先のエンジニア人生を後悔なく過ごしたいと思うのであれば、日常的に「自分の書いたコードやメンバーと向き合っているか」「あらゆる可能性を検討した上で決断しようとしているか」「失敗を恐れず挑戦できているか」、この3つをチェックしてみてほしいですね。転職サイトtypeは株式会社キャリアデザインセンターによって運営されています。