Urge Of Side Projects At Work

仕事を真面目にやり、社内 Python インフラの流儀がちょっとづつわかってきた結果、色々と自動化したりちょっとした Web UI をつけたりしたいものが増えてきた。しかしまったく手を出す余裕がない。フラストレーション大。

皮肉なことだが、むかし相対的に(おそらく絶対的にも)ヒマだった時期は、仕事のツールとかでなにか本業以外に書くコードないかなーと探していたものだった。しかしあまりなかった。

一つには仕事がたいしたことなかったから。そして、プロジェクトの他の人もそれなりにヒマだったので草の根ツールがいっぱい書かれていたからでもある。

プロジェクトに繁閑の波があるのは仕方ないが、年に一回出荷するモデルだと閑が足りない。デバイスや OS を出した後はすぐ次のバージョンの計画が始まるし、それ以前になんだかんだで火消しがある。まったく余裕がない。

たとえば自分はいまある種の automation をやっている。こうしたインフラっぽい仕事は、アプリのリリースとは理論的にはまったく紐付いていない。しかしチームのリリースプロセスの都合でアプリのリリースにあわせてタスクをトリアージしたりしないといけない。無駄なストレスがある。そして現実問題、皆がリリースに向けて作業している世界だとインフラだけ timeless とはいかないよね。そのインフラの受益者がリリースに縛られているから。


書いていて改めて思うに、自分はこの「特定のリリースに向けてチーム一丸となって進む」というモデルが根本的に間違っている、というと強すぎるけれども、嫌いなのだな。

各プロジェクトが自分のサイクルで仕事を進める。製品は時を超えた存在で、各リリースは単なる器。この方がモダンだし、色々都合良いことが知られている。その行き着いた先が continuous delivery なわけだ。モバイルの時代になって事情は少し変化したけれども、やっぱり月に一回くらいは出ていってくれないと厳しくね?

しかしこれは年に一回デバイスが出ていく世界とは根本的に相性が悪い。自分はついデバイスが出ていく、と書いてしまうけれども、たぶん感覚的には「出ていく」ではなく「出す」なのだよな。この違いが価値観のギャップを伝えている。勝手に起こるリリースと苦難の果てのリリース。

まあ OS とかデバイスが苦しむのは仕方ないのかもしれないが、上に乗ってるアプリはもうちょっと労なく出て行かせてほしい。しかし今のチームの製品は表面的には APK だけど限りなくデバイスの一機能であってアプリってかんじじゃないね。

この話は過去に何度も書いている気がするけれども、自分の主要な painpoint なのでやむなし。