Faber Company 開発ブログ

ファベルカンパニーと読みます。

ベトナム支社で開発組織の課題を徹底議論してきました!

こんにちは。Faber Company開発運用チーム エンジニアリーダーの金子です。
2024年5月13日~14日の2日間、ホーチミンにあるFaber Vietnam Co., Ltdに出張してきました。
前回訪れたのはコロナウイルスが流行る前だったので、約5年ぶり (!) の訪問です。

Faber Company について

株式会社Faber Company(ファベルカンパニー)は、「辺境の知からマーケティング・ゼロを実現する」を使命として、企業のマーケティング生産性の向上を目指しています。 蓄積したマーケティングの知見を現場につなげるため、さまざまなサービスを展開しています。

ミエルカSEOの開発は、日本の Faber Company とベトナムにある子会社 Faber Vietnam Co., Ltd とで行われています。 Faber Company で働くエンジニアは、ベトナムのメンバーと直接英語でやりとりしながらプロダクトの開発・運用を行っています。


ベトナム支社はどんなところ?

実際のオフィスの雰囲気はこちら。
ビルのフロアを貸し切っていて、約30名ほどのベトナム人エンジニアが働いています。
日本人エンジニアはたったの7人なので、約4倍の規模ですね。

Faber Vietnamの入口
オフィスのあるビルの入り口はこんな感じ

Faber Vietnam 会社ロゴ
オフィスに入ると、壁には大きく会社ロゴが!

Faber Vietnam プロダクトロゴ
ミエルカシリーズの全プロダクトロゴも飾ってあります

メンバー紹介も近々投稿しますので、ご期待ください!

1日目

メンバーとの顔合わせ

5年ぶりということで、全メンバーの席を回って顔合わせ (と熱いハグ 🫂) をしました。 初めて対面で会うメンバーもいれば久しぶりに会うメンバーもいて、話が弾んだり、改めて英語の壁にぶつかったり ...
日頃から一緒に仕事はしていましたが、オフラインのコミュニケーションも大切だなと早速感じました。

リーダーと一緒に組織課題を話し合う

Faber Companyの事業が成長するにつれ、Faber Vietnamにも多くのメンバーが新しく参加してくれました。しかし、メンバー構成がどんどん変わっていく中、あまり組織構成自体は変わっていないのが現状 ...
そこで、今後 10 年の成長を支えられる開発組織に進化するべく、現状の課題と解決案についてリーダーと膝を突き合わせて議論!日頃からオンラインでも話しているものの、オフラインだとボディランゲージや目線などの非言語的コミュニケーションも伝わりやすく、熱い議論になりました。

話し合った内容の一例を紹介します↓

  • べンチャーの機動力を残しつつ、より多くの成果と高いサービス品質を維持、向上する方法
  • 組織構成の変革と文化づくりを通して、堅牢さと柔軟さをどう底上げしていくか
  • ひと月前に発足した、プロダクト横断型の調査チームの効果 (こちらも機会があれば紹介します)
  • その他、日頃抱えている課題の共有 (ベトナム側と日本側での情報格差、ドキュメントの重要性への認識合わせ、メンバーの教育体制、など)

そして、夜は …

🎉🎉🎉🎉 パーティー 🎉🎉🎉🎉
出張の 1 ヵ月ほど前から勉強していたベトナム語も交えながら話す中で、仕事だけでは得られない 💪🏻💪🏻圧倒的フレンドリーシップ💪🏻💪🏻 を感じました。

Faber Vietnam 夜のパーティ
ベトナム支社のみんなが参加してくれました

Faber Vietnam 小集合写真
みんな陽気でフレンドリーな性格です
Faber Vietnam ホアンさん
こちらは開発リーダーのホアンさん。ミエルカSEO開発初期メンバーで、もう10年近くミエルカと過ごしています。

2日目

メンバーとのペアワーク

1日目の話し合いの中で「もっとベトナムと日本の連携を増やしていこう」というネクストアクションが挙がりましたので、「鉄は熱いうちに打て」ということで、2日目はさっそくメンバーとの時間を作ることにしました。
今まではなかなか実施できていなかったペアコーディングやレビューをはじめ、「この機能はどういう背景で作ることが決まったのか」「これによってユーザはどのような価値を得られるのか」など、日頃ベトナムメンバーが接することの少ない、ユーザや他部署のメンバーの話も織り交ぜながら一緒に作業しました。

この日は午後にお客様からフィードバックを受け取るミーティングがあり、私はそちらに参加していましたが、その中で受け取ったご意見を即座にメンバーに伝え、いつもは距離が遠いユーザを身近に感じてもらう取り組みにも挑戦してみました。

改めて、ベトナムリーダーから期待を受け取る

1日目の話し合いの中で「組織課題に対して全力でコミットする役割 (VPoEなのかEMなのか...)を置くことで、他メンバーが今よりも技術に集中できる体制を作ろう」というものがありました。そのうえで、リーダーから私に「そのポジションを担ってくれ」という期待の言葉をもらい、改めて自分自身の役割や立場を見直す必要性と、やるしかない!という決意を持ちました。

今回の出張を振り返って

振り返ってみると、あっという間の2日間でした。ベトナムメンバーからも「次はもっと長くいてよ!」という声もいただき、嬉しかったです。

今回の出張では、組織の課題を集中的に議論し、課題に対しての共通認識を持つことができました。 あとはこの課題に対してどう解決していくかを考え、組織内外に提案、推進していくことが重要です。私も、そのポジションを担う役割として、今まで以上に脳に汗をかいていきたいと思います。

Faber Company は一緒に働く仲間を募集しています

株式会社Faber Company にご興味のある方は、採用サイトをご覧ください!

ある新卒エンジニアの一年間(前編)

はじめまして。Faber Company 開発運用チームでエンジニアをしている菅原です。

2023年4月に入社し、無事に一年目を乗り越えたところで、入社から一年間を前後編で振り返ってみたいと思います。

Faber Company について

株式会社Faber Company(ファベルカンパニー)は、「辺境の知からマーケティング・ゼロを実現する」を使命として、企業のマーケティング生産性の向上を目指しています。

蓄積したマーケティングの知見を現場につなげるため、さまざまなサービスを展開しています。この記事では、コンテンツSEOを通して、企業メディアの成長を支援するオンラインツール「ミエルカSEO」を取り上げます。

ミエルカSEOの開発は、日本の Faber Company とベトナムにある子会社 Faber Vietnam Co. Ltd とで行われています。Faber Company で働くエンジニアは、ベトナムのメンバーと直接英語でやりとりしながらプロダクトの開発・運用を行っています。


内定~インターンシップ

Faber Company からは 2021年2月末ごろに、2023年4月入社で内定をいただきました。入社までの間、2022年6月頃からインターンシップとして勤務をはじめました。

ミエルカSEO 管理画面の改善

インターンシップ開始後、一番最初の仕事になったのがミエルカSEOの社内向け管理画面の改善です。この管理画面は社内のカスタマーサポートチーム(以下、CSサポート)が使うもので、アカウント発行や契約更新などの機能があります。

アカウント一覧画面の高速化

ミエルカSEOには、他サービス由来のものも含めて、累計数万オーダーのアカウントが登録されています。 開発当初、アカウント件数がここまで増えることは想定していなかったようで、アカウント一覧の表示に15分以上(!)の時間がかかっていました。

調査してみたところ、データベースから全件分の情報をダウンロードしたあと、フロントエンドで検索をかける仕組みになっており、データ転送と巨大な JSON のパースに大抵の時間を使っていることがわかりました。

アカウント情報を返却するエンドポイントにページング機能を導入し、表示するのに必要な情報だけを転送するようにすることで、読み込み時間を2~3秒に短縮し、大幅な高速化に成功しました。

業務を担当するCSサポートのメンバーからは、「体感で40倍以上くらい早くなった気がします!」とフィードバックをいただきました。

Slack メッセージのスクリーンショット

契約更新作業の簡略化

ミエルカSEOの契約は基本的に1年更新です。契約更新のタイミングでCSサポートチームが手動で管理画面を操作し、アカウント情報を更新することになっていました。 ところがこの情報更新画面では、契約期間が1ヶ月単位でしか移動できず、そのうえキーボードからの入力もできなかったため、1年の更新のために12回ボタンを押す必要がありました。

この問題を解消するため、jQuery プラグインで実現されていた契約期間の入力を Web 標準の input[type="date"] に置き換え、さらに半年・1年後の日付を自動計算するボタンを追加しました。

コード品質指標の計測

管理画面の改善を行っていく中で、コードのリファクタリングが十分に行われておらず、負債の蓄積によって変更速度が落ちてしまっていることに気がつきました。

社内でコードの品質を追跡する仕組みがなく、開発チームのエンジニアも現在地を把握できなくなっているのが大きな原因となっており、リファクタリングの必要性を経営陣に説明できない状況でした。

そこで、まずは開発チームが自発的に課題に対処できるようにするため、指標の計測を始めました。

初めに CSpell を使ってコード中のスペルミスを探したところ、4万件以上がひっかかり、それからコードの修正と辞書の整備を全員で少しずつ続けています。 現在は9000件を切るところまで改善しています。


入社

2023年4月に正社員として入社した後は、引き続き社内画面の改善を行う傍ら、CSサポートからの不具合報告に対応する業務に入りました。 おもにサポート依頼の翻訳と初期調査を行って、スムーズにベトナムメンバーに引き継げるようにしていました。詳しくは後編でとりあげます。

入社後も画面の高速化や、セキュリティ関係のアップデートなど、メイン機能以外で塩漬けにされてきた技術課題の解消に取り組んでいました。

「××を作りました!」という目立つリリースを打てるわけではありませんが、10年弱にわたって蓄積されてきた課題をソースコードを紐解きながら解消していくのは、なかなか楽しい仕事です。

そしてスクラム

2023年6月頃、メインの機能開発を行っているスクラムチームに合流し、7月からスクラムマスターになりました。

別の会社ですでにスクラム開発を経験しており、スクラムフレームワーク自体にはなじみがありましたが、ベトナムのメンバーと一緒にスクラムで開発していくのには独特の難しさがあります(今も毎日のように悩みながら進んでいます)。

この話題だけでひと記事書けるくらいのボリュームがあるので、また別の機会に公開したいと思います。

ベトナム出張

初年度は9月と12月、2度のベトナム出張がありました。一度目は Faber Vietnam の社員旅行に、二度目は実際の開発業務に参加しました。

スクラムの状況を直接見たり、動かなくなったCIをその場で協力して直したり、日本からでは見えていなかった開発現場の状況が見られたのは大きな収穫になりました。

社員旅行では海水浴もできました🙂


ふりかえって

学生の頃の個人開発では、運用視点を培うことはなかなかできません。

現場からあがってくるリアルな要望に応えていくかたわら、ソースコードの品質を見ていくことで、長期間にわたってプロダクトを運用していくと何が起こるのかを俯瞰できる経験になりました。

後編では、こうして見つかってきた課題にどうやって取り組んでいくか、重ねてきた試行錯誤をお伝えできればと思います。

Faber Company は一緒に働く仲間を募集しています

株式会社Faber Company にご興味のある方は、採用サイトをご覧ください!

www.fabercompany.co.jp