本投稿はRetty Advent Calendar 2021 Part2 14日目の記事です。
こんにちは、Rettyアプリエンジニアの @imaizume です。
先日沖縄へ行きましたが、実は首里味噌という味噌が隠れた名物で、那覇市には実際に食べられるお店もあります。まろやかな味で大変美味しく沖縄のスーパーにしか売っていないので、みなさんもぜひ沖縄へ行かれた際は試してみてほしいです!
さてNo. 1の方ではSwiftUIに関する記事を書きましたが、こちらのカレンダーでは「Rettyアプリチームのエンジニアである私の一週間のスケジュール」をご紹介したいと思います。
入社後から採用活動に積極的に関わっていのですが、常々「会社の雰囲気を候補者へリアルに伝えるのは難しいな」と思っています。
業務内容や使用技術は言葉で伝えられても、会社の雰囲気を相手に伝えるには限られた時間の中で適切な言語化が必要となりなかなか難しいと考えています。
そこで私の1週間のスケジュールを公開することで、入社後どの業務にどのくらい時間を使うかというイメージが湧くのではないかと考えました。
この記事を読めば、Rettyアプリ開発にJOINしたときに、どのような一週間を過ごすかが具体的にイメージできるようになると思います!
ぜひ現在の仕事や理想の働き方と比較していただき、よければRettyを一つの選択肢とするきっかけにしてもらえたらなと思います。
前提となる環境・条件
ご紹介の前提として現状の私の仕事環境や条件についてご説明させていただきます。
これらは2021年12月時点かつ私の視点で記述したものなので悪しからず。
- 私自身について
- 仕事
- 環境
- アプリチームのメンバー: 自分以外に新卒5名 + マネージャー2名
- Retty全体のエンジニア数: 約50名
- 週1,2回の出社を前提としたリモートワーク
@imaizume のRettyアプリチームでの1週間
では早速私の1週間のスケジュールを見ていきましょう。
このカレンダーには参加しているイベントが書かれいています、凡例は以下の通り。
- 赤: 基本的に全日開催のもの
- オレンジ + 黒字: 毎週開催のもの
- 黄色 + 白字: 毎週開催で当番制のもの (紹介文の冒頭には ☆ をつけています)
これ以外の時間にランチを含む通常の開発やコミュニケーションなどの業務を行っていると思ってください。
以下でそれぞれ各イベントの詳細をご紹介します。
毎日のイベント
デイリースクラム 11:00-11:15
- いわゆる朝会。スクラム開発の文脈では、計画通り進んでいるかの確認をする場になります。
- 最近は朝会を含むほとんどのミーティングをDiscordのチームチャンネルに集まって行っています。
- アプリチームはテンプレをMiroに書き出しており、日によってメニューが若干異なります。
- 例えばリリース作業に関するリマインド、休みの確認などはアプリの開発運を円滑に進めるために欠かせません。
- またQAのメンバーも参加して、検証作業に問題がないかも確認しています。
- 朝会の時間は基本的にチームで決めており、会社での朝会が難しい場合などはリスケジュールしたり、朝会後に出社することもできます。
- なお朝会の司会は当番制です。
リファインメント 11:15-11:45
- 朝会後は施策の見積もりや仕様相談をするリファインメントです。
- 主にプランナーが実施したい施策の概要を用意したうえで、事前にSlack Workflowを使って依頼をしチームへリマインドします。
- アプリ関係の技術でどのように実装するか、難しい場合も代案やWebチームへの依頼が可能かなどを話します。
- ここで決められたストーリーの内容とポイントはプロダクトバックログに記載され、後述のプランニングミーティング準備にてスプリント計画に変わります。
帰りの会 17:00-18:00
- アプリチームでは毎日17:00からの1時間を「帰りの会」と呼んで、相談や雑談などを積極的に行う時間枠を確保しています。
- 参加は必須ではなく、トピックが特にないときはただ集まって終わることもありますが、大事なのは「話しかけても良い」「みんなが聞いてくれている」という状態の確保が目的だという点です。
- 「チームのみんなに聞いてほしい、けど個別にミーティングを設定するほど重要ではない」ような相談事項を話す場としてうまくこの時間が機能しています。
- 一日が終わりかける頃には、実装でうまくいかない所やミーティングから持ち帰りとなったTODOなどが出てくるため、タイミング的にも共有がしやすいみたいですね。
- また特になにもないときは新しいOSや端末の話、美味しいお店の話などで雑談をしたりしています。
月曜日
全体会議 10:30-11:00
- 毎週月曜日は、全社員が集まり売り上げや経営環境についての報告を聞く全体会議から始まります。
- 会社全体に関わる重要な告知はもちろん、各部署のプロジェクト進捗やイベントの報告、諸連絡を受けます。
- 普段業務であまり触れることがない数字や他部署の成果を毎週知り、自身の仕事に対する気合も入ります。
- 周辺情報を把握し企業としての一体感を感じる大切なイベントです。
1on1 16:00-17:00
- おなじみ上長との1on1、アプリチームだけでなく全社的に行われています。
- 私の場合は月曜開催で、エンジニアリングマネージャーとマネージャーそれぞれと行います。
- 上長の方針によりますが、私の場合にはあまりフォーマットは用意せず雑談をしたり気になることはポイントを絞って話をします。
- またオンボーディング期間にはより頻度を上げて行ったり、新卒は上長と別にメンターとも1on1をしたりします。
☆ Tech Report 17:00-17:30
- Rettyアプリチームの特徴として、アプリ用サーバーの運用を自分達で行いオンコールも担当する点が挙げらます。
- そのため各チームのオンコール担当者が集まりSLIやインフラ関係の共有事項を話す時間が設けられています。
- 重要なインフラ変更がある場合、アプリチームへの影響が生じる場合もあるため、担当者が情報を持ち帰りチームに共有します。
- またRettyでは振り返りを行うことを大切にしており、障害を起こしてしまった後にpostmortemを記述し読み合わせることもこの場で行います。
火曜日
物理出社とランチ 12:00-13:00
- アプリチームでは毎週火曜日と水曜日を物理出社推奨日としています。
- 物理出社推奨日はチームによって異なりますが、アプリチームはミーティングなどのイベントが少なく、オフラインでしかできないペアプログラミングやコミュニケーションをしやすい日に集まるようにしています。
- 直接顔を合わせて働くことが少ない中、ランチや雑談で交流をする大切な日でもあります。
☆ アプリの定期リリース作業
- 前週末までに申請を行い土日月での審査通過を想定しているため、火曜日にiOS/Androidともにリリースを行っています。最近はAndroidでカナリーリリースを導入しており、一日かけてリリースしています。
- 大型のリリースやWeb/サーバーリリースとのタイミング調整が必要な場合はこの限りではありません。
輪読会 14:00-15:00
- アプリチームでは現在、Scrum Boot Campという本の輪読会を行っています。これまでチーム開発において時々問題点が指摘されたり、その度に直したりを繰り返してきました。
- ただその中で、メンバーには新人が多いこともあり、スクラム開発の基本を改めて把握すべきという声が上がったことかaらこの輪読会を開催しています。
- 本の内容はスクラム開発の定義や基本事項が書かれているだけのシンプルなものですが、改めて読み返すと、自分たちのチームに足りていない所が発見できます。
- 例えば長期的な予定はマイルストーンにして見えるところに貼るという項目はこれまでできていなかったため、最近やるようにしたりしました。
Oncall 定例 16:00-16:30
- 月曜日のTech Reportで述べたように、アプリチームではAPIサーバーのオンコールを担当しており、このミーティングで担当が一週間のアラートやインシデント、SLIやタスク進捗などを確認します。
- いわばTech Reportからブレイクダウンされたミーティングになります。
オンボーディングワーキンググループ 18:30-19:00
- ワーキンググループ(以下WG)は通常業務でなかなか解決できない課題を有志で解決していくための制度で、このオンボーディングWGもその一環で行われています。
- Rettyでは近年オンボーディングのための体制を強化し、新卒や中途で入社された方が1日でも早く組織に馴染んで戦力と慣れるようなサポートができるようにしています。
- 仕組みの構築が進んできたとはいえ、まだまだ課題や入社された方からのフィードバックで直すべき点はあり、それを隔週で定期的にメンバーと話しています。
- 前述の通り自分は採用や育成周りにも興味があるため自主的に参加していますが、他にも技術関係のWGが複数あり、メンバーによってはそれらに参加している人もいます。
- Rettyでのオンボーディングの内容や考え方についてはこちらに記事にまとまっています。
水曜日
夕会 15:00-15:15
- Rettyは毎週木曜日がスプリントの開始日(後述の木曜日を参照)なので、その前日にあたる水曜日には次のスプリントの計画を立てる必要があります。
- 後述のプランニングミーティング準備前のこの時間に、チームでスプリントゴールの達成状況を確認したり期日の迫っているタスクがないかを確認します。
- ただ進捗に問題があっても、たいていの場合は毎日の朝会や相談時間などで共有がなされているため、ここでは再度確認する程度になります。
プランニングミーティング準備 16:00-16:30
- スプリントに関わる各チームのリーダーが集まって、次のスプリントのゴールを決めるイベントです。
- 私はアプリチームのスクラムマスターとして出席し、前述の夕会で確認した内容を元にスプリントゴールの調整を行います。
- 他チームの進捗もアプリの開発に影響するため、全員で話し合いながら妥当なゴールを調整します。
分析チームの雑談 18:30-19:00
- アプリチーム以外にも雑談や相談を行うチームがあります。その1つが分析チームで、私は情報収集も兼ねてこの時間に参加することがあります。分析チームはSlackのハドルミーティングを使っていて、外部からでも開催状況が分かり気軽に参加できるという特徴があります。
木曜日
スプリントレビュー 11:00-11:30
- ここでは前スプリントの成果物を各チームから発表します。アプリは基本的に毎週リリースがありますのでリリース予定または済みの機能をデモンストレーションします。
- 実際に端末を用意して画面を共有しながら行うため事前の準備が必要になりますので、アプリチームでは毎週交代で担当者が準備をしています。
- スプリントレビューを含めたRettyでの各種スクラムイベントの運用については、下記のイベントレポートにもまとまっていますのでご覧ください。
レトロスペクティブ 15:00-16:00
- 午後には前スプリントの振り返りを行います。
- アプリチームではYWTフォーマットを使用しており、メンバーが思ったこと・感じたことを幅広く書き込むことで、たとえ小さくてもアクションを決められるように工夫しています。
- 毎週のレトロスペクティブだけではなく、大型プロジェクトごとの振り返りや四半期に一度行うQ振り返りもあるなど、Rettyは振り返りをたくさんやる組織だと思います。
プランナー&エンジニアのよもやま会 17:30-18:00
- アプリチーム担当のプランナーとアプリチームが、比較的軽い話題について意見を交わす時間です。
- 例としては来月以降に行いたい施策の説明や業務フローの改善提案、社内公募したアプリ改善アイデアの施策反映検討など、話題は多岐にわたります。
- 普段Slack上での交流や緊急性が高い事項に関してはミーティングもありますが、それ以外の話題をプランナーとざっくばらんに話すことができているので、「お互いが考えていることが分からない」といった事態に陥ること無く、企画と実装が平和に行われています。
金曜日
新卒輪読会 14:00-15:00
- 新卒向けの研修企画で輪読会が行われており、自分はそのメンター役として参加しています。ファシリテーションは新卒メンバーが担当するので自分は補助的な役割ですが、普段読まないような本を読む良い機会だなと感じながら参加をしています。
☆ 定期申請作業 15:00-15:15
- アプリは毎週金曜日に申請、翌週火曜日にリリースするのが基本となっています。以前リリース時に必要な情報を誤ってしまったことがあり、現在はiOSとAndroidの申請担当者がダブルチェックで内容を確認することにしています。この時点までにリリース前のQAを完了させておく必要があります。
☆ 振り返り共有会 16:00-16:30
- アプリチームが木曜日に行ったレトロスペクティブと同様の内容を、全チームが持ち寄り共有する時間になります。チーム内では解決できない、あるいは解決方法がわからない問題を他のチームの人に聞くことで解決に近づけることができる場となっています。
Product Weekend / Tech Weekend 16:30-17:30
- 週の締めくくりはProduct Weekend(以下PW)とTech Weekend(以下TW)です。これは社内の有志が企画や実装における知見を発表する勉強会で、主にプランニングサイドの内容を扱うPWと技術的な内容を扱うTWが隔週で交互に行われています。
- 過去には自分もFirebaseのソリューションの使い方やWeb to Appに関する技術について発表したことがあります。
- Product Weekendの概要や成果について紹介しているnoteの記事もあるので気になる方はぜひご覧ください。
上記イベント以外の時間
- 基本的にこれらのイベントの合間に、開発やSlackでの返信などを行っています。
- 上記以外にも月ごとや臨時のミーティングが入ることがあるため、これらのイベントは極力まとめるようにしまとまった時間で開発できるように調整しています。一見ミーティングが多いようにも見えますが、Rettyはリスケジュールが比較的柔軟に行われており、空いている時間さえあれば調整ができるので自由度は高く負担になっていると感じることはありません。
- Slackでのやり取りは比較的多めで、これはチームメンションが推奨されていることが要因の一つです。前述のように自分が直接関わっていないタスクでも、チームとして応答することを目指しており、メッセージやタスクが特定個人に紐づくのを極力回避するためです。
- とはいえメッセージ応対で全員が忙しくならないよう最近は私が積極的に対応したり、ミーティング等での作業中断/待ちを発生させないようコードレビューやペアプロのドライバーに回るなどの動きをとるようにしています。
- こぼれたタスクを拾ったり業務改善などをやることで、トータルでのチームパフォーマンスは上がると思っているので、上記のようなコミュニケーションスタイルやチームでのパフォーマンス向上に興味があるという方は、Rettyでも広く活躍していただけるのではないかと思います!
まとめ
Rettyでのリアルな働く姿をイメージできましたでしょうか??
まず全体を通して、ミーティングや相談時間などのコミュニケーションに関するイベントが多いということがお分かりかと思います。
Rettyのプロダクト部門では、1つのプロダクトを複数の関係チームのメンバーが同時並行で作り上げているため、チーム間でのコミュニケーションが必須です。
またチームとしてのパフォーマンスを上げる = 全体最適化に注力しており、チームの誰かが一時的に抜けてもパフォーマンスが下がらないよう、普段から仕様、技術、タスクの詳細などについてチーム全体に共有するようにしているのも要因です。
こういったオープンかつ積極的なコミュニケーションスタイルがRettyの特徴とも言えるでしょう。
一方で、個人としては非常に柔軟に働くことができるというのもRettyで働く大きなメリットです。
勤務時間はもちろん、ミーティングであってもそれぞれで調整しリスケジュールすることは日常茶飯事ですし、オンボーディングや1on1で上長に話をして決めていくことも大切にしています。
自分はそういった柔軟性を活かし、うまくスケジュールを調整して仕事とプライベート両者の時間的な最適化を図っています。
そうした方が全体的なQOLは向上しますし、最終的には自分たちがHappyであるからこそユーザーさんにもHappyを届けられるわけですからね。
改めてにはなりますが、今回ご紹介したカレンダーは私の現時点での一週間を表したものに過ぎません。
他の経歴、役職、チームでは上記とは少なからず異なってくるでしょう。
ですので、他メンバーのスケジューリングが気になるという方には、カジュアル面談を用意していますので、ぜひこちらのリンクから公募いただければと思います。
今回の記事でご紹介できなかったことを含めてざっくばらんに色々とお話ししましょう!
明日はOulen Tumurさんの振り返り記事となります、よければ引き続きご覧ください。