エンジニアには本来「コードを書くことが楽しい」「モノを作るのが好き」という人が多いですが、経験やスキルがあるレベルに達するとマネジメントを担う立場になることがあります。
「テックリード」や「プロジェクトマネージャー」ほか数種類のマネジメント職が存在するのです。とはいえ、マネジメントはエンジニアの業務とは完全に別の分野になるので、エンジニアにとって、何をどうすべきか分かりづらいという声も聞かれます。
この記事では現在あるいは将来において、エンジニアが担うマネジメント職に就く人に向けて、エンジニアが担うマネジメント職にとって必要なスキルや注意すべき点を解説し、エンジニアが担う代表的な4種類のマネジメント職を紹介します。
目次
エンジニアにとってのマネジメントの意義を確認
エンジニアのマネジメント職の意義をあきらかにするために、マネジメントの目的や役割を紐解いてみましょう。
マネジメントの本来の目的とは何か?
そもそもマネジメントは管理や経営という目的のために行われます。高名な経営学者ピーター・ドラッカーは以下のようにマネジメントを定義づけしました。
【組織の成果を上げるための道具・機能・機関】
かみくだいていえば、組織としてのある一定の成果を出すことを目標とし、その達成に向けて組織を取りまとめることがマネジメントだといえるでしょう。
エンジニアが担うマネジメント職の役割
前述の定義を受けて、マネジメント職(マネージャー)は、組織全体を取りまとめて成果を上げる役割を担った人材のことになります。
極論からいえばマネジメントの究極の目的は組織の成果を上げることです。よって、技術的知見がなくてもマネジメント職を務めることはできることになります。
しかし、それはあくまで理屈のうえのことです。実際の現場においてはエンジニアリングの何たるかを理解している人材、つまりエンジニア経験者でなければ、チーム内のエンジニアに対する人心掌握も技術的な指導もできません。
そんなエンジニアが担うマネジメント職はQCD(Q:Quality=品質、C:Cost=コスト、D:Delivery=納期)の管理がメインの役割です。求められる品質水準をクリアできる成果物を、無駄なコストを排して納期通りに納めさせることで仕事が完結します。
フローとしては以上ですが、実際はそれだけではありません。以下の3項目も重要な役割です。
●システム開発のパフォーマンスを向上させる
●組織の意思決定をスムーズにする
●人件費を最小限に抑える
それぞれについて少し補足しておきましょう。
システム開発のパフォーマンスを向上させる
マネジメント職のメインの仕事であるQCD管理には、前述のようにエンジニアリングについての知見が欠かせません。
技術力が優れているなら、マネジメント業務を行いながらも新規開発や技術支援ができます。つまり、システム開発においてパフォーマンスの向上に貢献できるのです。
組織の意思決定をスムーズにする
マネジメント職に技術力があればこそ、エンジニアとしてのスキルや経験を活かして現場からの最前線の声を、生きた情報として上層部に伝えることが可能です。
またその逆に、上層部の意向を現場に素早くフィードバックすることも可能です。その速やかな往復作業により、組織全体の意思決定をスピーディにすることができます。
人件費を最小限に抑える
技術的知見のあるエンジニアが担うマネジメント職が求められる背景には、自らも実務にあたることができるプレイングマネージャーとして任に就くことにより、最小の人員で業務に取り組めるという「人件費の抑制
の面もあります。
一般的に管理職は業務遂行のために必要であっても、売上に直結しない管理職も存在するでしょう。エンジニアが担うマネジメント職のようなプレイングマネージャーがいることは、人件費の抑制にも有効なのです。
エンジニアが担うマネジメント職で注意すべきポイント
エンジニアが担うマネジメント職が任務にあたる際に、注意すべき主なポイントは以下の3項目です。
●個々のエンジニアの育成
●プロジェクト全体を俯瞰してチェック
.●現場の声を吸い上げても振り回されないこと
エンジニアの育成
マネジメント職にとっては、部下となるエンジニアの育成も大切な要素です。プレイングマネージャーであっても、何かトラブルに対処する場合にすべてひとりで解決しようとしてはいけません。
エンジニアを育成するためにも、彼らを巻き込み仕事を適切に振ることが大事です。個々のエンジニアの力を、実践という最高の教材の中で伸ばすことを意識できれば、それは優れたマネジメントだといえるでしょう。
プロジェクト全体を俯瞰してチェック
組織として成果を上げるためには、プロジェクト全体の動きに問題がないかを、常に全体を俯瞰しながらチェックして進めることが必要です。これにはエンジニアとしての視点だけでは足りません。マネジメントの視点を持つことが重要となります。
タスクの割り振りが適切かどうか、スタッフからのアラートを漏らさず拾い上げられているかどうかなどを意識し、効率よく円滑に業務を進めなければなりません。
現場の声に振り回されない
前述のように現場の声を吸い上げることは重要ですが、その中には短期的なビジョンの意見も多く、これらをすべて鵜呑みにすると振り回されてしまう可能性があります。
プロジェクトを成功させるためには視野を広く構えて、長期的なビジョンに立った意見を吸い上げつつ、そうではない声に振り回されないようにしなければなりません。
エンジニアのマネジメント職に必要な5つのスキル
エンジニアが担うマネジメント職には、さまざまなスキルが必要です。それらを5つに分類して解説しましょう。
マネジメントスキル
マネジメントを行うからには、そもそもマネジメントスキルが必要不可欠です。このスキルは担当する組織全体を、過不足なく調整する能力です。スケジュールやスタッフの管理、問題解決能力なども含まれます。
テクニカルスキル
エンジニアが担うマネジメントにおいては、テクニカルスキルが伴わなければ適切なマネジメントができません。エンジニアとしての確かな知見が求められます。
システムを適切に構築するためのスキルはもちろんのこと、インフラやWebに関してほか、さまざまな分野に関する理解が必要です。
コミュニケーションスキル
上層部やスタッフとの交渉や調整など、業務を円滑に進めるためには、コミュニケーションスキルが欠かせません。対クライアントにおいても、ニーズを的確に把握し、成果物に反映させためにはコミュニケーションスキルは重要です。
品質管理スキル
成果物の品質管理も重要なスキルです。テストやレビューで品質基準がクリアされているかを見極める能力や顧客業務に関する深い理解と、品質に関する膨大な情報をまとめ上げる技術が求められます。
リーダーシップ
スタッフをまとめ上げて、チームとして目標に向かわせるためのリーダーシップも絶対に必要です。
リーダーシップが発揮されなければ、チームの士気も上がりづらくてスタッフのモチベーションも下がります。いかなる環境でもリーダーシップを発揮するマネジメントが求められるのです。
エンジニアが担う4つの代表的なマネジメント職
エンジニアが担うことが多いマネジメント職の中で、代表的なものは以下の4つです。
●プロジェクトマネージャー
●テックリード
●プロダクトマネージャー
●エンジニアリングマネージャー
個々のマネジメント職を、それぞれ掘り下げて解説していきましょう。
プロジェクトの成功を左右する「プロジェクトマネージャー」
プロジェクトマネージャーとはプロジェクトそのものの責任者であり、端的にいえば「成果物を納期通り完成させるマネジメント職」です。これは決して簡単にできる仕事ではありません。
プロジェクトマネージャーはプロジェクトの企画段階から、必要となる人材や資材、掛かる費用を想定して準備する役割です。クライアントとともに企画を錬り、開発目的や予算、納期についての一切の責任を負います。
仕様策定や設計、テストなどの開発プロセスに必要な工数を見積もり、それを基準に人員や作業環境などを想定しての計画を立案するのが役割です。
プロジェクトが開始した後は、プロジェクト全体の進捗管理を担います。何らかの問題が起こりそうな兆しに気づいた際には、誰よりも先に問題解決や改善に対する手を打たなくてはなりません。
現場だけで解決が困難であれば、プロジェクトマネージャー自身がクライアントと交渉するといった業務も担います。
成果物に対するレビューや、そこで見えた課題の解決ならびに評価をまとめた「プロジェクト完了報告書」はプロジェクトマネージャーが書くものです。
このように、仕事内容が多岐にわたるのがプロジェクトマネージャーの特徴といえます。基本業務がマネジメントであることは間違いありませんが、単なる進捗管理ではなく、上流の工程や概念までを含めた高度なマネジメントであるといえるでしょう。
プロジェクトマネージャーと、よく混同されるのがプロジェクトリーダーです。多くの企業プロジェクトマネージャーの下にプロジェクトリーダーをつける傾向にあります。
プロジェクトマネージャーとプロジェクトリーダーの違いは「プロジェクト全体の管理者」と「現場の管理者」の違いです。
前者は案件全体を俯瞰しながら課題を探し、円滑にマネジメントを行います。後者はプロジェクト成功のために、チームをまとめあげる現場監督という表現が近いかもしれません。
技術面でチームを牽引「テックリード」
テックリードとは、プロダクトやプロジェクトにおいての技術面でのリーダーのことです。「テクニカルリード」や「リードエンジニア」などと呼ばれる場合もあります。
一般的に、技術力が高いエンジニアが担うマネジメント職です。システムやソフトウェアの開発をチームで進める際に、そのチームを技術面で牽引するのがテックリードです。
また、テックリードはチームの窓口としての役割もあります。チームの代表として、他の部署とのコミュニケーションを取るのです。チームの進捗の報告や会議への出席、チーム外からの問い合わせへの対応なども担当します。
雑務に見えるような内容もありますが、チームのスタッフを煩わしい仕事から回避させて、業務に集中できる環境を整えることもテックリードの仕事です。
テックリードの陰の働きのおかげで、チームが円滑に仕事を進められることに真価が表れます。
理想を具現化する「プロダクトマネージャー」
プロダクトマネージャーはプロダクトの立案と生産が役割です。前述のプロジェクトマネージャーと混同されがちですが、プロジェクトマネージャーはプロジェクトの遂行を担う役割であり、プロダクトマネージャーの直下に存在します。
「こんな商品やサービスを実現したい」という思いを具現化するために、「プロダクト」という目に見える価値に仕立て上げるのがプロダクトマネージャーです。
プロダクトマネージャーは、予算やリソースなどの制限を無視して構想を練り上げます。その構想を具体化するためにプロジェクトに落とし込んで、必要な予算やリソースを想定してプロジェクトの進行を管理するのがプロジェクトマネージャーです。
エンジニアの教育とキャリアサポートを担う「エンジニアリングマネージャー」
エンジニアリングマネージャーは定義づけが難しい役職といわれています。これは求められる領域が広く、また企業によって重視する部分も違うからです。
一般的には技術スタッフ=エンジニアの教育やキャリアサポート、いわゆる「ピープルマネジメント」と技術的な判断を下す「テクノロジーマネジメント」の両面を担うマネジメント職といえるでしょう。
エンジニアリングマネージャーとプロジェクトマネージャーは、どちらもエンジニアを統括する点では共通していますが、対象となる領域が違います。
プロジェクトマネージャーがプロジェクトをマネジメントの対象とするのに対して、エンジニアリングマネージャーはエンジニアという技術者のチームがマネジメントの対象です。
テックリードもエンジニアリングマネージャーとよく比較されます。両方とも組織においてテクニカルな面を支える役割という面は共通しています。
エンジニアの技術の本質ともいえるテクニカルな部分を担当するのがテックリードです。エンジニアリングマネージャーはその技術部門を担うエンジニアの業務環境やキャリアを含めたサポートをするのが役割といえるでしょう。
「プロジェクトマネージャー」「テックリード」「プロダクトマネージャー」「エンジニアリングマネージャー」の4つのマネジメント職はその基本的な意義や役割、必要なスキルにおいて共通しています。
しかし、マネジメントの対象が「プロジェクト」「技術」「プロダクト」「エンジニアのチーム」という風に、縦分けられているのです。
まとめ
エンジニアが担うマネジメント職に関して、必要なスキルや注意すべき点を解説し、代表的な4種類のマネジメント職を紹介しました。技術的知見に裏打ちされたマネジメント職が、IT産業には求められています。
テクニカルとマネジメントのスキルを持ったエンジニアが、「プロジェクト」「技術」「プロダクト」「エンジニアのチーム」のそれぞれを対象としたマネジメント職に就き、有機的に絡み合い補い合って大きなプロジェクトが進んでいくのです。
入社してからの夢だった管理職につけたのに予想以上に過酷でつらい!という方は多いのではないでしょうか。今回は管理職についたことで鬱になりそうなくらいストレスを抱えている方に向けて、解決策を紹介します。 欝になりそうなほど管理職がつらいなら、プレイヤーに戻る選択肢もある | 35ish 〜... - |