見出し画像

4,400万MAU突破の先に。CEO×CTO×エンジニアが明かす、noteが直面する3つの難敵

2020年4月、noteのMAU(月間アクティブユーザー数)は4,400万を突破しました。

規模としては国内トップクラス。ミッションとして掲げる「だれもが創作をはじめ、続けられるようにする」というゴールにはまだまだ及びませんが、少しずつ現実味が帯びてきました。

では、今後noteをどのようにグロースさせていくのか。

今回の#noteのみんなでは、エンジニアの棚澤さんと小寺泰三(こでら・たいぞう)さんが開発者の目線でnoteの未来とエンジニアリング面での課題について、CEOの加藤貞顕(かとう・さだあき)さんとCTOの今雄一(こん・ゆういち)さんと語りました。

「エキサイティングな自社プロダクト・環境を渇望するエンジニア必見!」となった座談会の全容をお届けします。

1.noteにおける技術的負債を解消したい

画像1

CEO 加藤貞顕

加藤:普段の開発会議でも議論していますが、あらためてnoteがこのままの勢いでグロースしていったら直面する課題について洗い出しましょうか。

:そうですね。じつは、いろいろな軸で課題が顕在化してきています。ひとつ目は、技術的負債。

たとえば過去つくったけど現在はもう使われてないコードがあったり、一応動作は確認できるけど既存のコードとの重複があったり、命名ルールがバラバラだったり……noteがリリースされたのが2014年4月。

その間、いろいろな施策にチャレンジしているんですが、うまくいったものもあれば失敗したものもあるし、突貫でつくったものもある。高速にたくさんのチャレンジを重ねた結果、いわゆる技術的負債が残っているわけです。

加藤:ソースコードが全体的に複雑化しているってことですよね。

小寺:負債があると、いくらカイゼンをしようとしても「その前に、もともとの仕組みからテコ入れしなきゃダメだよね」という話になってしまう。そうなると、単純に開発に2倍のコストがかかるんですよ。

棚澤:データベースのなかに明らかに不要なテーブルを発見したり。

:最近でわかりやすい例は、2020年2月にリリースした月額会費制のコミュニティ運営機能「サークル」です。このときは、すでに運用していた「定期購読マガジン」という機能への影響範囲の検討、今後の連携を見据えた企画・設計などに苦心しました。

加藤:みんな新しいチャレンジと同時並行で、大規模なリファクタリングもしてくれてはいます。たとえばフロントエンドのフレームワークをNuxt.jsへ移行したのはインパクトがありました。ただ、まだまだ手付かずになっているもの、今後チャレンジしたいものもあるんですよね。

画像9

CTO 今雄一

:だから既存の仕様や影響範囲を理解したうえで新しいものをつくっていかなくてはいけないんですよね。ベテランエンジニアは、コードの雰囲気やDB内のデータ、ドキュメントなどから改修の勘所を素早く掴むのが得意な方が多いのですが、それでも入社したばかりだとやはり難しいので、オンボーディングの精度を上げていくことも目下の課題です。

加藤:そういえば、小寺さんは入社からすぐに馴染めた印象ですが。

小寺:馴染めたというか経験が長いぶん、ある程度割り切ってnoteと向き合えているかもしれませんね、noteってものすごく大きいシステムで、全体を把握することはほぼ不可能だと思っています。noteエンジニアのなかではかなり古株の棚澤さんでも、全部は把握していないんじゃないかな。

ただ、勘所みたいなところを見つけられるだけの経験値や嗅覚みたいなものがあるから、うまくいっているんだと思います。

2.爆増するトラフィックの受け皿を構築せよ

:ふたつ目は、急増するトラフィックへの対応です。2020年1月にはアクセスが殺到してデータベースがデッドロックしてしまったことがあって。当日すぐに実装を改修して再発防止をしたけど、より長期的な視点で考えるとデッドロックの件に限らず、今後も爆増が見込まれるトラフィックに対するサーバアーキテクチャの検討は大きな課題です。

加藤:ただ、アクセスがそこまで増えなければ直面しなかった課題なんですよね。

:そうですね。私見ですが、世の中の95%のサービスには関係のない話です。考えずに開発してもなんとかなるというか。noteも実装段階でよくないところがあったので直しはしたんですが、この先2〜3年と戦っていける自信はなくて。

とくにデータ量が増えるとパフォーマンスが落ちて、noteのようなtoCサービスではユーザーが不満に感じてしまう。データが爆発的に増えてもパフォーマンスをキープできる状況をつくっていきたいですね。

画像8

小寺泰三(こでら・たいぞう):2006年、新卒で金融系システム会社へ。その後、受託開発、インフルエンサーマーケティングの企業を経て、noteへ。

小寺:2020年1月は、パフォーマンスの改善につきっきりでしたね。頑張って3%改善したと思ったら、翌週は10%負荷が増えていて、対処療法ではまかなえないフェーズ。まるでいたちごっこでした。

画像4

加藤:もちろんサーバを増強するという方法もとるんですが、抜本的な技術改革は必要ですね。

:そのためのアイデアはいくつかあるんですけどね。要素技術やアーキテクチャを調査するにも、計画を立てて実行に移すにもやっぱりまだまだそれをリードする仲間が足りません。

加藤:どういう経験を積んできたひとなら活躍できそうですか?

:そうですね…高負荷なwebサービス、たとえば、ソーシャルゲームのエンジニアは活躍できるかもしれません。ReadもWriteも、アクセスが急増してもさばけるようなサーバサイド構築の経験があると思うので。

小寺:これだけトラフィックのある環境で開発する経験ができるウェブサービスはnoteぐらいかもしれませんよ。わたしはnoteのそういうところに期待して入社しましたし。実際、トラフィックが少なければなんとかできてしまうようなところが、noteの場合はなんともならないので。

画像5

棚澤:2006年、新卒でSIerへ入社。プログラミングのスキルを磨くべく、SIerからスタートアップへ。前職の同僚の紹介で、noteへ。

棚澤:昔はあまり深く考えずに開発スピード優先でデータベースに遅めのクエリを書いても問題はなかったんですけど、いまはボトルネックになる。だから慎重につくらなければいけないし、どういうクエリを発行しているのかを把握しなきゃいけない。

当然といえば当然なんですが、やるべきことをやらないとすぐに止まってしまう環境です。「たぶん大丈夫だろう」という考えだと、だいたいダメですね。

3.noteの本質的な課題に着目せよ

:みっつ目は、開発の粒度が大きくなっている点ですね。いままではどうしてもバケツの穴塞ぎ的なカイゼンに注力せざるを得なかったけど、これからはよりサービスの本質的な部分に関わっていくことができる。

加藤:たとえばnote.muからnote.comへの移行もそのひとつ。そういう意味ではある程度負債は返してきていて、攻めに転じられるようになっていると思います。

:手前味噌ですが、サービスのフェーズは変わってきていることを実感しています。以前はエンジニアが足りなくて、粒度の小さいカイゼン施策をひたすら回していましたが、負債を返すことにやり甲斐を見出しているひと、インフラ周りが得意なひと、新機能を開発するのが好きなひとなど、多様なスキルを持った仲間があつまってきてようやく攻めに転じられる体制ができつつある。

だからこそ、中〜大規模の開発にもチャレンジできるようになっているんだと実感します。いまはDB分割や、画像・音声アップロードの外部化などいまはデータ集計基盤や、画像・音声アップロードの外部化などシステムの分割も進め、さらに大規模な開発に耐えうる構成にシフトできるように進めています。

加藤:そういえば、棚澤さんと小寺さんはなぜnoteに?

棚澤:自分が手がけたサービスが世に出てユーザーから反応があるまでをダイレクトに感じたかったからです。もともとプログラミングが好きで、新卒ではSIerへ入社。ただ、自分では手を動かせる環境ではなく、もっとプログラミングを突き詰めるべくいくつかの会社に移りました。そうしてたどり着いたのがnoteです。

小寺:わたしは今さんとの共通の知り合いからの紹介です。決め手は先ほどお話ししたハイトラフィックなプロダクトと、チームで開発できる環境だったことです。前職がひとり開発だったので、他のひとの書いたソースコードを読める環境は魅力的でしたね。

:実際に働いてみてどうですか?

画像7

小寺:いろんな分野に長けたエンジニアがたくさんいるのは魅力ですね。たとえばテックリードエンジニアの板橋さん。彼のJavaScriptのスキルは、ものすごいレベルが高いですよ。聞けばいくらでも教えてくれるし、そもそも板橋さんの書いたソースコードが大量にあり、いつでも触れられるのは刺激的です。

同時に、新機能リリースに対するユーザーの反応の大きさにはビビりましたね。受託時代に培った丁寧かつ慎重な開発リズムがものすごく活きています。

棚澤:前職の経験で活きている点があるとするなら、事前設計の大切さを知っていることですね。SIerは顧客のミッションクリティカルな部分を取り扱う分、コード一行変えるだけでもレビューを繰り返します。「いい意味での慎重さ」が身についたのはよかったですね。

加藤:なるほど。そういったバックグラウンドからあるからこそ、ふたりは攻めの姿勢を持ちつつ丁寧に開発に取り組めているのかもしれませんね。そして同時に、ふたりとも仕事もめちゃくちゃ早いんです。

棚澤:SIer出身としては「つくって終わり」じゃない点は魅力です。そしてなによりユーザーの反応が早くて大きい。もちろんポジティブなものだけではないけれど、リアクションがすぐに自分の耳に入ってくるのはnoteならではの特徴だと思います。わたしはエディター周りを担当しているので「書きやすくなった」と言われたらやっぱり嬉しいですね。

CTOクラスのエンジニアたちにかこまれて

画像8

加藤:2020年4月にnoteは4,400万人MAUと6周年を同時に迎えたわけですが、おふたりは今後どのようなモチベーションで関わっていきたいと思っていますか?

小寺:6年も運用していれば、当然システムも古くなりますよね。古くなったからといってゼロからリプレイスするのは無理です。noteの場合は既存のシステムを運用しつつ、コンポーネント単位で大きなリプレイスを重ねて、フルリプレイスまでの道筋をつくっていくんですよ。目先の利益よりも長期的に実現したい世界観を優先して判断する風土があるので。

既存の仕様への影響も踏まえつつ、新しい機能も開発していく。当然制限も多いので、好き放題につくれないわけです。わたしからしたらゼロからプロダクトつくるスタートアップベンチャーよりも全然しんどいと思いますね。でも、だからこそ楽しみです。

棚澤:そうですね。わたしとしてはすべての仕事に納得感があるのが魅力です。「これやる必要あるの?」という仕事はない。

小寺:開発に関してはボトムアップ的な意思決定が多いですよね。「新しい機能は、こういう感じでつくろうと思います」という提案に対して「いや、こちらが指定する方法でつくってください」と指示されることはほとんどない。

加藤:そうですね。ただそれは、信頼できるエンジニアが集まっているからという理由が大きいです。目指すべき理想は日々のコミュニケーションを通じて共有できているので、手段はそれぞれがベストと考えるやり方を提案してくれて構わない。それこそ他のウェブ系スタートアップならCTOクラスの実力のメンバーが集まっていると日々感じています。では、最後に今さん、お願いします。

画像9

:noteは他社に例を見ない規模感や思想があり、1から切り拓いていくおもしろさと難しさが共存しています。エンジニアとしてハイレベルな環境で働いてみたいかたにはぜひ検討いただきたいですね。棚澤さんや小寺さんのようにSIや受託にいるけど現状に物足りなさを感じていて、もっとエキサイティングな場所を求めているかたとか。

たとえばクラス設計でインターフェースの抽象化が良くないところを見つけて整合性が取れた状態にしたり、メトリクスを見ながらパフォーマンス上のボトルネックを探して解消したりといったことに喜びを感じるタイプなら、活躍の場はどんどん増えていくと思います。

加藤:そうですね。noteって完成形のようにみられがちなんですが、全然そんなことないし、数字的にもまだまだ伸ばせる余地があるんですよね。そもそもグローバルを見据えているので、機能面でもつくるべきものは山ほどある。もちろんリアーキテクチャの仕事もあるので、影響力の大きいサービスで腕をふるいたいかたにはぜひ来てほしいですね。

というわけで、今日はありがとうございました!

採用バナー

Text and Photo by 田中嘉人

最後まで読んでくれた方へ。note社の様子や採用情報などをX(Twitter)で発信しています!