出戻り

今年のはじめから新しいチームに異動して働いていたのだが、仕事が肌に合わず進捗もはかどらず、すっかり意気消沈していた。

現実逃避に社内求人を眺めると、自分のもといたチームの穴埋め求人がまだ残っていた。一年近く経つのに埋まらなかったらしい。ポストレイオフで不景気な御時世に珍しい。

これも縁かと元上司に連絡し「新しいチームいまいちあわなかったんで帰ってもいいですか」と訊くと「いいよ」という。お言葉に甘え、すごすご出戻ることにした。

出戻りとかカッコ悪いし最後の手段だと昔は思っていたが、かつて出戻り先だと思っていた居場所も次々と顔の効く権力者がいなくなってしまい戻ろうにも道を失なった過去がある。今回は場所があるうちに帰ってみたい。


今いるチームに異動した動機の一つとして、大規模インターネットサービスを運用する巨大組織で仕事をしてみたい目論見があった。今後社内で異動するにせよ「大企業の方から来ました」という風で転職するにせよ、インターネットウェイ・大企業ウェイを知っておく価値はありそうでしょう。

ただやってみると、インターネット企業の開発方式も巨大チームの流儀も肌に合わなかった。

インターネット企業のやりかた: めちゃ真面目にメトリクスを集め、全てに A/B テスト (Experiment と呼ぶ) をして数字を壊すものは launch できない。iOS と Android の機能パリティを実現するためアーキテクチャ上で多大な投資をしている。めちゃ継続的にリリースする。とかそういうの。立派だし正しいと思うけれど、特に好きではないことがわかった。

たとえば: クロスプラットフォーム対応のいろいろな頑張りを見ると「かったりー」とか思ってしまう。必要だし正しいのはわかっているけど、Android ネイティブ生活が長すぎたせいか反射的に白ける。PM も UX もふつーに iPhone を使っていて、なにかと iPhone の画面に基づいて話をするのを見て舌打ちしそうになる。俺のコードはそこでは一ミリも動いてねーんだよ、みたいな。いいがかりなんだけど。いい人たちなんだけど。

Experiment のノウハウやデータのインフラはすごく出来が良く、人々の習熟度も高く、すごく勉強になった。一方、メトリクスの解釈や保守にかかる手間や労力を見ていると、やはりかったるさが頭をもたげてしまう。いや、データで客観的に判断するのが大事なのわかってるんですよ。でもさ・・・もうちょっと雑じゃだめ・・・?(だめです。)

自動テストがきちんとしていて、モバイルアプリとは思えない頻度でリリースをしているのは、純粋にえらいし、よかった。しかもユーザがめちゃいっぱいいるので experiment すると微小な性能低下も確実に補足できる。また人々の experiment 習熟度が高いので、少しでも不安のある変更はバグ修正ふくめぜんぶフラグの裏にある。だから仮に rollout 中に怪しい挙動をみつけたらコードを rollback するまでもなくフラグを倒すだけで問題が消え rollout を続行できる。すごい。こりゃうっかり遅くなったり壊れたりしないわけだわ。このへんは純粋に感動する一方、もう完成していてやることない感もあった。いや、やることあるんですけど。沢山。

巨大組織のやりかた: 機能開発からインフラまでを組織内で持っていて、いろいろ充実している、かわりに業務の細分化が進んでいる。プロセスやコミュニケーションパスがきっちり定義されている。PGM (Program Manager) が存在感を発揮している。

プロセスが整っているのは、悪い言い方をすれば官僚的ということだけど、それが間違っているとは言えない。デカい製品を Keep The Light On しておくにプロセスは必要なのではないか。プロセスに従わないと何も進まないが、プロセスを守ると物事はわりかしスムーズ。チーム間の意見の違いによる衝突とかも、エスカレーションの順序がきちんと定義されていて、そうやってエスカレートした先で偉い人が下す調停は、そこそこロジカルに見える。ちゃんとしてんなーといちいち感心する。

一方、こういう洗練されたプロセスや組織運営の知識・スキルの普遍性には以前より懐疑的になった。こういう洗練された頭の切れるマネジメントというのは巨大組織だから必要なのであって、巨大でないなら別にいらなくね?自分が前にいた(これから出戻る)チームはプロセスの整備が進まず苦労していたけれど、とはいえこの巨大組織の一割くらい官僚成分を sprinkle すれば十分足りそうに思える。

むかし You Are Not Google と言って大げさな big data スタックに水を差した人がいたけ。プロセスや組織デザインにも同じところがあるのではないか。つまり、でかくなるまでは洗練されなくてよい。BigTable も Dynamo もいらねーんだよ Postgres と Redis で文句あっか・・・みたいな。

自分は巨大組織の洗練されたプロセスはそんなに得意でも好きでもなかった。インターネット・サービスの流儀もそんなに好みじゃなかった。勤務先のメインストリームなのだから適応すべきだし適応できると思っていたが、そんな柔軟性は持ち合わせていなかった。あるいは歳のせいで失われていた。Continuous Delivery とかしなくていい。年に一回か二回、ヒーヒーいいながら電話機をバーンと出すくらいのリズムでいい。


今のチームに迷惑をかけてしまうのは申し訳ないと思う。チームメイトは温厚でパーソナリティもあり、楽しく話のできる very nice people. 上司も我がしょーもなさに嫌味を言ったりせず送り出してくれた。使えないおっさんでごめんなさいねほんと。でも使えない身でいる辛さがあるのですよ・・・。

我が身の社会性の欠如を脇におき利己的に見ると、出戻り枠が偶然残っていたおかげで結果的には良い経験になったと思う。勤務先のメインストリームの流儀を少しは体験できた。あと 1-2 年やれば理解が進むだろうとはおもうけれど、もういいです。出戻り枠も、ずっとあるわけではないだろうし。


勤務先のメインストリームには馴染めないことがわかった。もっというと、自分はインターネットサービスの中の人にはなれそうにない。電話機の中の人としての自分を受け入れるしかないだろう。そんな仕事は隣町の競合を別にするとほとんど残っていないので、転職の可能性もナシ。出戻り先のチームで働き続ける。やや残念。勤務先の景気の悪さを鑑みると不安でもある。

・・・はずだが、奇妙なことに不安より開放感が勝っている。もう異動や転職のことを考えなくていい。考えても無駄と諦めたから。かわりに目の前の仕事や、あとは趣味のことでも考えていればいい。気楽。

若かった頃、自分に恋愛や結婚はできそうにないから、そういう努力や心配はやめようと決めたときに感じた安堵を思い出す。できないことから降りるという救済。

レイオフの不安はあるけど、されたときに考えます。