ex-mixi Advent Calendar 2017/12/01

なかなか珍しい ex-mixi(会社のOB/OG)によるAdvent Calendarの一発目をかます masartz です。
ミクシィは 2ホップ前の会社、現所属はメルカリになります。

どういうスタンスで書けば良いのかわかりませんが、各方面を考えてミクシィ時代から今に至るまで継続してることを述べていきたいと思います。

大規模であるが故の技術的な対策

mixiもメルカリも大規模と言って良いレベルのサービスで、そのための負荷対策はどのエンジニアにも求められるものです。 特にクラウドなインフラ環境が今ほど整っておらず、スケーリングに緻密な設計が求められたミクシィ時代に学んだ分散手法は今も活かされています。

ミクシィエンジニアなら、下記は L1分散作業 と表現すれば、その一言で伝わることでしょう。

tech.mercari.com

こういった手法はサービス初期に用いられることは少ないでしょうし、現在においてはクラウドのオートスケールでカバーできる部分もあり、それは投資フェーズにおけるメリットです。 サービスをグロースさせることに注力するのは非常に魅力的です。その後、サービスが安定し収益性を高める段階において コストパフォーマンスとの兼ね合いでこういったエンジニアリングの活用方法があります。

DB分散以外にも、SQLのクエリチューニングによる速度改善、キャッシュ機構を導入することによる負荷削減などの様々な手法も同様です。 どれも地味に感じるかもしれませんが、webサービスにおいてアプリケーションコードの計算量がボトルネックになることよりDBからのSelectやNW通信による 処理にかかる時間の方が遥かに多いです。アプリケーションコードをいたずらにリファクタしチューニングするよりも、DBへの問い合わせを1つでも減らす方がよっぽど速度改善になるケースは多いと思います。

サービスを運用し続けること

俺はミクシィにもメルカリにも、比較的規模が大きくなってから入社したため、本当の意味でのゼロイチのグロース方法は実はわかりません。 1から10でもなく、10から100くらいのステージにいつも関わっています。

その段階では既にサービスは立ち上がっていて、様々なコードを目にすることになります。先日、ブログエントリを公開したところ、 それに関してあまりにも予想外なほどにありがたいコメントをたくさんいただきました。

b.hatena.ne.jp

私のように後から入った人間が、現状だけを見て「これはおかしい、負債だ」と言うべきではありません

この部分が異常に刺さっているようですが、これはマジで本心からそう思ってます。
ミクシィ時代、後から入社してきた人に「なんでこんなコードになってるんですか」と言われるのがとにかく辛かった。 言いたい気持ちはもちろんわかりつつ、それまでの人もそのような問題は当然認識していたからです。

そのようなコードになるのはやはりサービスの成長を第一に考え、実行してきた結果だと思います。 mixiやメルカリよりキレイなコードで動いているサービスはたくさんあるでしょうが、 それらより大きな規模のサービスはなかなかないからです。

我々の仕事はサービスを提供し、価値を届けるのが目的であり、コードはあくまでその手段です。 ミクシィもメルカリもそうやって先輩エンジニアがサービスを成長させてきたのだと思います。
その上で だから、どうするか ということを考え実行していくことが、後から入ったメンバーのやることであり、 またこれから来たるべきメンバーに対してできることかなと思います。

逆説的な話ですが、後から入った人が既存のコードをdisれるのは、

  • サービスでそのコードが動くことで、価値を提供した
  • 価値を提供したことで、売り上げを出した
  • 売り上げを出したことで、サービス拡大のためメンバーを増やした

からだと思っています。つまり今の自分は目の前にある既存コードのおかげで雇用されたので、 それをdisることは自分自身の否定になってしまうので、できないという考えです。

俺自身ミクシィを出てから、前職でも今の職場でも既存コードの悪口だけは言ったことがないと思います。 サービスの規模との相関で、人や組織もスケールします。それぞれの組織の状態に適したコードがあります。 そのような振る舞い方を学んだのもミクシィという環境でした。

サービスに対する責任感

多くのお客様に使われるサービスというのは本当に刺激的です。
ミクシィ時代も、正直良い意味でも悪い意味でもたくさんの反響をいただだきました。 そのどれも貴重な体験でしたが、特に1つだけ忘れられない件は、 日本に未曾有の大災害が起こった際、友人・家族などがmixiにログインした活動履歴でお互いの安否を確認できたことをお客様から感謝されたことでした。

メルカリのおいても、日々たくさんのお問い合わせをいただきます。 どれもありがたいものですが、やはり感謝されるというのは特別です。 サービスや施策の状況に応じて様々な声がある中でも、感謝は自分達のやるべきことを再確認させられます。

とはいえ、それほどの機会が日常的に多いわけではありません。
だからこそ最も目指すべきことはお客様がなるべく非日常を意識することなく、 いつも通り使える サービスにする大前提を達成することなのは昔も今も変わりません。

といったところで宣伝

せっかくなので、それぞれの本家のアドベントカレンダーも紹介しておきます。
このex含めて3つ、どれも楽しみにしてください。

qiita.com

qiita.com

まとめ

エモい話になった初日かもしれませんが、

  • 当時やってたこと
  • 今やってる技術的なこと
  • 技術じゃない思い出や考え

などの色々をちょいちょい書いてみました。2日目以降の人で、「こんなこと書いても良いのかな」と思っていた部分の実績と後押しになれば幸いです。

2日目は KAKKA がこんな流れを大きく変える投稿をしてくれることでしょう。
その後も多種多様なコンテンツが繰り広げられ、時には穴も空く事もあるでしょう。
しかし、最終的には hirokidaichi が全て回収してくれるでしょう。

かつての同郷メンバー方々への信頼は今も変わりありません。
それぞれがどのように活躍しているか楽しみであり、離れていようともお互い刺激しあっていければと思っています。
そのような素晴らしい仲間と出会えたミクシィという場に改めて感謝しています。