Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ONE CAREER にあえて残している技術的負債の紹介/ Introduction of t...

ONE CAREER にあえて残している技術的負債の紹介/ Introduction of technical debt that we dare to leave in ONE CAREER

「TechBrew in 東京 〜技術的負債と共に歩むプロダクトの成長〜」でLTをした際の資料。
「ONE CAREER にあえて残している技術的負債の紹介」というタイトルで発表しました。

イベントURL:
https://findy.connpass.com/event/306451/

ワンキャリアTech

January 25, 2024
Tweet

More Decks by ワンキャリアTech

Other Decks in Technology

Transcript

  1. ⼭⼝ 拓弥(@yamat47) 名前・X 株式会社ワンキャリア 所属 Senior EM / PdM for

    ONE CAREER 役割 得意なこと Ruby on Rails / 開発プロセス改善 今思っていること 美味しいビールで酔いはじめてます 2
  2. Copyright © ONE CAREER Inc. これまで可視化されていなかった「キャリアデータ」を活用し、就職・採用の意思決定を サポート サービスと開発の歴史 人事向け採用クラウド HRアワード2020

    人材採用・雇用部門1 最優秀賞 中途採用メディア 以上 4000件 転職体験談 社員クチコミ 2万件 以上 新卒採用メディア 学生の利用率/ 使いやすさ2 1位 学生が最も 利用した 就職サイト3 2位 1. 日本の人事部「HRアワード2020」にてプロフェッショナル部門(人材採用・雇用部門)で最優秀賞を受賞。 2. NewsPicks発表「【図解】20サービスを徹底比較。本当に役立つ「就活サイト」一覧より。 3. ProFuture株式会社/HR総研「HR総研×楽天みん就:2022年卒学生の就職活動動向調(6月)結果報告【就職活動編】」(https://www.hrpro.co.jp/research_detail.php?r_no=311)より。
  3. Copyright © ONE CAREER Inc. 6 ONE CAREER に あえて

    のこしている 技術的負債の紹介
  4. Copyright © ONE CAREER Inc. 10 ONE CAREER に あえて

    のこしている 技術的負債の紹介
  5. Copyright © ONE CAREER Inc. TechBrew in 東京 - ONE

    CAREER にあえて残している技術的負債の紹介 負債 ①︓スロークエリが原因で遅い API エンドポイントを あえて そのままにしている 11 API のとあるエンドポイントでスロークエリが観測された。 Datadog を使ってパフォーマンスを調べてみると、確かに p99 で 4036.4 ms と⾮常に悪い状態だった。 起きている事象 パフォーマンスが悪くなる条件が⾮常に稀(⾮常に古くから登録 しているユーザーのみ)だった。 またレスポンスが悪いときに、それがユーザー体験やプロダクト KPI に与える悪影響が⼩さかった。 影響が⼩さいなら、負債解消をするのは後回しにしよう︕ 「あえて」の理由
  6. Copyright © ONE CAREER Inc. TechBrew in 東京 - ONE

    CAREER にあえて残している技術的負債の紹介 負債 ②︓使っていない I18n のキーが⼤量に残っているのを あえて そのままにしている 12 Rails の I18n の仕組みとして CopyTuner (※) を利⽤している。 翻訳のための辞書に登録されているものに、実際にアプリケーシ ョンで呼び出していないものが⼤量に残っていた。 起きている事象 CopyTuner の利⽤をやめて、Rails 標準の I18n の仕組みにリプ レイスを予定している(絶賛対応中)。 移⾏を完了したのちに、glebm/i18n-tasks を使って辞書ファイル の棚卸しを⼀気に実施する想定。 使⽤技術を置き換えるのを待ってから、負債を解消しよう︕ 「あえて」の理由 ※ CopyTuner … Sonic Garden 社が運⽤しているサービス。辞書データを Web 上で更新 してすぐに反映できるのが特徴。
  7. Copyright © ONE CAREER Inc. 認証基盤を置き換えるプロジェクトに今年着⼿予定。 移⾏をしたのちに、ワンタイムトークンの実装などより安定した 認証⽅法にあわせて移⾏する。 ⼤元の仕組みを置き換えるのを待ってから、負債を解消しよう︕ React

    Native の HTTP クライアントとして axios を使っている。 ユーザー認証として Cookie を使っているがこの認証⽅法が不安定 で、ワークアラウンドを⼊れて無理やり使っている。 (100 ms 待ってリトライという処理をしています...) TechBrew in 東京 - ONE CAREER にあえて残している技術的負債の紹介 負債 ③︓相性の悪い React Native - axios(Cookie 認証)の組み合わせを あえて 使いつづけている 13 起きている事象 「あえて」の理由 https://github.com/facebook/react-native/issues/38025
  8. Copyright © ONE CAREER Inc. TechBrew in 東京 - ONE

    CAREER にあえて残している技術的負債の紹介 負債 ④︓関連しないドメインがモノリシックに実装されているが あえて そのままにしている 14 詳しくはこちら︓https://logmi.jp/tech/articles/329876 10 年以上開発される中で機能が増えたが、いまだにモノリシック な構成のまま開発を続けている。 変更の影響範囲の特定が⽇に⽇に難しくなっている。 起きている事象 しばらくは新機能の開発が多く、苦しむ場⾯が少なそうだった。 解消に動く投資をする上でのリターンが⼩さい状態。 知⾒のあるメンバーもほとんどおらず、今着⼿するにはリターン と⽐べてリスクがとても⼤きい状態。 リターンが⼤きくなってくるまでに、実験して知⾒を貯めよう︕ 「あえて」の理由
  9. Copyright © ONE CAREER Inc. 15 ONE CAREER に あえて

    のこしている 技術的負債の紹介
  10. Copyright © ONE CAREER Inc. 16 ONE CAREER に あえて

    のこしている 技術的負債の紹介 で解消した
  11. 1 Copyright © ONE CAREER Inc. 2 3 17 TechBrew

    in 東京 - ONE CAREER にあえて残している技術的負債の紹介 ONE CAREER で解消した技術的負債の紹介 in 2023 CI / CD の拡充 パフォーマンスの 最適化 開発者体験の向上 • 静的型解析(tsc)の導⼊、型エラーの解消 • 落ちていても無視されていた⾃動テスト・リンターの復活 • Blue - Green Deployment、Feature Flag • ユーザー影響が⼤きかったスロークエリの解消 • KVS を使ったクエリ結果のキャッシング • ファーストビューから外れた要素の遅延レンダリング • 起動できなかった docker-compose.yml の調整 • E2E テスト(Capybara)の実⾏環境の準備 on ローカルマシン • Ruby, Rails, Node, Vue, Nuxt などのアップデート