📘

精読「エンジニアのためのマネジメントキャリアパス」(1)

2025/01/23に公開


エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド
技術とマネジメントの両立を目指すエンジニア必読の一冊!エンジニアリングマネージャーの役割、チームビルディング、キャリア形成を具体的に解説し、成長の指針になります。

マネジメントの基本

上司に何を求めるか

上司に期待する役割としては、まず「1対1のミーティング」を挙げている。1対1は、上司と部下が定期的に顔を合わせて信頼関係を築き、業務上の課題や私生活に関する話題を共有する場として非常に重要。これは部下が自分の気持ちや悩みを打ち明け、上司がフィードバックを提供する機会となる。このようなミーティングは、上司が部下の個人的な状況を理解し、サポートできるための基盤を築くことに繋がる。また、部下はこの場で自分の意見を伝え、上司からのアドバイスを得ることができるため、業務の進捗や問題を迅速に解決するために不可欠。

次に、「フィードバックと指導」が上司に求められる重要な要素。部下が失敗していることに気づいた際、上司はすぐにフィードバックを提供することが求められる。失敗を早期に指摘することで、部下は自身の改善点を早く把握し、修正することができる。また、良い点に関してはその場で褒めることも重要。良いフィードバックを人前で行うことで、部下のモチベーションが向上し、チーム全体の士気にも良い影響を与える。

これらの要素がうまく機能することで、部下は上司に対して信頼を寄せ、自己成長を促進できる環境が作られる。さらに、上司が部下のキャリアアップを支援し、必要なスキルを教えることによって、部下の能力が向上し、チーム全体の成果にも貢献することが期待される。

管理のされ方

キャリア形成において部下が上司との関係にどのように向き合うべきかについて。重要な点は、上司との関係を他人任せにせず、自分自身が主体的に考えて行動すること。特に、自分が何を望んでいるのかを考える責任は自分にある。上司はあくまでサポート役であり、最終的な責任を負うのは部下自身であるため、部下は自分のキャリアや仕事に対して積極的に考え、行動することが求められる

また、上司との関係においては、自分の望むものをきちんと伝え、フィードバックを積極的に求めることが重要。自分の成長に必要な支援を上司に頼む一方で、不満があればそれを声に出して改善策を模索する姿勢も求められる。自分の立場や望みに合った形で上司との関係を築くことが、キャリアの成功に繋がる。

さらに、上司を選ぶ際には、能力や管理職としてのスキルが重要なポイントになる。「エンジニアとして尊敬している上司」や「友人のようにウマが合う上司」ではなく、社内で自分を支えてくれる上司を選ぶべきだという点も重要。上司がどれだけ社内での駆け引きや人脈を活用できるかも、キャリアに大きな影響を与える要素となる

メンタリング

チームの新人に対するメンタリングの意義

チームの新人に対するメンタリングの重要性について。メンターは新人に指導やサポートを行い、成長を支援します。メンティーとメンターの双方にとって成長の機会となることが大切。筆者はシニアエンジニアのケビンさんから受けたメンタリングを通じて、自身の成長とメンタリングの意義を実感した。この経験は筆者にとってキャリアの大きな一歩となった。

メンターの務め

メンターとしての役割は、新人やインターンにとって貴重な体験を提供することであり、指導を通じて自己成長も促進する。インターンの場合、仕事の経験がほぼゼロの状態からスタートするため、最初の数週間は慣れるためのサポートが必要。プロジェクト内容は明確にし、インターンがやるべきことを整理して、計画的に進めることが重要。また、コミュニケーションでの傾聴力や、適切な指示の伝達はメンターとしての大切なスキル。インターンが疑問を抱えたときは、質問しやすい雰囲気を作ることも心掛ける。

すごい上司、ひどい上司――アルファギーク

アルファギークは、技術的には非常に優れたエンジニアであり、知識や能力に自信を持ちすぎるあまり、コミュニケーションやチームワークにおいて問題を起こすことがある。彼らは自分の知識や技術を重要視し、他の人が反論することや新しいアイデアを受け入れることに難しさを感じる。また、自分の貢献を過大評価し、部下の成果を軽視する傾向もある。

しかし、アルファギークが適切にメンタリングを行うと、部下を育て、チームを刺激し、技術的に成長を促す存在になることもある。重要なのは、自己中心的な態度を改め、他のメンバーを育てることを目指すこと。

この部分の要点は、アルファギーク気質がチームワークや管理職としての役割に悪影響を及ぼす可能性があり、その改善には自己認識とメンタリングスキルの向上が重要である。

メンターを管理するコツ

メンター管理のコツは、計測可能なゴール設定とメンターの役割や責任を明確にすること。メンタリング関係を成功させるためには、目標を定め、適切な人材を選ぶことが大切。また、メンターは指導の時間を確保するため、過度な負担を避けるべき。さらに、性別や人種でメンターを選ばず、職務に合った適任者を選ぶことが重要。最後に、メンタリングはリーダーシップ育成にも有効。

メンターの重要な心得

メンターの重要な心得として、以下の3つが挙げられる。

  1. 好奇心を持ち続ける
    メンターは自身の経験を新たな視点で見直し、創造力を刺激することが大切。新人の質問から自分の思考を再検討し、テクノロジーの変化にも敏感である必要がある。

  2. 傾聴と相手に合わせたコミュニケーション
    メンターは相手の言葉をよく聴き、理解した上で適切に伝えるスキルを磨くことが重要。自分の考えを何度も言い換えて伝えることが、良好なコミュニケーションに繋がる。

  3. 人脈づくり
    メンタリングを通じて人脈を広げることが、キャリアの成否に大きく影響する。相手を尊重し、将来のつながりを大切にする姿勢が重要。

テックリード

テックリードとは、単に技術力のあるエンジニアではなく、チーム全体を技術的にリードし、プロジェクトの進行を助けるために必要なコミュニケーション能力や判断力を備えた人物である

テックリードの主な責任としては、以下が挙げられる。

  1. チーム全体の技術的リーダーシップ:個人としての技術的貢献だけでなく、チームを導き、技術的な方向性を決める。
  2. プロジェクト管理:細部にこだわりすぎず、チーム全体の効率を考えた仕事の進め方をする。管理職として、チームメンバーの成長をサポートする。
  3. コミュニケーション能力:技術的なディスカッションだけでなく、非技術者との対話も求められる。経営陣や他部門と連携を取ることも重要。
  4. 指導・メンタリング:チームメンバーに対して定期的なフィードバックを提供し、能力向上をサポートする。

また、テックリードは「チームでもっとも優秀なエンジニア」ではなく、むしろプロジェクトを推進するための指導者としての役割が求められる点が重要。特にプロジェクト管理や対人スキルが強調されています。技術的な決定を下すだけでなく、チームが効率的に作業を進めるための指導力や調整力が必要。

テックリードとしての成長には、技術的なスキルに加えて、チームマネジメントやコミュニケーションスキルを意識的に磨くことが大切であることがわかる。

優秀なテックリードなら必ず知っている、ある奇妙な「コツ」

優秀なテックリードに求められる最大のスキルとして、「バランス取り」が強調されている。テックリードとして成功するためには、以下の点が重要。

  1. 実務から一歩引く: プログラミングの作業において高いスキルを持っていても、テックリードとしては作業から一歩引いてチーム全体のニーズに応えることが求められる。自分だけでなく、チーム全体が効率よく作業できるようにサポートする立場が重要。

  2. 時間管理の重要性: テックリードはプロジェクト管理やデリバリの監督も担うため、適切に時間を管理することが必須。会議に無駄に参加してしまうと、コードを書く時間が削られてしまう。そのため、会議の出席やタスクの優先順位を見極め、作業時間を確保するスキルが求められる。

  3. 新しいスキルの習得: 優れたテックリードは、得意な作業をこなすだけでなく、新しいタイプの仕事に取り組む必要もある。たとえば、プロジェクト管理のスキルやチームメンバーの調整能力を高めることが求められる。このように、新たなスキルを習得しながらも、既存の仕事とのバランスを取ることが重要。

  4. チームメンバーのサポート: 他のメンバーが集中的に作業できるよう、適切なスケジュールを提供し、作業環境を整えることもテックリードの役割。チーム全体の負担を考慮し、個々のメンバーが最適に作業できるよう調整することが求められる。

テックリードとして成功するためには、こうした「バランス取り」のスキルが不可欠で、これを習得することで、チーム全体を効率的に運営し、プロジェクトを成功に導くことができる。

テックリードの基礎知識

テックリードとしての役割や責任について。

大局的な視点を保つこと

テックリードは、プロジェクト全体を俯瞰し、システムや業務の問題点を事前に見極めることが求められる。これは、単なる技術的な問題解決だけでなく、ビジネス要件やチーム全体の作業の進行も考慮しながら進める必要がある。

役割のバランスを取る

テックリードはシステムアーキテクト、ビジネスアナリスト、プロジェクトプランナー、チームリーダーとしての複数の役割をこなすことが求められる。これらの役割がすべて一度に求められるわけではなく、経験を積むことで適切なバランスを取れるようになることが期待されている。

チームとの協力

自分一人で全てを解決しようとするのではなく、問題が発生した場合には速やかにチームやプロダクトマネージャーに共有し、協力を得ることが重要。チームのリソースを有効に活用し、適切なタイミングでメンバーに仕事を任せることが、プロジェクトの成功に繋がる。

プロダクトの妥協と優先順位の決定

プロジェクトの初期段階で、最優先事項を決めることが必要。妥協が必要な部分と重要な部分を判断し、リソースを効率的に配分することが求められる。

このように、テックリードの役割はただコードを書くことにとどまらず、プロジェクト全体を円滑に進めるための重要なポジションであることが分かる。キャリアアップに向けたスキルや経験を積むためにも、これらの役割をうまくこなすことが大切。

プロジェクトの管理

プロジェクト管理を初めて経験した際、非常に複雑なタスクが多く、依存関係を把握し、計画を立てるのが大変だった。アジャイル開発が普及しても、依然としてプロジェクト管理は必要で、特に専門性の高いプロジェクトでは計画立案が重要。テックリードとして計画を練る際、詳細が不明確でも予測し、洞察力を働かせることが求められる。実際に計画を進める過程でフラストレーションが溜まりますが、それが最終的な成果に繋がる。

プロジェクト管理の実務

プロジェクト管理の実務について、以下のポイントが重要

  1. 複数の工程に分割する: プロジェクトを細かく分割し、タスクを整理する。チームメンバーと協力して作業を進め、順番を検討して効率的に進行する。
  2. 細部の引っ掛かりにくじけない: 行き詰まりや不安に直面しても諦めず、問題に取り組み続けることが成功のカギ。
  3. 進行を調整しながら進める: プロジェクトが進行した際に、進捗状況を把握し、柔軟に対応できるように計画を修正する。
  4. 変化への対応: 要件や状況の変化に応じて、既存の計画を調整し、リスクを管理する。
  5. 完了に向けての細部調整: プロジェクト完了前に詳細な検証を行い、リスクを洗い出す「プリモータム」を実施する。

これらを実践することで、プロジェクトを効率的に進め、成功に導くことができる。

決断の時――技術職を貫くか、管理職への道を選ぶか

技術職と管理職、どちらの道を選ぶかというテーマは、特に経験者として深く理解できる課題。この内容では、シニアエンジニアと管理職の「理想」と「現実」が具体的に描かれている。

シニアエンジニアとしての理想は、深い思考に集中し、技術的な問題解決を行い、プログラミングの仕事に多くの時間を費やし、名声と高い評価を得るというもの。しかし、現実には、プロジェクトの方向性や他部署との調整に多くの時間を取られることや、昇進が遅れる可能性があることが描かれている。

一方、管理職としての理想は、チームを率い、部下に指示を出し、リーダーシップを発揮しながらチーム全体を成功に導くこと。しかし、現実は部下とのコミュニケーションや人間関係の管理、他チームとの調整が大きなストレスとなり、理想とは異なる部分が多いことが語られている。

このように、どちらの道も非常に魅力的でありつつも、現実には理想とのギャップが存在し、選択に際しては自分の価値観やキャリアビジョンを慎重に見極めることが大切だと言える。

どちらの道が適しているかは人それぞれですが、ユーザーさんが目指すキャリアや仕事のスタイルに合わせて、自分が望むバランスを取れる道を選ぶことが重要。

すごい上司、ひどい上司――プロセスの何たるかを心得ている上司と、プロセスツァー

プロセスの重要性を過度に強調し、柔軟な対応を欠いた「プロセスツァー」に対する警鐘が鳴らされている。プロセスツァーとは、決められた手順や方法論に固執し、それがすべての問題解決に結びつくと信じる人物のことを指す。確かに、プロセスはシステム開発や組織運営の効率を高めるために必要だが、それにこだわりすぎると、状況やチームの実情に合わない方法を押し付けることになりかねない。

アジャイルやスクラムなどのフレームワークも、プロセスに従うことが重要だが、これらはチームや状況に応じて調整する柔軟性を持つべきだという点が強調されている。アジャイル開発における「個人と対話を重視する」という原則に代表されるように、すべての状況に一律に当てはまる「完璧な」プロセスは存在せず、むしろチームが自律的に調整できるようなプロセスを模索することが求められる。

もしあなたが「プロセスツァー」に直面した場合、上司やチームに対して柔軟性を持たせ、完璧なプロセスを求めることの弊害を共有することが大切。その上で、プロセスを調整し、柔軟に対応できる環境を整えていくことが、チーム全体の成長と生産性向上に寄与する。

優秀なテックリードとは

この部分では、優秀なテックリードに求められる特質について説明されている。

アーキテクチャを把握している

テックリードはシステムのアーキテクチャを深く理解し、データの流れやシステム間のつながりを把握する必要がある。その理解を元に、プロジェクトを進めていくことが求められる。

チームプレイの大切さを心得ている

面白い作業ばかりを自分で担当するのではなく、退屈で面倒な作業にも目を向け、チーム全体の効率向上を目指す。自分の担当箇所は適切に選び、時には面白いタスクも選択することが重要。

技術的な意思決定を主導する

チームの技術的な決定に積極的に関与し、適切な判断を下すことが求められる。しかし、すべてを独断で決めるのではなく、メンバーとの議論を重視し、決定を全員で共有することが重要。

コミュニケーションの達人である

テックリードはチームの生産性向上を重視し、コミュニケーションの力を発揮する。会議では、チームを代表して意見を伝え、結果をフィードバックする。また、文章力や話す力を高め、技術的な議論をリードする能力を育む必要がある。

これらは、テックリードがリーダーシップを発揮し、チームを牽引するために不可欠な能力。

参考

Discussion