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

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

マネジメント系

  • エンジニア育成
    • Golang 関連のカリキュラムを一通り終えました。
    • 下旬からネットワーク関係でマスタリングTCP/IPを読みすすめるというカリキュラムを設定して実施中です。
  • ソフトウェア検証関連
    • 日々の施策の QA 業務の隙間で自動化系ツールの検証を進めています。
      • mabl はちょっと期待値より難しそうでした。
      • 下旬から Autify を検証中です。
  • 中長期
    • 先月に引き続き、合間でこれまでの数ヶ月のふりかえりを資料にするなどしていました。
    • 11 月に発表することになるかとおもいます。
  • TechLead 業務
    • ひきつづき各エンジニアの成果物のレビューや、設計方針の相談・レビューなどに多くの時間を使っています。

プレイヤー系

  • 検索関連
    • EC 側画面へのインテグレーションを概ね完了しました。
      • asset-manifest.json を読み込んでいいかんじにパスを解決しつつ CDN/Local から JS/CSS をロードする gem の修正をしつつ、EC 側への組み込みを完了しました。
      • 以前実装していた FeatureFlag の仕組みを利用して、特定環境でのみ検索の UI が表示されるようにしました。
      • CRA ベースの Eject していない React の Bundled JS を MPA として出し分けたり動的に表示させたりする仕組みを作って組み込んでいます。
      • 開発初期のころに仮実装した上記の Bundled JS/CSS を EC 側に組み込んで Tailwind の調整などしていたおかげで、今回のタイミングで大きな問題がでることなく EC 側にスムーズに組み込みが完了したのはよかったなと思っています。
    • CF + S3 で上記の Bundled JS 等アセットの配信をする想定ですが、 CDK がまだ S3 OAC に対応していないので少々まっているところです。
      • リリースまでに間に合わなそうであれば、一時的に作っている現環境のままリリースしちゃおうとおもっています。
    • M1 Mac への移行後、初めて x86_64 と amd64 が混ざる環境で Docker ビルドして、これまで踏み抜いていなかったアーキテクチャが混在する問題を踏み抜きました。
      • Docker ビルドを実施する環境(Github Actions (=x86_64)) と Lambda の実行環境指定(=amd64) を混ぜて全く動かなくなって気づきました。
      • 結局 Github Actions の Self hosted runner で ARM 環境を用意するか、buildx をがんばるか、など選択肢はありましたが、今回は x86_64 で統一することで対応としました。
        • そのうち ARM ビルド用の Self hosted runner を用意するのもいいかもな〜とか考えていますが、Github がなんとかしてくれるような気もしているのでそれも待つということで。
    • API Gateway + Lambda 部分のリリースに向けた細かい修正、調整をおこないました。
      • パフォーマンス面やログ、エラー、モニタリング、CDK、Dockerfile などの修正です。
      • リリース前にやってしまったほうがいい、アプリケーション部分の細かいリファクタリングやテストも実施しました。
    • ビジネスサイドのメンバーと、現状の実装ベースで実際にさわってみてレビューする会を実施しました。
      • この会でリリースに向けた課題の洗い出しをおこないました。
      • 比較的温度感の高いプロジェクトという位置づけになっており、できるだけはやくリリースすることを前提に残課題のフィルタリングを行ったりもしました。
        • 現行サービスが抱えている「商品カテゴリ間の認知が薄い」という課題への打ち手として、というところがはやめリリースの理由になっています。
    • 検索エンジン(Elasticsearch)とそのフロントの API サーバーの Production 環境むけの残作業についてなどのミーティングも実施しました。
  • Developer Productivity Engineering 関連
    • Google Drive 等の認可に使用していた OOB フローというもの(今回初めてこの仕組みを知りました)が Deprecated になった影響で、Rails アプリケーションから Google Drive 等へのアクセスが完全にできなくなるという問題が急遽発生し、その対応に追われていました。
      • こちらは他メンバーの対応になります。ぼくはいくつかアドバイスなどしただけ。
      • 今回は通常の OAuth2 code フロー にすることで急場をしのぎました。
        • 現状は、共通 Google アカウントでログインさせる必要があって運用がめんどくさくなっている状態です。
      • 本来であれば サービスアカウント を使用するのが正しいイメージかなというところなので、こちらは後続で対応する予定にしています。
      • なお、本質的な課題感として、そもそも OOB フローの Deprecated 日程に気づけていないというのが一番問題だったというところの打ち手として、Google エッセンシャルコンタクト を設定するようにしました。
        • これで今後はこのような問題に気付けるようになると考えております。

おわり