見出し画像

noteのエンジニアチームが2021年に向けて挑戦する、重要課題8選

noteが2021年に重点的に取り組んでいくことをリストにしてみました。

あらゆるクリエイターが創作を続けられるプラットフォームを実現するために、エンジニアチームの重点分野は、以下の3つ。

✔ 発信の場としての地位を固める
プラットフォームとしての健全性を高める
組織づくりと開発体験・効率の向上

多くのユーザーが多様な使い方をしているnoteは、2020年に急成長フェーズを経て技術・運用の要求水準が上がり、エンジニアが乗り越えるべきハードルは高くなっています。2021年、上記の重点分野を実現するために取り組んでいくチャレンジングな技術課題を紹介します。

今後のはたらき方ややりたいことを考えるときにnoteのことを少しでも思い出してほしい。この記事がそのきっかけの1つになれば、と考えています。

「noteのエンジニアチームが2021年に向けて挑戦する、重要課題8選」にワクワクする方。ぜひ、その力を貸してください。

noteの技術スタック

スクリーンショット 2020-12-28 18.02.34

スクリーンショット 2020-12-28 18.02.41

1:だれもが安心して使うためのセキュリティ強化

noteを安心安全にご利用いただくための施策に優先的に取り組んでいます。WAFルールの強化、セキュアなAPI設計、認可基盤、ネットワーク設計の見直し、CSPのようなブラウザ標準の防御対応実装、脆弱性診断・ペネトレテストへの対応といったセキュリティ面の施策推進と、不正決済検知、スパム対策、迷惑行為対策、不適切コンテンツ検知といったプラットフォーム健全性の向上施策の2軸をベースに据え、来年以降も継続的に取り組んでいきます。


2:増大するnoteのデータベース負荷を下げるアーキテクチャを考案

この1年でnoteの閲覧数は2.9倍、記事数は2.5倍に増加。今後も飛躍的にデータ量が増える事が想定されます。データストア全般のスケーラビリティを向上させるため、データベースの垂直・水平分割、ボトルネックの検出、パーティショニング、キャッシュレイヤ設計など数年先も見越した見直し施策を計画・実行していきます。

3:巨大化するnoteのサーバーサイドのシステムを分割

システム全体をシンプルに保つため、巨大化したサーバーサイドのドメインを分割していきます。過去にはビューレイヤをNuxt.jsで構築したUIへ分離し、現在はログ基盤をAWS上に構築した集計システムへ移行中です。今後も適切な粒度で境界を見定め、順次問題解決範囲を分担させていく予定です。分散環境への移行に伴い、開発・運用体験の向上のためのDevOps周りの整備も重視していきます。また、マイクロサービス的なアプローチ・手法も検討しています。

4:巨大モノリス化したフロントエンドのコードベースを再設計する

noteに機能やカイゼンが追加されるに伴い、フロントエンドのコードが肥大化し開発効率に悪影響が出始めています。この問題の解決のため、フロントエンドモノリスの解体を種々のアプローチで検証しています。開発中の機能の一部は、既存のフロントエンドのスタックと別コンテキストで実装しつつもUX的に違和感なく統合できるような設計をトライしています。試みは始まったばかりで、2021年の大きな技術テーマになります。

5:ついnoteを見たくなるコンテンツの出面づくり

noteにはコラム、マンガ、ビジネスなど多様なジャンルの記事が大量に存在します。コンテンツが多様なほど、読みたい人に読みたいタイミングで届けることは困難です。しかし、このコンテンツマッチングの仕組みは購読体験を上げてフィードバックの量を増やし、クリエイターの創作を支援するための本質的に重要な課題だと考えています。出面や仕様策定、評価方法などの論点議論からエンジニアが関わり開発をしており、2021年も重要なテーマです。

6:noteのパフォーマンス改善で、表示速度をさらに高速化

noteの体験をよくするために、パフォーマンス改善施策を継続的に行います。切り口はクエリの修正、画像やjs/cssのバンドルサイズ最適化、キャッシュなど多岐に渡ります。処理の細部を理解し計測・改修のサイクルを繰り返す必要があります。将来的には専用のチームを組成し開発組織レベルでパフォーマンスの劣化を防ぐことも考えており、最適化タスクに関心が強いエンジニアが活躍できる場を提供していきます。

7:モバイルアプリのユーザー体験を向上

2020年、noteのモバイルアプリは多くのリリースを定期的に重ね着実に進歩しました。クリエイターが継続的にnoteにふれるタッチポイントとして非常に重要なため、2021年以降もプッシュ通知、iPad対応、オフライン対応、アクセシビリティ対応、UIカイゼンなど様々な施策に取り組んでいきます。モバイルアプリに関わる開発全般を円滑にすすめるため、PM、デザイナー、APIを担当するエンジニアなどとの協業体制を組織レベルで強化していく予定です。

8:膨大なコンテンツとクリエイターをつなげるレコメンデーション精度の改善

毎日2.6万件以上の記事が投稿されるnoteに蓄積されたテキストデータ、イメージデータ、月間アクティブユーザー6,300万の行動履歴データを活用して、独自のレコメンドエンジンを開発。noteの記事を適切なひとに届けるアルゴリズムの考案、構築からA/Bテストでの評価まで一気通貫して行います。


働き方

noteの開発チームには、フルリモート(青森・愛知・福岡)で勤務する社員もいます。現在は在宅勤務をベースとするものの、オフィスへの出社が必要不可欠な仕事やオフィス勤務のほうが快適に業務遂行ができる場合は出社できる「フレキシブル出社制度」を採用しています。

社内アンケートで上がった、開発チームの文化についてご紹介します。

画像1

画像2

その他、開発環境やカルチャーを以下のマガジンにまとめています。


85
noteやcakesで活用している技術やさまざまなトライ、エンジニアの活動や働く環境などを紹介していきます。 コーポレートサイト:https://note.jp/