2022年1月のふりかえりです。 引き続き B 社(週5日)にて Rails 製の EC サイトの開発業務と Engineering Manager / Scrum Master 業務に携わっています。

1 月はマネジメント 5 割、プレイヤー 5 割といった割合で対応していました。

マネジメント系

  • 成果物の品質向上に向けた動き
    • 引き続きクオリティを安定・底上げするためのガイドラインを追加していっています。
    • 1 月は大規模 Rails のガイドラインの改定をいくつか行いました。
  • 採用活動
    • 1 月から副業ジョインしていただいたエンジニア 1 名のオンボを行いました。
  • 中長期計画策定
    • 文書記載までだいたい終わっています。
    • やはり物量に押されてあまり進捗がなく、継続案件がならぶ感じになっています。
    • 一方で○○基盤みたいな切り出しが少し進んでいるイメージになっています。
  • ソフトウェア検証の外部委託関連
    • 1月に再度決済判断ということになっていましたが、結論としては発注可能になりました。本当に良かった。
    • 先方と再開のミーティングを実施しました。
    • 4月頃から開始予定で着地しています。
  • エンジニア育成
    • 引き続き成長を感じることができるイメージで進捗しています。すばらしい。ありがとう。

プレイヤー系

  • フロントエンド関連
    • 引き続き Webpack 側のコードででているワーニングを消していく作業をしています。
    • 先月 Sentry の JS 版を全フロントエンド環境に適用してエラー推移をモニタリングできるようにしましたが、エラー数が多すぎて Volume Quota を超えるようになっていたため、エラー数を削減するためにフィルタをいれたり契約的に上限Upしたりしていました。
  • 検索関連
    • 検索システム側は順調に進捗しています(他メンバーが対応しています)
    • 検索インデックス構築で利用する、ランキングデータを生成する処理の設計・実装を行っています。
      • AWS Lambda + S3 Put Event + Aurora + Golang な実行環境です。
        • 久しぶりに Golang 書いてますがイディオムをすべて忘れ去ってて人間の忘却力すごいなとおもいました。
      • AWS CDK を使い始めています。VPC 内で Lambda を動かすことになるのでそのインフラまわりのセットアップを行いました。(共通部分を他メンバーに対応してもらいました、感謝)
      • アプリケーション部分の実装は一通り終わっていて、残りはインフラ周りと CI/CD の構築周りという状況になっています。
  • 画像配信関連
    • 以前行っていた作業の続きで、Imgix 導入初期の頃に対応した WebFolder という機能を使っているものがあり、こちらの撤去作業を粛々と行っています。
      • どこから参照されているかわからない画像があるので CDN Log を参照しながら撤去していっています。
  • Audit Logging
    • 10 月頃に追加した paper_trail のテーブルを ALL クエリするような機能が Slow Query を出し続けるようになってきたので(想定通り)そちらの暫定対応について検討しました。
    • また、以前からあと1年くらいで paper_trail をやめて Trail 基盤として作り直す必要がある認識だったため、こちらの事前検討も行いました。
      • MySQL をやめて、Logging + BigQuery な基盤にする予定としました。
      • 以下のような要件があるためデータストアを BQ にするのがよさそうと結論づけました。
        • 7 年以上のデータ保持
        • 量および速度が向上し続ける Write という特性
        • データストアに保持したい項目が共通項目 + 共通じゃない要件毎の項目という特性(Dynamo を諦めた理由)
        • Read は速いほうがいいが、それなりの速度がでれば UI の工夫でなんとかなる
  • Developer Productivity Engineering 的活動
    • Docker Desktop の契約を行いました。
    • 筋のわるい Bot を WAF で BLOCK するように徐々に設定強化しています。
      • マーケ的価値のない Bot のせいで無駄に CPU 使ってしまっているので(システム作りが悪いだけでもあるのですが…) BLOCK していっています。
    • 障害対応および母の日対応の観点で、キャッシュキーの設計・実装を見直しました。
      • キャッシュキーに広告系パラメータを含む可能性があった実装について、実装を共通化しつつ、共通フィルタリングとして切り出して一貫性をもたせるようにしました。
        • キャッシュヒットレートが向上しておりちゃんと効果がありました。平均で 30% ほど EC 面の rps が向上しました。

おわり