かつて誰かに「マネージャーって、開発者と一体何が違うの?」と聞かれたことがある。この二つの役割はどちらも経験してきたが、それでも少し時間をかけて考える必要があった。この質問は本当に重要だ。
プログラミングは私が6歳の頃から始めた趣味だった。その時、父の本からゲームのソースコードを書き写して最初のプログラムを書いた。すぐに夢中になり、プログラミングが仕事になるまで決してやめることはなかった。長年にわたり、さまざまな面白い、あるいは複雑なプログラミングの問題を解決してきた後、新しい挑戦に挑む時が来たと感じた。
しかし、転職はこれまで長年磨いてきた専門的なスキルを手放すことを意味する。それでも、しばらく悩み、専門のメンターに相談した後、私は断固としてこの一歩を踏み出した。
今、3年半のマネジメント経験を経て、ようやくこの質問に答える資格を得た。マネージャーと開発者の最大の違いは、成功を測る基準が異なることにある。
具体的には:
(一)あなたの成功はより些細なものになる
プログラマーだった頃は、毎日出社すると頭の中に仕事の計画があり、たいていその日の終わりには計画を完了できていた。まるで毎日成長しているかのような感覚だった。
一方マネージャーとしては、家に帰るときに、その日一体何をしたのかわからないことがよくある。何もしていないわけではないが、測定できる結果があまりにもないのだ。
マネージャーとしての仕事の一つは、エンジニアが変化できるよう手助けすることだが、変化は一日や二日で成し遂げられるものではなく、時間と注意が必要だ。
- あなたが実現しようと努力する変化は、曖昧で明確に定義しにくいかもしれない。
- 変化が必要だと認識すること自体も難しいかもしれない。
- エンジニアは古い習慣を捨てるのが難しく、絶えず注意を促す必要がある。彼らのマインドセットを変えることは、挑戦的で簡単ではない仕事だ。
New Relicでは、四半期ごとに定期チェックを実施して、フィードバックの場を提供し、仕事の焦点を長期的な目標に置くようにしている。四半期によっては飛躍的な進歩があるかもしれないが、ほとんどの場合、まずまずの進歩があるだけだ。
チームメンバーに本当に大きな変化が現れたときには、マネージャーの継続的な導きが必要となる。私たちがよく使うツールは「regular info-bits(定期的な情報交換)」と呼ばれるものだ。具体的には、エンジニアが仕事の進捗を短いメールでマネージャーに送るというものだ。メールのテーマは通常、専門能力の開発、チームワーク、プロジェクトの最新情報、コミュニケーション、ワークライフバランスなどに関連している。このプロセスは、彼らがより体系的に物事を考えるのに役立ち、あなたもこれらの情報を通じて彼らの成長を知ることができる。
このやり方は結果が出るまでに長い時間がかかるが、最終的にチームメンバーが自信を築き、よく成長しているのを見ることができれば、すべての苦労が報われると感じるだろう。
(二)あなたの成功は戦略的な影響を持つ
優れた開発者は企業に大きな長期的影響を与えることができるが、優れたマネージャーはチーム全体の成功を導く。
エンジニアリングの問題は多くの場合、白か黒かで明確だ。しかし、人の問題はほとんど常に曖昧だ。解決すべき問題が何かを知っていたとしても、解決方法がいつも明確であるとは限らない。過去にその方法で誰かの問題を解決できたとしても、それで今の問題を解決できるとは限らない。人間の行動というものには本当に変数が多すぎる。
緊密に協力し合うチームを築くには、一連の課題がある:
- チーム作りは、スター社員を一人ずつ寄せ集めるほど簡単なことではない。
- 結束力のあるチームには、それぞれの長所と短所を十分に理解することが必要だ。
- チームは決して不変ではない。誰かが加わったり去ったりするたびに、再び調整し合う必要がある。
マネージャーとしての仕事は、チームが可能な限り効率的に運営されるようにすることだ。しかし、少しの変化があったからといって、大規模な改革を一度に行うことは期待できないし、プロセスをいきなり徹底的に変えることも期待できない。効果的なマネージャーには以下が必要だ:
- チームがどのような支援を必要としているかを絶えず評価すること。
- 注意すべきは、このニーズは仕事やチームによって異なる可能性があるということだ。
- チームを支援するための正しいツールを使用し、発明すること。
ここでの鍵は、徐々に変化させ、絶えず観察し、そして絶えず改善していくことだ。例えば、チームが十分な支援を得られていないことに気づいたら、まず状況をそれほど混乱させない方法を見つけ、次にチームを最適化するツールを探す。仲間たちと一緒に困難を乗り越え、まず重要な問題を選んで対処し、それからこの変更が適切だったかどうかを振り返って確認する。
(三)あなたの成功は多くの場合、他人の成功を助けることである
New Relicでは、「Invisible Manager(見えないマネージャー)」という理念を信じている。これは、私たちが裏方で働き、エンジニアをスポットライトの当たる場所に立たせ、彼らの成功を際立たせるという意味だ。私たちは、エンジニアが名誉を受けるべきであり、それは彼らが受けるに値するものだと確信している。そのため、New Relic の新機能発表会では、製品マネージャーやエンジニアリングマネージャーではなく、チームメンバーが公の場で製品を紹介するよう奨励している。
ほとんどのマネージャーは、以前は成功したエンジニアだった。マネージャーとなることで、ビジネスだけでなく、社員の生活にもより大きな影響を与えることができる。多くのマネージャーは、他人を助けることが自分自身の成長にもつながることに気づくだろう。
まず自分自身を管理する
エンジニアリングのバックグラウンドを持つ私にとって、目の前の問題に集中することが何よりも重要だ。私の心の中には常に完全な計画があり、チームが必要とするすべてのもの、すなわち成長、動向、品質、サポート、製品納品、会議、ブログ投稿などを網羅している。そして、私のチームが向こう一年でどうなっているべきかという明確なビジョンを持っている。これが日々のあらゆる決定を下す助けとなり、最終的に私たちの長期的な目標へと導く。
チームをうまく管理するには多くの仕事が必要だ。しかし、それは多くの喜びと誇りももたらす。マネージャーとしてできる最善のことは、考えることだ。月に一度、静かな場所を見つけて、チームの一人ひとりのことを考え、過去のメールやプロジェクトレポートを見直してみよう。あなたの影響力は、製品だけでなく、チームの人々にも及んでいることに気づくだろう。これこそが成功の真の基準だ。
本文の著者 Kirby Frugia は、SaaSサービスプロバイダー New Relic に勤務している。原文はここに掲載されている:New Relic ブログ。