はじめに
こんにちは、合同会社DMM.comのオンラインサロン事業部所属の田上です。22年新卒で、今年の8月からオンラインサロン事業部でプロダクト開発を担当しています。
今回は初めてオンラインサロン事業部の記事を書いていきます。
本記事では、8月に配属されてから現在までにやってきたことや学んだことなどを、素直な感想とともに書いていきたいと思っています。
この記事でオンライサロン事業部の内部の雰囲気やサービスについて知っていただけると幸いです。オンラインサロン事業部へ興味のある方はぜひ読んでみてください!
オンラインサロン事業部とは
オンラインサロン事業部では、オンラインサロン(オンライン上で運営される会費制のクローズドなコミュニティ)のプラットフォームを開発・運営しています。
2022年12月時点のオンラインサロン事業部の所属人数は約40人で、役割・業務ごとに4つのグループで構成されています。 私が所属している開発グループはさらに3チームに分かれ、各チーム3〜9人の体制になっています。
新卒、オンラインサロン事業部に入る
4月から始まった新卒研修が終わり、私はオンラインサロン事業部に所属することになりました。エンジニアとしてまずやらないといけないこと。それは環境構築とサービスの理解です。
オンラインサロン事業部では、配属前から初日に何をやるか、誰がサポートしてくれるのかをしっかり伝えてくれています。
そのおかげで配属初日は不安なく、スムーズにオンボーディングタスクに取り組むことができました。また、事業部で取り組んでいるリモート施策(Discord常駐でオフィス同様すぐ声がかけられる環境作り)のおかげもありDiscordで会話しながら進められたので、詰まった時は都度質問できました。
オンラインサロン事業部が行っているリモート施策についてはこちらの記事を読んでみてください!
https://inside.dmm.com/entry/2022/08/23/salon-remotework
Webアプリケーション環境構築では、Dockerを用いてオンラインサロン入会ページとサロンオーナー・運営スタッフが使用する専用管理ツール、そしてオンラインサロン専用コミュニティを構築しました。iOSアプリ環境構築では、コミュニティアプリとライブ配信アプリを構築しました。
環境構築で詰まり、資料に載っている膨大な情報に圧倒されながらも、必死に頭に詰め込んだ初日でした。
オンラインサロン事業部のオンボーディングについてもっと知りたい方は、こちらの記事を是非読んでみてください!
https://inside.dmm.com/entry/2022/08/25/salon-onboarding
配属から現在までの活動スケジュール
ここからは、時系列ごとに取り組んだ内容を述べていきます。
8月、オンラインサロンを知り開発へ
これから業務に臨む上で、まずはそもそもオンラインサロンとは何なのか、DMMオンラインサロン事業部のオンラインサロンとはどのようなサービスなのかを理解する必要があります。
オンラインサロンとは?
オンライン上で運営される、会費制のクローズドなコミュニティです。
登録すれば誰でも参加できるオープンなSNSとは異なり、同じ目的を持って対価を支払った熱量の高い人だけが参加する傾向にあります。
DMMオンラインサロンとは?
すべては説明しきれないので、ここではDMMオンラインサロンの一部をご紹介します。
DMMオンラインサロンでは、オンラインサロン専用の独自コミュニティと管理・入会画面を提供しています。3,000サロン以上の開設実績から培ったノウハウと、サロンオーナーやサロン会員の意見を取り入れながら、日々使いやすさを向上させています。
コミュニティツールはDMM専用コミュニティ、またはFacebookを使用します。 サロンオーナーは、管理画面から会員の管理やメルマガ配信、データ分析、入会アンケート、コンテンツ販売などが可能です。
使われている用語を理解する
次に、DMMオンラインサロンには、どんな役割(サロンオーナー, スタッフ, サロン会員, etc.)があり、どんな機能(ライブラリ, 無料期間, サロネン, etc.)があるのかを知っておく必要があります。
コミュニケーションを取る際、共通認識を持って認識齟齬を防ぐために用語を知っておくことはとても重要です。それぞれ昔から運用されており、歴史を知ることで蓄積された用語を理解していきました。
まだDMMオンラインサロンの全てを理解できている自信はありませんが、これからも学んでいきます。
継続的に運用する大切さを知る
オンボーディング資料を読んでいると、オンラインサロン事業部は丁寧だなと思うことがあります。それは、資料がしっかりメンテナンスされていることです。
ユーザーの読解の負荷を軽減するためのライティングガイドラインや私達が利用するスクラム開発ガイドライン、開発フロー資料などの2年前に作成された資料でさえ、更新日が最近でした。どのように運用されているのだろうかと疑問に感じていました。
そのとき思っていた疑問は、今では納得できています。オンラインサロン事業部では何か新しいことを始める時、どのように運用していくのかを大事にしています。継続的に更新し続けるサイクルの確立、気づいたらすぐに共有し改善する。そのおかげで、新しく入った私にもスムーズに情報を得ることができました。 実際に、資料整理を行う時間を週に一度取り、そこで整理を行いました。
少し話がそれましたが、初めの一週間位はみっちりサービス理解に時間を当てることができ、事業部の文化も知っていきました。
そしてここから、Webサービス開発に携わっていきます。
9月、Webアプリケーション開発に携わる
UXの向上は小さなことの積み重ね
まず、オンラインサロン入会ページの開発に携わりました。
初めは軽い文言修正からでした。ユーザーが誤解してしまうような表記があってはいけません。プロダクトオーナーや運営スタッフと話し合いながら最適な文言を選びます。 そのような話し合いに入る時は、ユーザー目線に立ちできるだけ客観視しなければいけないので、そういった意味では新参者の私は素直な意見を出せました。
一つの文言を修正するのでもしっかり議論する姿勢は、個人開発ばかりをしていた自分にとって新鮮でした。
続いて携わったのは、サロンオーナーや運営スタッフが使う管理ツールです。主にサロンの開設や管理などができます。
オンラインサロンを開設する際は、募集人数やカテゴリー、料金などの多くのサロン情報を入力する必要があります。その際に、オンラインサロンを開設管理したい方々に誤解を生むようなUXがあってはいけません。
プロダクトオーナーと頻繁に相談し、不要な操作ができないようにバリデーションの追加やUIの整理などを行いました。自分が使う想定で考え、「これは使いにくいな」」と思うことがあれば、相談し改善していきました。
それにより、UXも上がり、不要なリクエストを送らせないことで処理の単純化を進めることもできたと考えています。
特に苦労した点は、オンラインサロンの申請フローに関わる改善タスクです。「サロンオーナー」「運営スタッフ」などの役割と「作成中」「修正待ち」「公開待ち」といったステータスに応じて、デッドロックすることなくやり取りをする必要があり、ロジカルに考えながら実装をしました。影響範囲が大きかったので、他に影響している箇所はないか調査し、テストを細かく実施しました。
実際に利用される運営スタッフから、感謝のリアクションを得られた時はすごくやりがいを感じました。
10月 ~ 現在、iOSアプリ開発してます
いきなりですが、10月からはiOSアプリの開発をしています!
DMMオンラインサロンでは、オンラインサロン入会者が利用するコミュニティアプリとライブ配信アプリがあります。
元々、私は学生時代にWeb開発を主にやっており、iOSアプリ開発の経験はないのですが、技術研修で興味を持ち、オンラインサロン事業部ではiOSアプリ開発を頑張りたいと思っていました。
iOSアプリ開発楽しい
まず取り組んだことは、環境構築の改善です。
既存の環境構築では複数のシェルスクリプトを順番に実行しながら環境を構築していきます。環境構築をスムーズに進められるように、既存の環境構築手順を読みながらMakefileに落とし込み、コマンドを一回叩くだけで構築できるようにしました。(目的に合わせて処理を個別に叩くこともできます)
アプリの環境を作るためにどのようなビルドが行われており、ツールが使われているかを理解できたので、初めに取り組んで良かったです。その他、ライブラリ管理をcarthageからSPMに移行する作業なども行いました。
Bitrise(モバイルアプリ用CI/CD)のワークフロー改善も行っていきます。最近では、iOS16に対応するようにビルドステップを修正、使用するスタックをM1ベースに変更するなどを行いました。
一緒に働いているエンジニアの皆さんに感謝される時は最高に気分がいいです。
開発環境のベースをある程度理解したら、いよいよアプリ開発を行っていきます!
基本的にはリファクタリングや新規機能の追加、不具合対応を行っています。
リファクタリングでは、既存のコードを見直し、不必要なコードを切り出していきます。主に、React Nativeが一部使われている箇所があるので、それをSwiftへ移行する作業や状態管理の見直しなどをしました。Swift移行については現在も進行中です!
React NativeからSwift移行について詳しく知りたい方はこちらをどうぞ。
https://speakerdeck.com/hayatan/reactnative-falseahuriwo-swift-nizhi-kihuan-etemasu
新規機能は、大きなものや小さなものがありますが、ユーザーが使いやすくなるよう機能を追加していきます。最近だと下書き保存機能がリリースされました!
https://note.com/dmm_onlinesalon/n/n44c54865df27
ユーザーが使いやすいUIも考える必要があります。開発者やデザイナー、プロダクトオーナーと相談しながら、最適なUXを提供できるように考えています。ちなみに事業部内でHuman Interface Guidelinesを読む勉強会も実施しています!
自分はiOSアプリ開発が未経験ということもあり、なんとなく使いづらいと思う箇所を見つけても、どう改善すればよいかわからない事が多いです。なので、他社のアプリを見たり、Appleの公式ドキュメントなどを読んで学んでいく日々です。(知れば知るほど深くて大変です。)
不具合の影響は最小限に抑える
私が一番伝えたいことは、ユーザーからの問い合わせや不具合の対応についてです。オンラインサロンでは毎日、ユーザーからの不具合・問い合わせ報告を確認し、緊急を要するものは最優先で対応する動きが確立されています。
どう改善すべきか、どのように伝えるべきか、全体で相談しながら最適な行動を取られている姿を見ながら、自身もすごく刺激を受けると同時に力の無さを実感しました....。
自身も不慣れながらも周りのサポートを受けながらできる限り早く原因を突き止め、修正を行えるよう努力していきます。
まとめ
ユーザーに楽しくオンラインサロンを使っていただけるように、オンラインサロン事業部では使いやすいプロダクト開発に取り組んでいます。
そんなユーザー第一で開発できる環境で日々成長をしていきたいと思っています。 これからもサービスとオンラインサロン事業部をより知っていただけるように努力していきます!
最後まで読んでいただきありがとうございました!
DMMオンラインサロンでは開発チームのメンバーを募集しています。少しでもご興味を持たれた方、まずはカジュアル面談で気軽にお話ししてみませんか?