2024年11月のふりかえりです。 引き続き B 社(月1日程度)、G 社(週5日)に関わらせていただいております。

B 社

引き続き、基本的に日中作業はおこなわず、対応が必要になった際に都度作業する方針で関わっております。

  • TechLead 業務
    • ひきつづき各エンジニアの成果物のレビューや、設計方針の相談・レビューなどに時間を使っています。
  • AWS コスト削減をサービス提供しているスタートアップを紹介いただいたので、もろもろのやりとりや、先方の作業者の方による我々のAWS環境の解析結果を受けての相談会などを何度か実施しました。
    • 我々の環境が今どきではないので理解しづらいところがあるようで、若干時間がかかってしまっているのかなというところがあります(申し訳ない)。

G 社

11 月は以下のような活動を行っていました。 PM 業務を 3 割くらい、Software Engineer 業務は 7 割くらいという割合で対応していました。

11月は以下のデータの同期ができるようになり、DWH に蓄積しはじめています。データソースは BQ, Sheets あたりになります。ETL しつつ必要な情報に加工しつつ同期するようにしています。

  • 生産計画データの同期
  • 顧客からの注文に関する情報の同期
  • 生産時の検査データの同期
  • 部品在庫データの同期

他、以下のような機能等の提供がはじまりました。

  • 部品名称から部品番号を検索したい話
    • BQ の SEARCH() 関数を使ってある程度曖昧な文字列で検索できるようになりましたが、人々が検索(=全文検索)に期待する挙動にはちょっと遠いなぁという感じです。
    • まだユースケースが確立していない(できたらいいな〜と言われて入るが…)状況なので、本当に必要になってきたら Elasticsearch など立てる方向になるかなと思っております。(先に MySQL でもトライするかも…)
  • シリアル番号の親子関係をキャッシュする話
    • 製造時に Sub Assy だったり重要部品だったりのトレーサビリティ観点でそれぞれのシリアルを取得して蓄積するシステムを運用しています(EMSが運用、このシステムのDBを我々のシステムのDBと同期している構成です)。
    • このシリアル群も親子関係を持つため、これを親子関係込みで SQL で検索する機能を提供しています。
    • 従来は実行時に木構造を再現してから検索する挙動だったので遅かったのですが、木構造の情報を BQ にキャッシュしておくことで高速化する仕組みに変更しました。
  • 製造完了後の梱包時のログ
    • 梱包時にいわゆる三点照合を行っているのですが、この照合のログがこれまでは取れていなかったのでやったのかやってないのかわからないという状況でした。
    • 上記のシリアル取得のシステムでこの三点照合のログも取るようになったのをうけて、このログを BQ に格納して Redash 等で一括検索できるように仕立てました。
  • 外部の PDM サービスの死活監視
    • Duro という PDM サービスを利用していますが、このサービスは品質が不安定なところがあり、しばしばサーバーダウンしていたりします。サーバーダウン時に「なんかDuroが動かないようだ」という問い合わせが我々のチームに着信することになるのでなにかできることはないだろうかと以前より考えていました。
    • 一旦の対策として Duro API サーバーを監視し、アクティブに状況把握できるようにすることで社内の問い合わせコストを削減しようという試みを始めました。
    • なお実装としては AWS Synthetics を使うようにしてみました。
  • AWS => BQ への API 呼び出しなどで先月 Workload Identity を使うようにしましたが、先月記載した制約がやっぱり重すぎるよねということで、SA キーを使う方式に戻しました。

おわり