見出し画像

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

noteは、クリエイターの創作を後押しし、クリエイターが豊かになる世界を目指しています。noteが構想している街を実現するためには、開発すべき機能や立ち向かう課題が山ほどあります。現状では、私たちが考える理想の10%も達成できていない状況です。

noteのミッションである「だれもが創作をはじめ、続けられるようにする」を実現するためにも、創作がしやすい機能を提供し、作品が適切な読者に届く仕組みを構築していく予定です。そのために、機械学習や大量のデータをグロースに活かす基盤、価値提供を高速に行うためのインフラ刷新、創作を後押しする新機能の開発、安心・安全を提供するための体制構築など様々な角度から技術的課題に取り組んでいく予定です。

これらの課題を解決していくためにも、理念に共感し実現できるエンジニアを求めて『2022年に向けて挑戦する、重要課題9選』を公開することにしました。

noteはテクノロジーによってクリエイターの後押しをする会社です。今回の課題を見てワクワクした方、クリエイターが安心して創作をつづけられる世界を一緒につくっていきましょう。

▼2021年度の課題はこちら

1:だれもが創作を続けられるような環境づくり

noteはミッションとして「だれもが創作をはじめ、続けられるようにする。」を掲げています。創作がしやすい環境づくりは、noteの根幹に関わる重要課題だと言えるでしょう。2021年に、ルビや数式といった新しい表現方法が可能になり、創作の幅が広がりました。また、エディタ自体をフルリメイクし、安定性や性能、今後の拡張性を更に高めるプロジェクトも進行しています。2022年にこの新エディタを正式リリースし、更に表現の幅を広げていきます。また、文章が書きやすいだけでなく、創作を手助けする機能や運用しやすくする機能の検討もしています。

作品が創作しやすい環境だけではなく、クリエイターエコノミー※の活性化も目指しています。有料コンテンツをつくりやすく、購入しやすくするための開発を進めています。また、現在提供しているクレジットカードやキャリア課金に加えた新しい課金手段を提供していく予定です。

※:クリエイターエコノミー:個々のクリエイターの創作活動とそれを支援するビジネスで構築される経済圏

2:おもしろいコンテンツを発見できる仕組みづくり

noteには約1500万の作品が存在しており、1日に約2〜3万件の作品が投稿されています。膨大なコンテンツの中から、自分自身で好みのコンテンツを探すのは困難です。クリエイターや読者にnoteを楽しんでもらうために、適切なコンテンツマッチングは必要不可欠。noteでは、クリエイターの作品を読者に届けるための改善を最重要課題として、毎年取り組んでいます。今期も引き続き、ホームタイムラインの改善、検索の改善、記事やマガジンのコンポーネント改善などを行っていきます。また、昨年度より、データ専門チームによる数値目標を立て、定量的な改善を行っております。

すべてのクリエイターや読者にサービスを楽しんでいただけるよう、昨年度より行っているアクセシビリティ向上にも、より一層の力を入れて取り組んでいきます。

3:膨大なデータを開発に活かすための基盤構築

1日で約3万件の投稿がされており、データ量は日々増加しています。膨大なコンテンツをよりよい形でクリエイターに還元できるよう、昨年度よりデータレイクやデータマートの再設計を進めております。具体的な取り組みとしては、条件に合ったコンテンツを高速で抽出しサービスや集計に役立てるターゲティング基盤や、クリエイターがPVなどのデータを詳細に見られるダッシュボード基盤、即時でnoteのアクセス量が閲覧できるリアルタイムダッシュボードの改良などを進めていきます。

また、膨大なデータを社内のだれもが活用できるようにするため、アナライズの観点でも開発を進めていく予定です。定量的なデータをカイゼンに活かしていきます。

4:MLを活用したレコメンデーション / コンテンツマッチングの強化

よりよい作品とのマッチングができるように、レコメンデーションを強化していきます。現状ではnoteは検索エンジンやSNSからの流入が多い状態ですが、今後は「noteを開くと興味のある記事や応援したいクリエイターに出会える体験」を提供し、何度もnoteに訪れたくなる環境を機械学習を用いて整えていきます。また、機械学習モデルの強化のため、2019年から稼働しているMLの開発基盤を刷新していく計画もあります。これまではMLエンジニアにバックエンドの素養も求められていたため、純粋なモデル開発に注力できていない状態です。開発基盤を整えるために、ML Opsエンジニアの採用も進めています。コンテンツマッチングだけではなく、機械学習による違反記事やスパム記事などの自動判定の強化も検討しています。安心してよりよい作品と出会える環境を目指します。

5:よりよいモバイル体験のためのアプリ開発

ウェブが中心の印象が強いnoteですが、実はログインユーザのアクセス数の3割はiOS/Androidのネイティブアプリが占めています。2022年も引き続き、新機能開発と既存機能の改善に力を入れていきます。

iOS:
ウェブとの機能差分が少なくなってきたため、iOSアプリ独自の機能開発にも力を入れていきます。ただし、開発が進むにつれてコードの品質が落ちてきたため、品質面の強化も進めていく予定です。攻めと守りの両輪のバランスをとった開発を心がけていきます。

Android:
note内の各プラットフォームと比較すると開発が遅れをとっているため、まずはiOSアプリとの機能差分を埋めていきます。まだまだレガシーコードが多いため、リファクタリングにも力を入れていきます。Androidエンジニアの増員も計画しております。

また、機能開発だけではなく、全社的なアプリに対する考え方も変えていく必要があります。noteはウェブ開発が中心であるため、「クリエイターにとってアプリは重要なプラットフォームである」という事実を社内に啓蒙する活動も行っていきます。

6:巨大モノリス化したフロントエンドのコード分割

noteのフロントエンドはリリース当初はAngularJSのSPAでしたが、2018年からNuxt.jsでのSSRを主軸にした構成に徐々に移行を進め、2021年12月に移行を完全に終える事ができました。Nuxt.jsの運用も3年目となり各種恩恵が得られていますが、多くの機能や画面がリリースされた結果フロントのコードベースが想定以上に肥大化・複雑化し、ビルドや開発に多くの時間を要する問題が発生しています。

これらの問題を解決するために、フロントエンドの分割には注力していく予定です。具体的には、Svelte / Next.jsの導入、マイクロフロントエンド化の検討などを予定しています。

また、コードベースの再設計だけではなく、組織全体としてのフロントエンドの見直しとして、昨年からデザインシステムチームが始動しました。デザインシステムの導入により、フロントエンド開発の原則が定められ、より開発に集中できる環境が期待できます。

7:コンテナ基盤への移行を実施し運用効率化・省力化を実現

noteのコンテナ化の準備を進めています。現在は、EC2にwebアプリケーションをホストしてAutoScaleでリソース調整をする古典的な運用を主軸としており、大規模複雑化・高負荷化したnoteの現状では柔軟性・拡張性・運用容易性を更に高めて生産性を上げていきたいというニーズがあります。今期でコンテナ化 及び EKSの導入を開始し、マイクロサービス化に備え、デプロイやスケールアウトもクラスタ側で制御できるようにしていく予定です。クリエイターや読者に安定したサービスを供給できるよう尽力します。

現在は、ステージング環境や本番環境の一部でテスト運用している段階で、2022年にかけて徐々にロールアウトしていく予定です。

8:インフラ / サーバサイド / フロントエンドのパフォーマンスの改善

noteは2014年4月にサービスを開始してから、約1500万の作品が誕生し、会員数は380万を突破しました(2021年3月時点)。サービスが成長するにつれてアクセス数も増加していき、近年は特にパフォーマンスの劣化が顕著に現れるようになりました。noteをより快適に使っていただくために、KVSへのデータ移行検討、キャッシュレイヤーの設計、クエリの見直し、フレームワークのバージョンアップ、テーブルの分割、APIの再設計など多岐に渡ります。インフラ、サーバサイド、フロントエンドなど、すべてのチームにおける重要課題です。

9:だれもが安心できるためのセキュリティ強化

クリエイターの皆様に安心してnoteを利用していただくため、今期も引き続き優先的にセキュリティ対策に取り組んでいきます。より強固なセッション管理機構、WAFルールの強化による外部攻撃の防御、不正行為やコンテンツの早期検知の仕組みの強化などの開発を予定しています。外部のセキュリティ企業に委託して、Web脆弱性の診断も定期的に実施します。AWSやSaaSプロダクトのアカウント管理や、ネットワーク設計の見直し、実装・設計などのレビュープロセスの強化なども行い、守りの地盤を強固にしていく1年にします。

2022年の開発進捗報告

1月&2月

3月

その他、開発環境やエンジニアのカルチャーがわかるnoteはこちらにまとめています。

noteで働くことに興味をお持ちのかたは、こちらから募集要項をご確認ください。

みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!

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