BUYMAのWebエンジニアインタビュー/20年続く大規模サービスで、裁量を持って開発の全工程に携わる魅力

こんにちは、UXデザイングループの宮川です。今回は、エニグモが運営するソーシャルショッピングサイト「BUYMA」で、購入者向け機能を開発するチームのエンジニア、東野さんにインタビューしました。エニグモに入社したきっかけや普段の業務内容、そしてエニグモで働く魅力について伺います。

これまでのキャリアとエニグモに入社した経緯を教えてください

元々、エンジニアとしてキャリアをスタートさせたわけではなく、建築業界で施工管理の仕事をしていました。そこからエンジニアという職業に興味を持ち、独学で勉強してエンジニアとして転職しました。

前職ではエンジニアが5名ほどの小規模な組織に所属し、Web上の店舗情報を一括管理するSaaSの開発に携わっていました。ここでは、バックエンド、フロントエンド、インフラと、開発のほぼ全ての領域を担当し、ビジネスサイドやCTOと密に連携しながら、要件定義から開発までを一貫して行っていました。

とても貴重な経験をさせていただいていたのですが、その一方で、エンジニア組織が小規模で技術への関心が高いメンバーが少なかったことから、自身の技術的な貢献が評価されにくいという課題も感じていました。

そんな中、エニグモの記事で評価制度やバリューに関する考え方を拝見し、透明性が高く、自分がやりたいことで会社に貢献し、正当に評価してもらえる環境だと感じました。また、技術ブログからは、スペシャリストとして業務に貢献されている方々の姿や、各メンバーの取り組みを知ることができ、その技術レベルの高さに強く惹かれました。技術面においても、大規模なトラフィックを前提としたデータ処理や、本番環境で求められる高い品質を考慮した設計・実装など、私が挑戦したいこととエニグモが求めるものが一致していると感じ、入社を決意しました。

※スペシャリストとして貢献するメンバーの紹介記事
※カンファレンスについての記事
※エンジニア組織やバリューに関する記事 

 

エニグモではどのようなお仕事をされていますか?

入社当初は、開発組織を横断的に支援するチームの1つであるApplication Platformチーム(以下APチーム ) に所属していました。ここでは、技術スタックの最適化、インフラ基盤のモダン化、アーキテクチャ改善、サービスの信頼性向上といった、横断的に共通の技術課題を解決し、開発組織全体の生産性を向上させる活動を行っていました。

その後、社内異動を経て、現在はBUYMAの購入者向け機能を開発する「BUY Domain」の「CVR Squad」に所属しています。

エニグモの開発体制は、BUYMAのDomain(機能)ごとに、BUY(購入者向け機能)、SELL(出品者向け機能)・SERVICE INFRA(決済や配送などのBUYMA根幹を支える機能)(※)といった3つのドメインに分かれています。そして、そのドメインをさらに細分化し、事業的なミッション達成に向けて、システム全体のライフサイクル(設計、開発、テスト、本番化、運用、不具合対応など)にオーナーシップを持つ縦割りのチームのことを「Squad(スクワッド)」と呼んでいます。

私の所属するCVR Squadは「購入者のコンバージョン率(CVR)向上」のミッションを持っており、私はBUYMAの購入フローやクーポン施策に関する開発を担当し、今後開発をリードしていく役割を担っています。

また、DXチームという開発組織を横断的に支援するチームも兼任しており、BUYMAのローカル開発環境やソフトウェア開発のプロセスを自動化するためCI/CDツールの整備を通して、エンジニアがより快適かつ効率的に開発できる環境づくりに取り組んでいます。例えば、AIツールを安全に活用できるよう、BUYMAソースコードから個人情報などの機密情報を分離し、気兼ねなくAIを使用できる開発環境の整備などを行なっています。

※エニグモのエンジニア組織について

 

印象に残っているプロジェクトについて教えてください

現在所属しているCVR Squadでの、トレンドワード機能を改善したプロジェクトが印象に残っています。BUYMAには、ホーム画面のカテゴリータブの下にある、(ブランド名)人気バッグ、(ブランド名)アウトレット商品などの「トレンドワード」タグを押下して検索結果に遷移できる機能があります。

改善前のこの機能では、全年代に一律の「トレンドワード」を表示しており、特定の層にしか響かず、特に若年層への訴求が弱いという課題がありました。そこで、ログインユーザーの年代に合わせて、表示する「トレンドワード」を最適化し、若年層への訴求を強化するために、このプロジェクトが始まりました。

私は主にバックエンド開発の役割で関わりましたが、仕様のキャッチアップも兼ねてWebアプリケーションのフロントエンド(React)も一部担当しました。また、ディレクターやアプリエンジニア(iOS / Android)を交えてビジネス要件を調整しつつ、バックエンドの設計・実装を進め、施策全体の開発計画やリリース計画の調整も行いました。

開発そのものの複雑さは高くなかったのですが、大規模サービスならではの課題が2点ありました。1点目は、複数のレイヤーにキャッシュが組み込まれていることや、アプリ用APIでバージョニングを考慮した設計が必要であるなど、サービスが大規模なため、数々の既存システムの仕様を把握する必要があったことです。 2点目は、私のBUYMAでのはじめてのビジネス系の施策で、アプリ(iOS / Android)、管理画面、Webと開発範囲が広かったため、自身の担当範囲の見極めや、開発フローを把握しながら他チームと連携する必要があったことです。

これらの課題に対し、1点目の既存システムの仕様の把握については、社内の情報共有ツール(esa)やSlackのログを確認したり、ソースコードを直接読み解いたりすることで理解を深めました。2点目の開発の連携については、プロジェクトの初期段階でタスクを洗い出して開発計画を立て、クリティカルパスを把握した上で、開発の順序や他チームへの依頼フローを整理するようにしました。 

結果、大きな手戻りなく各チームが効率的に開発を進めることができ、施策としてもトレンドワード機能を利用するユーザーの数を底上げすることに成功しました。このプロジェクトを通して、幅広い開発スコープを担当させてもらえたことで、ビジネス施策の進め方やシステム仕様への理解が深まり、大きな自信に繋がる印象的なプロジェクトになりました。

 

エニグモグループで働く魅力を教えてください

長年続くサービスだからこそ得られる技術的な知見

BUYMAは20年以上稼働しているエニグモ創業時から続くサービスで、以前は開発言語にPHPが使われていましたが、現在はRubyに技術刷新され、旧来のシステムと新しいシステムが共存する形で運用されています。

そのため、機能的には移行が完了していても、一部でPHP時代の影響が残っている箇所があり、施策内容によっては旧来のシステムへの影響調査と設計が求められます。このような長年稼働している複雑なシステムに対し、実装当時の担当者がいない中で、自ら仮説を立てて状況を整理し、アウトプットを出す必要があります。

難しい挑戦ではありますが、それを乗り越えることで、リアルなビジネス課題を解決するための実践的な知見を得ることができます。

職種の枠を超えて幅広い工程に携われる

システム開発において、ビジネス要件の調整から、既存システムの調査、開発計画の立案、設計、実装、QAまで、全工程に携われることも大きな魅力です。 

もちろん、全てを一人で対応しなければいけないわけではありません。状況に応じて他チームに依頼することや、エンジニアのアサインが難しい場合は自ら開発することもあります。あるいは、開発に専念してレビューのみを他チームに依頼したりと、柔軟な動き方が可能です。 

加えて、エニグモでは安全なリリースに必要なリソースを確保しやすい文化があるため、時間をかけて調査や実装、リリース計画を綿密に立てることができるため、エンジニアとして納得感を持ちながら開発に取り組むことができます。

多職種なメンバーと協業しながら開発できる環境

入社時に配属になったAPチームでは、難易度の高い専門的な技術を扱っており、技術力が高いエンジニアが集まっていたため、当初エンジニア3年目の自分にとってはチャレンジングな環境でした。何でも自分で解決しようとして行き詰まることもありましたが、思い切って相談してみると、皆さん快く手を差し伸べてくださり、自己解決が難しい案件もスムーズに進められるようになりました。

複数のチームを経験したことで組織体制への理解が深まり、他チームのエンジニアやビジネスサイドのメンバーと関わる中で、効率的に業務を進められるようになったと感じています。また、ビジネスサイドやディレクターの方々もエンジニアへの理解が深く、建設的なコミュニケーションが取りやすい環境です。

多様なメンバーと協業する中で、視野が広がり、自身の成長やよりよい開発・提案にもつながっていると実感しています。

 

今後チャレンジしたいことを教えてください

既存システムの技術的課題やソースコードの改善提案などを通して、サービスの安定性と開発者体験の向上にさらに貢献していきたいです。

BUYMAは既存システムの仕様を把握するのが難しく、改善提案を行う際にも、変更することによって起こる多くの影響を考慮する必要があります。しかし、今までの業務で既存システムに触れ、他のエンジニアのコードレビューと合わせて仕様の把握を進める中で、より大きな課題解決を行うための準備が整ってきたと感じており、今後は、より積極的に改善に取り組んでいこうと思っています。

例えば、BUYMAのユーザー情報や取引情報を管理する社内ツールは、多くの部署で利用される必要不可欠なツールですが、技術スタックが古く、機能開発のボトルネックになり、パフォーマンスが最適化されていません。このようなツールの新規開発を主導し、順次リプレースを進めることで、抜本的な改善に貢献していきたいと考えています。

 

エニグモに興味を持ってくださっている方に、メッセージをお願いします

20年以上続く大規模サービスを舞台に、本番環境に根ざしたリアルな課題に向き合うことができます。開発者としての視野を広げ、技術的な意思決定を自らの手で行う経験を積みたい方にとっては、非常にやりがいのある環境だと思います。担当業務は基本的に自身の役割が軸になりますが、施策の初期段階から関わることで設計や技術方針に意見を出し、必要に応じて他の領域に挑戦したりすることも可能です。

私も最初は不安がありましたが、困ったときにはすぐに助けてくれるチームメンバーや、エンジニアの挑戦を後押ししてくれる文化があるので、安心してチャレンジを続けられています。

エニグモで、一緒にエンジニアとしての幅を広げていきましょう!

 

----

株式会社エニグモ すべての求人一覧

hrmos.co