読者です 読者をやめる 読者になる 読者になる

歩いたら休め

If the implementation is easy to explain, it may be a good idea.

【雑記】森を見てから木を見るようにしたい

ここ最近、社内の分析環境のデータソースの移行(の一部)を担当してたのですが、 いろいろな要因が絡み合ってかなり遅くなってしまいました。 なんとか完了できたのですが、まだ一部データの検証ができていない部分があって、対応中の部分があります…。

いろいろ良くなかった点がありましたが、まとめると、

  1. 何のために移行するのか、部署のプロジェクト全体に対する位置付けみたいなものが把握できていなかった。
  2. 移行元の実装が思ったより邪悪だった。
  3. 慣れない言語(Ruby + RSpec)で、思ったより実装に時間がかかってしまった。
  4. 関連部署のエンジニアになぜか非協力的な人がいて、突然わけわからないことを言い始めることが多々あった。

まず、1.に関して、(部署異動した後に)最初に部署で目指していることのキャッチアップがうまくできていなかったという話です。

最初SQLクエリやバッチ処理のコードを渡され、 「これと同じものをGoogle BigQueryに入れるよ」「この部署の人が関わるから、話を聞いておいて」みたいに振られたこともあり、 その部分のコードはしっかり見ていたのですが、逆に部署のプロジェクト全体に対する位置付けみたいなことを理解できてなかったなあと思います。 そのため、他部署の先輩に 「これこれこういう理由で移行しようとしていて、ここから先の部分は実装お願いします!」という感じで、 スムーズに依頼することができませんでした。

最初に一旦30分くらい時間をとって 「全体ではこういうことが目標にされてて、ここの部分を担当してもらいます」 と先輩に説明してもらう時間を取るべきでした。 実際、学生自体のアルバイト先(WEBマーケの会社)ではそうしており、その点スムーズだった覚えがあります。 質問すれば快く教えてもらえるのですが、 (実装レベルではよかったのですが)分からない点が網羅できず、細かい点からいちいち質問する他無かったので効率が悪かった気がします。 後輩が入ってきたときにはそうします。

2.については、 そのため「移行先の実装でおかしい部分は無さそうなのに、なぜか数字が合わない → 実は移行前の実装の〇〇の部分が更新されていなかった」 ということが何度かあり、憔悴しました。

なぜか一部のデータがRを使ってExcelに吐き出して社内で共有されており、 実装部分がよく分かってない方から「このデータもお願いします」と頼まれて、 利用されている値を追って再現するのが思ったより大変でした。

ただ、おかげでRのdplyrやRPostgreSQL、RMySQLなどを駆使して(検証のために)集計する速度は上がった気がします。 RとHadley Wickhamがいなければ今頃も死んでいたと思います。 RとHadley Wickhamに圧倒的感謝🙏😃🙏

3.に関しては↑に時間を取られ、言語自体を勉強する余裕が持てなかったことが原因かなあと思います。 Rubyの実装自体は楽しかったです。 先輩の過去のコードを参考にできたし、(テストコードで詰まっていただけで)大した量じゃなかったので今後も多少苦労する点は出てきそうですが。

4.に関して書くと愚痴っぽくなっちゃうので書きません。 あの野郎、自分は無断欠勤するくせにおれには説教しやがって…。 対策としては、誰にでも見える形で議事録を取っておいて、 担当部分を明示するようということと、 きちんと全体を理解して「全体ではこういう構成になってて、ここまでは自分がやるのでここから先の部分は実装お願いします!」 と言えるようになっておくようにします。

去年こういうことを書きましたが、

kiito.hatenablog.com

正直あんまり成長できてないなと感じます。早く次に行って結果を残したい…なんとかしないといけないです…。