Engineering Manager はじめました

"プログラマー定年" 35歳を目前にして Engineering Manager (以下EM) の職を拝命しました。

直接のきっかけは、数ヶ月前にチームの EM から来期 EM やってもらえないかと言われたことで、少し考えたり相談したりしたが、そこまで迷いなく引き受けた。一番のネックは「俺が他の人と1on1等を出来るほど信頼に足る人間なのか?」というところで、正直今でも疑問で不安だが、多分他の人たちも始めは多かれ少なかれ同じようなことを感じながらだったのではないか。

さて、ここ2年間の新規開発プロジェクトでは、アーキテクト的な動きで技術選定をしたり、気合いで機能実装したり、スクラムの見積もり手法を学んで実践に落としたり、その他色々と好き勝手やらせてもらっていた。結局自分がやりたかったことは、自分たちのプロジェクトで最もボトルネックになっている部分をなんとか解消してやろう、というものだったと思う。

それがこのたび無事リリースされて、多くのユーザーに使ってもらわれるようになった。次はこのプロダクトをどんどん改善したり、新しい機能を作って、価値を高めていきたい。

じゃあ自分はどういう手段でそれを実行できるのか、と考えると、もちろん純技術も大事だけれど、アジリティの高い組織構造にしていくことや、自分以外の人の能力をより引き出すこと、もとても大事だと感じた。EM になることで、プロダクトの価値を高めるための行動がより幅広くできるんじゃないかと思った。

実際就任して2週間くらいではあるが、今のところはかなり引き受けてよかったと思っている。別に EM になったら技術ができなくなるわけではないので、アプローチできることの範囲が純粋に広がっている。

前任の EM はそのまま続けてくれたので、横の関係として相談できる(かなりありがたい)。それぞれで4〜5人を担当している。チーム全体としては20人弱いてその中に EM が4人いる感じ。

まだ全然 1on1 とかも始めてないのに言うなという話だけど、少なくとも自分の能力を基準にすると、EM として担当するメンバーの数は4人とかにとどめておいたほうがよいなと思った。EM として People Management といわれる領域はもちろん重要だけど、それ単体で価値を出すというよりは、People Management (あるいはそれ以外) の成果をどうプロダクト開発に生かすか、というのが大事なのだと思う。この人がこういうことをやりたい/できる、というのを、どうプロダクト開発に生かすかを考えるためには、一定以上開発に携わってないと無理だし、プロダクトの戦略わかってないといけない。例えば対象のメンバーが8人とかいると People Management の領域が大きくなりすぎて、それに忙殺され、組織としての成果を最大化させることに力を発揮するのが難しくなると感じる。

今回は「10人くらいの一つのグループを2人で担当し4〜5人ずつ見る」みたいな感じで、これは EM が上に立つというよりは横から支援するという文化が強いというコンテキストがないと理解しにくいかもしれない。実際、会社の組織図上でそういうのを表現しにくく、組織図上では「hoge1」「hoge2」みたいな組織を作る必要があった。

もう一つ EM になったことで増える役割として、EM グループとしてエンジニアリング組織の課題 (採用, 評価, etc…) に対処していくことがある。そこで新米だからこそ気になるポイントが「それ private な場で話す必要ある?」みたいなこと。別にいろいろコソコソ話す文化はないのだが、何を private / public で書くのか、というのを EM 自身がスイッチするのが結構大変なのだ。ただこれは多分3ヶ月くらいするとすぐ慣れてしまうので、今のうちしかできないこととして、Public 大臣を名乗ってできる限りのものを Public な場に持っていく活動をやることにした。

以上、とりとめない感じではあるが、とりあえず就任報告、最初の2週間で考えたことややったことのメモとして。

noteの通貨流通量を増やしていきたい!!