アプリエンジニアの視点から、『minimo』の発展を支えたい。~新卒成長の軌跡、その後 #05~

アプリエンジニアの視点から、『minimo』の発展を支えたい。~新卒成長の軌跡、その後 #05~

ミクシルでは、新卒スタッフの成長をシリーズでお伝えしています。この「新卒成長の軌跡、その後」は、彼らのその後の活躍を追うシリーズです。どのような成功体験や失敗体験を経験し、どんな風に成長したのか?スキルやマインドの成長に大きく役立ったターニングポイントとは?について迫ります。

今回は、2019年4月に新卒入社した鈴木です。MIXIの面接で“サービスへの情熱”に胸打たれ、入社を決めた彼は、サロンスタッフ予約アプリ『minimo』事業部のアプリエンジニアとして配属。今年で4年目を迎え、2022年5月からはリーダーとしてチーム運営にも関わるようになりました。この4年間で仕事の取り組み方がどう変わったか、またリーダーとしてどんなことを意識しているのかについて語ってもらいました。
前回のインタビューはこちら

鈴木 雄大
2019年新卒社員として入社。『minimo』に所属し、iOS/Androidアプリの開発を担当。2022年5月よりアプリ開発チームのリーダーに就任。

サービスへの情熱に突き動かされた

━━鈴木さんは就職活動で、メガベンチャーを中心に受けていたそうですね。
はい。大手のWebサービス会社を中心に就活していました。その中でMIXIに惹かれたのは、サービスへの熱い思いがあったからです。MIXIの採用面接では、『minimo』の現マネージャーである尾関さんから、『minimo』が辿ってきた歴史や経緯、解決しようとしている美容業界の課題、サービスへの熱い思いなどの話を聞きました。サービスへの熱意が一番感じられたのがMIXIで、「僕も熱い会社でサービス開発に携わりたい!」と強く感じ、入社を決めました。

━━希望通り『minimo』に配属となったときはどうでしたか?
同じ思いを共にできるチームで働けることが嬉しかったです。1年目はiOSアプリの開発をメインで担当していました。大学時代はAndroidアプリや、React、Webアプリの開発をしていたので、会社で初めてiOSの開発に挑戦することになりました。1年半〜2年後にはAndroidアプリの開発にも参加し、施策の検討といった開発以外の業務にも取り組み始めました。また2022年5月からアプリチームのリーダーとして開発もしながら、チームマネジメントにも挑戦しています。

━━入社前はどんなキャリアイメージを抱いていましたか?
ユーザーの目線でモノを作れるエンジニアになりたい、という漠然としたイメージを持っていました。大学ではアプリ開発に取り組んでいましたが、アプリ開発に執着していたわけではなく、内定者アルバイト時代には知見を広げたいという思いから、ライブエクスペリエンス事業部でサーバ側の開発にも挑戦しました。グッズ通販に関わるプッシュ通知や管理ツールの修正などを担当していたんです。

9年目を迎えた『minimo』に必要なもの

━━『minimo』に配属となって4年が経ちましたが、最も思い入れのある仕事は何ですか?
それは、アプリの技術改善プロジェクトです。『minimo』はリリースして9年目になるアプリ。人の入れ替わりや技術の変化などで直さないといけない箇所があるので、それをいかに解消するか、それに加え今後の負債を生まない仕組みを作っていこうというのが自分の中のテーマとなっています。

━━前回の記事でも、『minimo』の問題が山積みだと話していましたよね。
はい。その1つが技術の負債という課題でした。前回に比べると、今はよりイメージが鮮明になって取り掛かれているかなと思います。これまで事前にコードの整理をする時間を取るといった軽い取り組みはしていていましたが、2021年の年末に本格的にチームで取り組む体制になったんです。

━━プロジェクトにおいて、目指すゴールとは?
正直、ゴールが設定しづらいところがあります。というのも、改善したとしてもまた新たに改修したい部分が出てくるものだから。なので、最終的なゴールはなく、ずっと取り組み続けていくものかなと考えています。明らかに直さないといけない箇所に加え、ある程度新しい負債が増えないような仕組みづくりを整備していくことが、目下の課題ですね。

━━現在の進捗具合としてはどれくらいの手応えでしょうか?
10~30%ですね。このプロジェクトに着手する前は、変数名を変えたり、ライブラリを使わないようにしたり、といったところがメインの作業になると想定していたのですが、着手して始めて、“新たな負債が生まれない仕組みづくり”が重要だということが見えてきたんです。そのためにまず土台づくりに着手しました。

━━土台づくりというのは?
1つ目が、チーム内の共通認識を作るということです。そもそも技術的負債について話す土台がなかったので、エンジニアの朝会などコミュニケーションの時間を増やすようにしました。これまで、エンジニア各々の中で「このコードはまずいな」という意識はあったと思いますが、それをチームの中でどうするのかという議論や相談、声をかけるような土壌は、今ほどはなかったと思います。2つ目が、Jetpack Compose(UIツールキット)などAndroidの最新技術について学ぶ勉強会を開催し、エンジニア全員の技術力の底上げを図りました。ある程度その土台ができてきて、コミュニケーションが活発になり、「負債を生まないためにもこのコードは良くないよね」といった暗黙知が共有できるようになってきたかなと思っています。

━━まず開発方法のマニュアルを作る、というわけではないんですね。
そうですね。色々なやり方があるとは思いますが、自分のチームでは最初からいきなりドキュメントを作ることはしていません。最終的には作ることになると思いますが、最初の段階で作るのではなく、チームメンバーで色々話して、共通認識をまず作るところが先決かなと考えています。ある程度方針が固まって、全エンジニアが説明できる状態になってきたらドキュメントに残したいですね。

━━土台づくりを通じ、どういった変化がありましたか?
例えば、仕事の進め方の部分です。これまでは施策案やデザインが降りてきて、実装して、実装が終わったタイミングでレビューする形をとっていました。そうすると最終的に出来上がったものがよくない設計だったとしても、他のメンバーに時間をかけて作ってもらっているので、設計を直したほうがいいと指摘しづらかったりするんですよね。この進め方が技術的負債の原因になっているのではないかと考え、事前にエンジニア内で開発や設計の方針をすり合わせることで、最終的な出戻りを減らそうという動きが出てきました。

━━なるほど。
その結果、アプリの緊急リリースや不具合解消のための修正版の数、実際に市場に出ているクラッシュの数なども減ってきており、最近ようやく小さな手応えを感じるようになってきました。

━━目に見える成果が出ているんですね。
なかなか成果が目に見えづらいと思っていましたが、コードの質が上がってきている成果が少しずつ出ているのかなと。「最近ようやく軌道に乗ってきたね」とチームメンバーと話すことも増えました。まだまだ改善の余地はありますが、前に進んでいる実感が湧いています。

真の課題を掴む重要性

━━仕事の取り組み方について、入社当初から変わった点、もしくは変わらない点はありますか?
変わっていない点は、2つあります。1つはエンジニアリングに集中しつつ、事業のことを見据えるというスタンスですね。自分で納得して仕事をすることは、入社当初からブレていないと思います。もう1つは、全体を把握してから取り組むということです。例えば、美容師やネイリスト、アイデザイナーといった『minimo』のユーザーに対して施策を打つ場合、「そもそも何故そういった施策を実施するのか」という前提が間違っていると、いらない機能をユーザーに提供することになってしまいます。最近では、サービスの課題や施策の目的など、これまでより意識して進められるようになってきたと思います。

━━サービスの価値まで見据えられるようになってきたんですね。
技術的負債の解消も同じで、コード設計を直すときもコードの全体像をある程度把握してからでないと、「こんなところにこんな機能が隠れていた」ということになりかねないですし、「直したはいいけれどバグが入りこんでしまった」というケースもあるので、自分で納得して仕事をするということは年々強化されている気がします。さらには、ユーザーに対して価値を提供するために、最大限良いものをより早く作れているかを考えられるようになってきたと思います。

━━ユーザーの声は気になりますか?
そうですね。アプリのレビューやお問合せに届いている内容などにもしっかり目を向けていきたいと思っています。今もユーザーに話を聞く機会はあるのですが、今後はさらにユーザーテストを通して、より使い勝手の良いサービスに改善していきたいです。サービスを使うのはユーザーなので、僕たちが「こうあるべき」と考えていることも、ユーザーの立場からすると「そうじゃない」と思われていることも多いと思うので。

みんなが納得することが大切

━━2021年からはリーダーとしてチーム運営に挑戦していますが、もともとキャリアイメージとして、マネジメントは視野に入れていましたか?
エンジニアのキャリアは大きく分けて、エンジニアリングのスペシャリストという道と、マネジメントに携わる道という、2つの道があると思いますが、僕はそこまで明確にどちらに進みたいかは決めていませんでした。機会があればマネジメントにも挑戦したい、という温度感です。

━━そうだったんですね。リーダーとして、どんな心構えで取り組んでいますか?
私は自分で指針を立てて、リーダーシップを発揮してチーム運営をするタイプではないと思います。というのも、自分の考えに自信を持っているわけではなく、日々チームのメンバーの意見に気づかされることが多いからです。チームの意見を吸い上げながら、できるだけ全員が納得する形で進めていきたいという思いのもと、マネジメントに携わっています。マネジメントのスタイルについては、尾関さんをはじめとする周りの上司をロールモデルにしています。

━━どういったところをお手本にしていますか?
フラットに意見を聞く姿勢です。自分と異なる意見でもしっかり耳を傾け、じゃあどうするべきかをメンバーと一緒に考えてくれる。私自身もそういうチームにしたいという思いが強いので意識しています。リーダーが上にいて、リーダーの一声でみんなが動く、というチームにはしたくなかったので。

━━鈴木さんの今後の目標を教えてください。
直近では技術改善プロジェクトに集中し、今後負債を生まない仕組みを作るということに全力投球したいです。コードもそうですが、ユーザーに対しても、よりよいサービスを届けられるチームの開発環境を整備すべく、今後は『minimo』のチームの体制づくりも意識していきたいと思っています。

━━ご自身のキャリアについてはどうですか?
これまでは、技術のスペシャリストなのか、マネジメント向きなのか、明確に決めていませんでしたが、今もその思いはあまり変わってはいません。マネジメントは始めたばかりなので、もっとマネジメントの知識を付けていきたいですし、開発手法などの勉強もしていきたいなと思っています。

━━今着目している技術や開発手法は?
ドメイン駆動設計、Clean Architectureといった開発手法をもう一度キャッチアップし、どういう設計を『minimo』で行っていくのかを考えたいと思っています。また、アジャイルやスクラムなど、チームでの開発手法の見直しにも着手していきたいですね。

新卒で入社して『minimo』に4年間関わってきたので、良く言えば『minimo』の中で色んなことができるようになったとは思いますが、それが本当に価値提供する上で一番効率良くできているのかというと疑問に思うところがあります。書籍や外部の情報などもキャッチアップしながら、ユーザーに価値あるものを届けるために、改善できることはまだまだあるなと。自分のスキルも磨きつつ、『minimo』を成長させていくのが、今の自分の使命だと考えています。

PAGE TOP