Staff Engineer

最近の人事考課でチームの二人が Staff というレベルに promote された。自分のチームは TLM (TL+manager) になって下に人がつかないとえらくなれないと思っていたが、この二人はピンのまま出世。できたのか!まあ二人とも良い仕事をしている。一人はサーバサイドからきたひとで、ある時期からアプリのコードを書くのをやめてデータエンジニア仕事をするようになり、SQL を書きまくって野ざらしになっていた user stats の立て直しをほぼ一人でやってのけた。めちゃパイプライン持ってる。もう一人は TL"M" ではないがリサーチ部門のアルゴリズムや新機種のカメラ構成をアプリにインテグレートする仕事の TL. 事実上二人ぐらい引き連れている。

なにはともあれ頑張ればこのチームでも部下なしで出世できるのかと感心した。出世というのはチームの勢いとかも関係あるので、勢いあるうちに出世すべく遊んでないで仕事頑張ったほうがいいのかな・・・などと考えつつ Amazon をぶらぶら(悪癖)していたら Staff Engineer: Leadership beyond the management track という本が目についたので読んでみた。

Stripe とかで働いていたテック企業文化圏の著者。割とよく書けており、自分の知っている Staff のイメージに合致しつつ理解を深める役に立った。まず Staff というのがどういう仕事をしているかを俯瞰する章があり、そのあといかに Staff に出世するかの章があり、最後に著者知り合いの現役 Staff (Staff-plus) たちにインタビューしている。インタビューは数が多すぎてダレたが、ほかはそこそこ興味深く読めた。(根本的にダイヤモンド社的な本である点には目をぶつられたし。)

一方で, そんながんばってまで Staff になりたいのだろうかと改めて考えてしまった。

自分がなぜ Staff になりたいのかと考えると、大きな理由は二つある。一番の理由は金銭的なもの: 出世すれば給料があがる。Sony のミラーレスが買えるし家も買える、かもしれない、みたいな。付随的な理由としては人々から認められたいという見栄。つまり「カネと名声のため」みたいな話なわけで、プログラマとしてどうなんだそれは。オンナがないだけマシかもしれないが...

文中では、もうちょっと高尚(?)な動機としてたとえば重要な意思決定に関与したいとか、影響力の大きな仕事をしたいとか、チームや組織の成長や文化に寄与したいとか、そういうのが挙げられている。そういうの・・・あんまし興味ないね・・・。

興味ないというと言い過ぎだが、肩書を通じて仕事したくないじゃん?重要なコードを書けば自然と影響力が増えてしまうというものじゃん?ちがうの?著者は肩書によって呼ばれるミーティングもあるし、周りからの視線も変わるのだよ、と書いている。そうかもしらんけど、別にミーティング呼ばれなくていいですよ・・・そして視線も変わんなくていいですよ・・・こっちくんな・・・。

いまいる部署、ある時期から各種ミーティングの議事録がチームのリストに流れてくるようになった。そして最近も重要性の高そうな緊急プロジェクトのミーティング議事録が流れてきた。そこにはたしかにチームの Staff-plus たちが召喚され意思決定している。が、緊急度高すぎて近づきたくねー。しかも AI (action item) がひたすら stakeholder に話をして合意を得るだとか実際に実装する担当者を探すだとか、そんなのばっかり。やだよ・・・。この本にも "Present to executives" というセクションがあるけど、そんなの上司や PM に押し付けて逃げる以外にどうしろというんだ。

書籍は冒頭の章で 4 つの Staff archetypes を列挙している: TL, Architect, Solver, Right Hand. そしてそれぞれのありがちな一週間のカレンダー(時間割) みたいのが載っている。ミーティングだらけ。そしてこれは自分の知っている Staff-plus のカレンダーとよく似ている。つまり偉くなるとミーティングが増える。ミーティング以外もレビューとかが増える。コードを書く量は減る。でもコードを書かないと肌感覚がなくなってしまうので、無理やり重要じゃないコードを書いたりする。カレンダーに "coding" とかいってミーティング避けのエントリを入れたりしちゃう。そういう TL よくいえるよねー。大変そうだねー。週に4-5 回のミーティングで既にイヤさが上限に達しているわたくし、これ務まるのか。

閑話休題。

出世の章では "Staff-Projects" の重要性 (の真偽) を議論している。Staff-Projects というのはその人の Staff 力を示すような難しくてインパクトのあるプロジェクトで、そういうのを完遂してレジュメに載せることで出世審議会をパスできる、と信じられているもの。

著者は、Staff Project は very nice to have だが会社によっては必須でなく、チーム間の顔を繋ぎつつ意思決定に関与する glue work みたいな成果を評価される場合もあるとしている。そういうのは・・・あるかもしれないけどそこまでして出世してどうすんだ。部下のついてないマネージャみたいなもんじゃん。

Staff-plus は "leadership role" なのでチームを牽引する必要があり、コードよりは対人関係の能力が重要だという。だからそういう code-less な Staff もありうる。とはいえ個人的にはやりたくない仕事の集合に見える。一方で自分はいまなぜか窓口業務を評価されてしまっているので、下手に仕事をがんばるとそういう code-less 路線に近づいてしまう。やばい。コードを書かなければ!

ところでたまにやたらコードを書いてる Staff-plus とかいるけど、なんつうか、明らかに残業してるね。自分も独身若者だったらコード書きつつ出世の一つもしたいところだが、妻子あると課外活動とかできないのだった。ブログとか書いてますがそれはいいのかというと・・・残業に値する仕事というのはなかなかないということです。クビになりそうか、運命の天職か。後者でないのは残念だが、前者でないことへの感謝を強調したい。


Leadership はさておき、自分は日々の firefighting および procrastination に忙殺され (後者は忙殺じゃないですね) 「よく考えてインパクトのでかい成果を出す」というのに失敗しており、これはよくないなと改めて思った。出世はさておき、きちんとデザインして書いたものをバーンとキメないと、なんというか、面白くない。本来は余裕があるはずの年末年始前後も、結局 procrastination と distraction と poor judgement を積み重ねて何も成果を出せないまま過ごしてしまい、また丸腰で火消しに追われる季節に突入してしまった。本来は冬の間に武器を揃え、打ち寄せる火種を瞬殺できるようにしておかないといけなかった。

一年くらい前はそういう火消しインフラの整備とさらなる高速化とどちらを優先すべきか迷いがあったが、その後の経験や、この本のインパクトに関する議論などを照らし合わせ火消しインフラ整備をやる方が明らかに正しいと納得した。そういうインフラが出来てこのクソのような火消しの日々から開放されるならいいじゃん。出世は無関係に。

火消しインフラはしょぼい気もするが、とにかくプログラマとしてなんらかのまとまった成果をだし、その成果をスケールするために人を巻き込む必要がうまれたら、税金として自分の成果を advocate するのはやぶさかではない(気がする)。そして税金を払った暁には給料に還元していただきたいので、出世を目論んでもいいかもしれない。ただ他人のためにそういうのをやってあげるのは、英語苦手なアジアン中年の仕事じゃねーわ。得意な人に任せたい。

つまり日々の雑事に追われすぎず大局観をもってバーンとクールなコードをキメる。これがプライオリティ。出世に惑わされてはいけない。これは何度も道を外れては立ち戻る同じ結論なわけだが、カネの力は強いのでこうして繰り返し自分に言い聞かせないといけない。


一歩さがって、なぜ自分は重要な意思決定とか影響力とかに興味がないのか考える。

一つは、組織がそこそこまともなおかげで肩書とかなくても行動を通じて影響力を行使できると信じているからかもしれない。自分以外の人手を借りようとすると多少は権力いるかもだが、自分自身の仕事についてはエラくならなくてもそこそこ autonomy がある。むしろいまのチームだと偉くなると duty 発生しまくりで、期待する autonomy があるのか怪しい。すっぱい葡萄ならいいんだけど。

二つ目は、英語できないからだろうね。自然言語を通じて影響力を行使するみたいな自分の不得意分野にわざわざ踏み込んでいく気が起きない。苦痛とフラストレーションしかなさそう。そういうのがパリっとできるならやる気も起きるのかもしれないが。

そういえば東京オフィスを脱出したいと思った動機の一つは、下手に東京に長居していると自分より英語やコミュニケーションが苦手な人(いるのだよこれが・・・)のかわりに窓口業務 TL をやることになりそうな予感があったせいもある。当時の東京にはそういう窓口 TL が多かったのだった。今は知らないけど。

更にさかのぼり、東京の中小零細で働いていた頃はというと、別に特段意識しなくても leadership とか influence とかが発生した。それを taken for granted で生きていた。その傲慢さは反省してしかるべきだがそれは宿題にするとしてなぜ、勝手に発生したのだろうね、権力。日本語のためだけとも思えない。そういえば零細で働く前の中小企業二つでは権力なかったわ・・・と考えると英語のためだけでなく大企業だから権力を志向しづらい面もあるのだろうなあ。大企業、偉くなるの大変。そして下っ端はラク。給料上がらないのは残念だけど、ボンクラのトレードオフとしてはまあまあ妥当。

Caveat として勤務先の Staff は先の本にでてくる Staff-plus ほどエラくはない気がする。バーンのいい仕事を決めた暁に出世できるなら別にそんなに困らないかもしれない。

あーあ、いい仕事をして責任や影響力は据え置きで給料だけ増えないかなー。