yigarashiのブログ

学んだことや考えていることを書きます

エンジニアリングマネージャーを目指す若者の戦略

企業でWebアプリケーションエンジニアとして働き始めて2年と4ヶ月ほど経ちました。様々な仕事を経て、自分が向いていることや楽しく感じることが徐々に明らかになり、数年後になりたい像がぼんやりと浮かび上がってきました。そして、その将来像が世間的には「エンジニアリングマネージャー」(以降EM)と呼ばれていることもわかってきました。この記事では、EMについて自分が周囲から受け取った知識を整理するとともに、そこに向けてどんな戦略を取ろうとしているかをまとめてみます。マネージャーというとネガティブなイメージも拭えませんが、EMは年を重ねて吸い込まれるものではなく、積極的に取りに行くに値する面白いポジションであると思います。この記事を読んでEMに魅力を感じる同世代の仲間が増えると嬉しく思います。

EMについての理解

エンジニアリングマネージャーという職務についてのオーバービューは、広木大地さんによるエンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiitaがよくまとまっており、自分の周囲でもよく参照されています。主な戦場は以下の4つのマネジメント領域とされています。

こうした見地からチームが生み出す価値を大きくすることに責任を負います。その上で、専門職チームでテクノロジーとピープルの軸を中心にカバーするEMを「弱いEM」、ミッションチームで全ての軸をカバーするEMを「強いEM」と整理されています。この記事では、自分の環境も踏まえて「強いEM」を自分が目指すEM像として考えます。

それぞれのマネジメント領域についてはエンジニアリングマネージャーになる前に知りたかった考え方 - Qiitaの「マネジメントの4分野」が非常によくまとまっています。

テクノロジーマネジメントは一般にテックリードやアーキテクトと呼ばれる人がカバーする範囲と考えるとそれほどズレはないでしょう。サービスのアーキテクチャ、技術選択、開発手法、SREing、品質といった話題があります。後述するプロダクトマネジメントと重なる領域として、技術的負債のコントロールも重要な観点です。

プロジェクトマネジメントは締め切りに間に合わせるという視点になりがちですが、現代ではデリバリーマネジメントと言い換えた方が非プロジェクト型の開発体制のマネジメント(例えばスクラム運営)まで包含できて適切であるように思います。プロダクトオーナーが実現したいものを、適切な品質で、できるだけ早く、予測可能な形でリリースすることに注力する領域であると認識しています。

ピープルマネジメントはそのまま人のマネジメントで、チームマネジメントや、メンバーの育成・評価・採用がスコープになります。ここがEMの主務であるように語られることもありますが、Engineering Managerをエンジニアのマネージャーとするのはやめませんか? - Unknown Errorなどで述べられているように、EMはあくまでボトルネックに注力する役割で、ピープルマネジメントはツールのひとつであるという理解をするのが重要なようです。とはいえ、専門職チームにおける「弱いEM」として職務が設置された場合には実質的に主務になることが多いでしょうし、それが特段ネガティブなことだとは思いません。メンバーの成長を支援するのも面白い仕事だと思います。

プロダクトマネジメントは「何をつくるか」をマネジメントする領域ですが、4つの軸の中では最も取り扱いが難しい領域だと個人的には思います。プロダクトマネージャーないしプロダクトオーナーとしても振る舞えることが理想ですが、方法不確実性も目的不確実性も全部ひとりで乗りこなしてプロダクトをリードするのは、ごく一部のスーパースターだけが可能な離れ業と感じます。EMの現実的な関わり方としては、エンジニアリングマネージャのスキル習得 - Qiitaの「プロダクトマネジメント x エンジニアリング」が納得感があります。あくまでエンジニアとして、施策の実現可能性や費用対効果を明らかにすることで「何をつくるか」の判断を支援するという考え方です。

なぜEMを目指すのか

大学でコンピューターサイエンスを学び、Webアプリケーションエンジニアとして採用された自分が、なぜキャリアのこんなに早い段階でEMを目指すのか。ステレオタイプなソフトウェアエンジニアの感覚からすると珍しく映るかもしれません。しかし、この2年半で自分が強みを発揮したり喜びを感じた場面を思い返すと、やはりEMという職務はとても魅力的です。

テクノロジー面は言うまでもないでしょう。新しい技術を使う楽しさ、難しい要件を綺麗に実装する喜び、過去の実装にしっぺ返しをくらって試行錯誤をする楽しさ、様々な良さがあります。デリバリーマネジメントでは、締め切りの厳しい大規模開発におけるプロジェクト管理や、現チームでのスクラム運営のリードなど、多くの人と関わり成果を挙げる面白さを知りました。ピープルマネジメントでは、インターンでメンターをした人が入社し活躍した時の喜び、ふりかえり改善コーチとして他のチームを良い方向へ導けたときの達成感など、他の仕事とは違う独特の喜びがあることを知りました。プロダクトマネジメントでは、データ基盤を整備することによってチームの価値判断が改善する様子を目の当たりにし、ユーザーに届く価値が直接的に向上するやりがいを知りました。

こうした体験を通して、テクノロジーだけでなく、ソフトウェア開発で直面するあらゆる問題が面白いという印象を持ちました。またテックスキルと非テックスキルの狭間になぜか自分がうまく立ち回れる領域が広がっているという感触も得つつあります。EMという職務は今のそうした自分の志向によくフィットすると感じます。EMは、時には自ら手を動かし、時には人の手を借り、チームが4つのマネジメント領域をカバーできるようにリードします。ある意味では、ソフトウェア開発におけるあらゆる問題を「解決してよい」立場であるとも考えられます。多くの人と関わり成果を挙げてもらえるように支援し、多様な問題にアタックできる、非常に充実した職務だと思います。

EMを目指す戦略

「EMを目指す」と言った時、ふたつの側面があるように思います。ひとつは会社にEMというポジションがあってそれに指名されることを目指す。もうひとつは、自他ともにEMと認められる知識・経験・スキルを身につけることを目指すというものです。前者は環境要因もあり、ある意味では後者の結果に過ぎないので、あまり重要視しません。大事なのは後者であると考えます。以下では、EMに足る能力を身につけるための自分なりの戦略をまとめてみます。

まずは4軸の中での大きな方針を決める必要があります。時間も元気も有限なので、全部の軸を完璧にというわけにはいきません。いちアプリケーションエンジニアからのスタートであること、EMが特に方法不確実性の領域に責任を負うことを踏まえて、以下のように優先度をつけて取り組もうと考えています。

テクノロジーマネジメントではいわゆるテックリード級の実力を目指します。サービスのテクノロジー面を任せられる実装力と経験、脳内インデックスの豊かさが求められると考えています。基盤への投資を計画したり技術的負債について正しく説明するために欠かせない能力です。プロダクトマネジメントを高いレベルで行うためにも必要です。またピープルマネジメントを行う上でも、多様なエンジニアの育成を良い形で行ったり、エンジニアからの信頼を得るのに高い技術力はポジティブに働くはずです。仕事で色々なタスクを取りに行って場数を踏む、社内勉強会などを通してトレンドを見極めながら索引を広げていくといった地道な活動を続けて少しずつレベルアップしようと思います。チャンスがあればテックリードをやりたいという意思を各所にばら撒いて成長のチャンスを呼び込む努力が必要かもしれません。

デリバリーマネジメントでは、締め切りのある状況を健全に保つプロジェクト管理と、非プロジェクト型のイテレーティブな開発の管理のふたつを中心に置いてスキルアップを目指しています。このふたつがわかっていれば大抵の状況には対処できるはずです。教科書的な知識のインプットと、それを現実の状況に適用する経験をバランスよく積んでいきたいものです。この領域は床に落ちて転がっているボールが多く、腹を決めてボールを拾いにいくだけで経験値を稼ぎ放題なので、自分の元気と相談しながら頑張ろうと思います。

ピープルマネジメントは現段階では優先度が下がります。なぜならまだ評価や育成、採用の責任を負っていないためです(決してピープルマネジメントをナメているわけではありません)。今のところは、メンタリングやコーチングの機会があれば積極的に手を挙げる、ピープルマネジメントもやっていきたいと主張する、自分がコーチングされる時に相手がどういうワザを使っているか意識する、といった行動を少しずつ起こしています。将来的に採用にも関わることを考えると、テクノロジーやデリバリーの軸で人脈を広げ界隈でのプレゼンスを向上させることもある種のピープルマネジメントと言えるかもしれません。

プロダクトマネジメントはさらに優先度が下がります。基本的には、テクノロジーマネジメントの方面から攻めて、施策の実現性・費用対効果を高いレベルで説明できるようになることが勝手にプロダクトマネジメントにつながると考えています。また、具体的な企画立案や仮説検証のプロセスはプロダクトマネージャーと分業が可能と考えています。とはいえ、プロダクトマネジメントから一歩距離を置いているのは単に自分の興味が薄いことが一因としてあり、違う意見の人もいるだろうし自分も将来的に意見が変わる可能性があると思います。現状は、データ駆動な仮説検証といった現代的なプロダクト開発の作法をつまみ食いする程度で、他の領域に力を入れようとしています。

こうして優先度をつけて取り組むにしても、究極的には全部やっていくぞ!ということなので、とにかく器用貧乏に陥ることは避けなければいけません。マネジメントができる程度の深さと広さでバランスよく育っていく必要があります。簡単な道ではありませんが、常に目の前の課題を楽しみながら、元気に暮らしていければと思っています。

おわりに

この記事では、まず現時点でのエンジニアリングマネージャーという職務に関する理解をまとめました。その上で、なぜ自分がその職務に魅力を感じるかを説明しました。これらのパートを通して、EMという職務の内容や魅力が少しでも伝わればと思います。さらに、それを踏まえてどうやってEMに足る能力をつけようとしているかを整理しました。似たような境遇にいる人の参考になれば嬉しいです。