見出し画像

アプリ単体ではなくnote全体を見据える、モバイルアプリエンジニアたちのまなざし

2020年6月12日、noteのiOSアプリは新たなアップデートを実施しました。アプリからアクセス状況をチェックできたり、マイページがウェブと同じレイアウトになったり、noteのアプリをウェブ版での体験に近づけるカイゼンです。

noteは6,300万MAUのサービスへと拡大。抜本的なインフラの見直しから機械学習の強化、新たな機能追加も進めてきました。iOSとAndroid、双方のアプリ開発も、今後さらに強化していく領域のひとつです。

そこで、今回の#noteのみんなでは、モバイルアプリチームのiOSエンジニア・森口さんAndroidエンジニア・岡野さんにフォーカス。noteのアプリ開発のおもしろさ、課題、未来予想図を語りました。「裁量のある環境で働きたい」というエンジニア必見の座談会です。

果たすべきはアプリの開発ではなく、ミッションの達成

ーまず、社内におけるモバイルアプリチームの立ち位置から教えてください。

森口:そもそも、チームらしく動き出したのはつい最近の話なんですよね。私が入社したときには、アプリ開発専属のチーム自体なかったですし。

ウェブ版のnoteが2014年にリリース。その半年後にiOSアプリとAndroidアプリがリリースされたのですが、ある時期から運用するリソースが足りなくなってしまったんです。会社としては動かしたいけれど動かせない状況が続いていたところに私が入社して、2ヶ月後に岡野さんが入社しました。だから、引き継ぎらしい引き継ぎはなかったですね(笑)

岡野:そんな状態だったので、ふたりでアプリのカイゼンを行ないつつ、組織やサービスのためになることは領域にとらわれず何でもやるスタンスでした。

森口:そうですね。立ち位置を強いてあげるとすれば、「開発含めほかのチームがアプリ開発とスムーズに協業するために、できる手段は全部やる」でしょうか。

スクリーンショット 2020-06-19 13.20.42

森口 友也:iOSエンジニア/立命館大学大学院卒業後、スタートアップ数社を経て、freee株式会社にてiOS/Androidエンジニアとして入社。その後、モバイルチームの開発マネージャーを務める。2018年5月にnoteへ入社。iOSアプリの全面リニューアルを担う。プライベートでは1児の父で、仕事と育児のバランスを取りながら働いている。
note:https://note.com/laprasdrum

ーめちゃめちゃ大変そうな印象を受けるのですが……。

岡野:ぼくも森口さんも、これまでのキャリアでそういう状況にはよく直面していたので、あまり気にならなかったですね。そもそも、会社が困っているからぼくたちも採用されているわけですし、「まぁ、スタートアップだから、こういうものかな」と。足りないリソースのなかで何をやっていくべきかを計画していました。むしろ自由度は高くてやりやすかったように思います。

森口:そうですね。私自身、アプリはもちろんサーバーサイドもフロントエンドもバックエンドもひととおりできるので、入社後はRailsのチューニングからデータ分析までいろいろやりました。一般論として、スタートアップの組織でサービスを最速で運用していくためには、ひとつのことに専念するよりもマルチに動く役割が求められるんです。

岡野:ぼくらが果たすべきは「アプリを開発すること」ではなく、noteというサービス全体を育てること。もっと言えば、ミッションに掲げている「だれもが創作をはじめ、続けられるようにする」ことなんです。そのためにできることはなんでもやりました。

たとえば、エンジニア以外の社員も気軽に業務の自動化ができるように、社員みんなにZapierの使い方をレクチャーしています。「こんなことがやりたいんだけど」と相談があれば、どうしたら自動化できるか一緒に考えたり。業務を積極的に自動化することで、みんなが本来やるべきことに集中できれば、サービスの成長にもつながります。

森口:私も岡野さんもサービスのフェーズに応じて、自分がやれそうなところに手を伸ばしていましたね。

岡野さんがデータ分析のためにRedashを、社内情報集約のためにCrowiを導入したのですが、その後、みんなに使ってもらえるように先陣きって使って、知見をまとめてシェアしました。

ほかにも、入社したときにチームメンバー以外とコミュニケーションを取る人が少なく思えたので、社員同士の人となりがわかるように社内Podcastを始めてみたり。いま運営しているわいわいラジオというアプリチームのPodcastは、この経験をベースに始めているんですよ。中のひとを知ってもらう、かつ社外発信を気楽に続けることをポリシーに運営しています。

私も岡野さんも、お互い尖りすぎたジェネラリストなんですよね。プラットフォームのどこかに注力するのではなく、noteという会社が生き続けて創作のエコシステムが機能するように、組織間を行ったり来たりしながら活動しているイメージですね。

サービスを育てるために自分ができることを

ーでは、noteでアプリ開発する魅力、おもしろさってなんでしょう?

岡野:自身が抱いているnoteのアプリをカイゼンしたい「欲」みたいなものを、一気通貫で手がけられるおもしろみはあると思います。

最近、アプリチームには新たにふたりのメンバーが入社したのですが、そのうちのひとりは、noteのアプリで「ここをカイゼンすればいいのに!」というモヤモヤを晴らすために入社したと言っていましたよ(笑)

スクリーンショット 2020-06-19 13.22.09

岡野 忍:Androidエンジニア/高校卒業後、中小企業のソフトウェア会社に入社。その後メルカリにて、日米のAndroidアプリ開発や、ソウゾウで新規事業の開発を経験。2018年7月にnoteへ入社。これまでの経験からnoteのAndroidアプリ開発を中心に、チームビルディングやイベント運営などサービスの発展に関わることに幅広く携わっている。
note:https://note.com/operando_os

森口:そうですね。アプリとウェブの体験にはまだまだ乖離があるので、アプリでやることは山積みです。その上、プロダクトマネージャーもいないので裁量をもって開発しています。自分で考えて埋めなければいけない余白は多いですが、私にとってはそこが魅力的です。

そして、余白を埋める能力は、noteへの愛や没入度に紐づいてくる。クリエイターの気持ちに寄り添う力というか。

私が深く入り込めたのは、入社後すぐにクリエイターのTシャツ物販イベントへ行って、実際に物流や在庫管理の大変さといった生々しさをキャッチアップしたことがきっかけです。もっとクリエイターや創作について、定性的かつ定量的に観察しようと思っていたら、ますますnoteにハマりました。やはり、クリエイターを深く理解するために行動することがたいせつだと思います。

岡野:重要なのは、サービスを育てることですよね。自分がエンジニアとしてやりたいことも大事ですが、一番は会社のミッション「だれもが創作をはじめ、続けられるようにする」ためにサービスをカイゼンしていく姿勢です。

ー具体的にはモバイルアプリをどのように育てていっていますか?

森口:そもそもウェブ版はエンジニアがいろいろな施策を打って、予想の斜めうえをいく急激な成長をもたらしているわけです。だから、「ウェブとアプリの乖離をなるべく埋めること」が私たちが意識している課題のひとつでした。

モバイルアプリエンジニアとしてウェブと同じ画面にするためのコードをいちから書いて、ウェブ側のカイゼンに追従し続けるのもひとつの案です。ですが、私たちは少人数でより早くユーザーに価値を届けるために、WebViewによる機能提供をはじめました。

この判断に踏み切った要因が2つあります。ひとつは、noteはスマホブラウザへのレスポンシブ対応がかなり進んでいる状況だから。ただ閲覧するだけならスマホのブラウザアプリで十分という品質なので、JavaScript実行によるネイティブ機能の呼び出しやネイティブUIの調整を加えるくらいで機能提供が可能でした。

もうひとつが、2018年からBFF(Backends For Frontends)を導入していたことです。ウェブ側の描画ロジックとしての資産をそのまま使えるので、フロントエンドエンジニアと協業しやすい状態でした。

ウェブ側で実行された施策もアプリ側の変更なく導入できるので、少人数チームで体験乖離を埋めるという点ではおおきな意味があります。

岡野:結果、ウェブにすでに提供されていたお知らせ画面の通知グルーピングや、新型コロナウイルス関連の記事で一次情報に案内することを、アプリでもすばやく提供できましたね。

森口:とはいえ、ただレスポンシブデザインに対応したブラウザアプリだけでは得られないスマートフォンの体験もあります。たとえば、振動センサーによる触覚体験や、アプリ間連携によるシームレスな機能拡張など。この技術を活かした実装をするためには、まだまだモバイルアプリエンジニアの仲間が必要だと考えています。

クリエイターのために、アイデアをスピーディに実行する

ーこれからもモバイルアプリチームの仲間を増やしていくんですね。チームづくりの点で心がけていることはありますか?

森口:新しく入ったメンバーがミッション実現に向けてパフォーマンスを最大最速で発揮できるように、土台づくりを進めています。

新しいメンバーが本来のパフォーマンスを発揮できないときは、会社独自の用語や技術仕様のキャッチアップに時間がかかっていることが多いんですよね。そこは既存のメンバーがドキュメント化や自動化をして、最速でパフォーマンスを発揮するための準備をすべき。

私たちはメンバーが増える前に、CI 環境でクリーンビルドできる状態まで整えたり、Firebase App Distributionに新規端末の登録リクエストがきたら自動で登録して再配信できるようにしたり、アプリ操作のシナリオをだれでもある程度簡単に組み立てられるようにMagic PodをE2E Testing Frameworkとして採用したりしました。

もし新メンバーが入社してすぐに本来のパフォーマンスを発揮できていたら、それこそ一番の成果だと思います。

ー新メンバーやこれから入社するひとに期待していることを教えてください。

森口:状況に応じて縛られた考えは捨て、有機的にサービスと組織が育っていけば嬉しいです。

岡野:今回入社した2名も、これから採用するひとも、サービスという軸は持っていてほしいです。アプリの機能も、結局サービスの方向性からブレイクダウンして決まるものなので。

今回入社したふたりはiOSエンジニアなのですが、Androidアプリの話をすると、いままでは独自の体験や機能の企画に注力していたんです。今後iOSエンジニアの組織化が進むとすると、Androidもちゃんと足並みを合わせていく必要がある。でも、同時に独自性も出していく。そういうサービスのつくり方を実践できるひとを迎えたいですね。

ーモバイルアプリチームのこれからについて詳しく教えてください。

森口:基本的にはつくっているものの価値をユーザーに正しく届けることを最優先事項にしています。「いきなり大きなものをつくったのはいいけど届かなかった」みたいなことは起きないように、小さく高速で物事を進めていく。

ネイティブだけにこだわらずWebViewも取り入れて、ちゃんと「届けること」が大事だと思っています。メンバーが増えて、リソースによる制約が少しずつ解除され、講じられる手段も増えてきたので。

岡野:のびしろはすごくあると思います。クリエイターのためなら、アイデアをスピーディーに実行できる環境です。

森口:最近だと、アプリでnoteに「スキ」をすると端末が振動する機能を実装しました。スキを押すのが楽しくなってスキが増えれば、クリエイターのモチベーションにもつながるというアイデアですね。アプリならではの体験でもあります。

画像3

岡野:繰り返しますが、ぼくたちはアプリだけというよりもnoteというサービスの土台そのものを伸ばすことを考えています。だから、極論を言えば、もし「アプリをやめる」ことがnoteのミッションを実現するための手段として最適解となるのなら、その選択にも納得するでしょう。

もちろん、仮想の話ですよ。いまはさらにアプリでの体験をよいものにしていくために、開発を重ねていきます。

ーモバイルアプリチームは、アプリという領域にこだわることなく、ものすごく柔軟にかつ伸び伸び働いている印象を受けました。ミッションファーストで、クリエイターのためにサービスをガシガシ育てたい方にはピッタリの環境ですね。今日はありがとうございました。


▼noteを一緒につくりませんか?

Text by 田中嘉人

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