将軍の備忘録

アウトプット用です。あしからず。

「エンジニアのためのメネジメントキャリアパス」を読んだ

概要

技術系管理者のキャリアパスを大局的な見地に立って紹介している本です。 章が進むごとに管理者のランクも上がって行く構成になっています。(メンターからCTOまで) 今回は、自分が興味が3章のテックリード について書いていきたいと思います。

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド

エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド

内容

テックリードとは何か

専門のスキルとリーダーシップが共に求められる役割である。

また

テックリード(tech lead)とは、プロジェクトに携わるエンジニアチームの「技術上のリーダー」のことです

とあります。

また「Talking with Tech Leads」という本が提唱するテックリードの定義は、

[テックリードとは] (ソフトウェア)開発チームに対する責任を担い、最低でも自身の職務時間の3割はチームと共にコードを書く作業に充てているリーダーのこと

とあります。

この本は何をしろと行っているのか

考え方

  • テックリードは職位ではなく、複数の人が順次担う職責群であるべきとあります。

    チームの変化や進化に応じて、さまざまな階級のエンジニアがテックリード役を引き受けられること、また、新旧テックリードが必ずしもエンジニアとして階級を変えることなくテックリードの座を明け渡したり、引き継いだりできること」

  • テックリードを「チームでもっとも優秀なエンジニア」と短絡的に結びつけるのは誤り

    • 関係者の調整能力がいるポジション。専門知識より対人能力が大事であるから
  • プロジェクト管理スキル、特に作業を分割するスキルが大事

    • プロジェクト管理に必須のスキルであり、システムを設計する作業と類似点もある

テックリードのコツ

  • プログラミングから手を引き、「技術面での貢献」と「チーム全体のニーズへの対応」のバランスを取る努力をおしまない

基礎知識

  • 最優先は「プロジェクトを推進するため、常に大局的に視点を失わないこと
  • 作業をデリバリ可能な単位に分ける
    • 皆が合意できるよう並行稼働が可能な部分をうまく抽出する
  • コードを書く仕事はやるべきだが、やり過ぎは禁物
  • 他のメンバーに任せる作業を見つける

プロジェクトの管理

  • プロジェクト管理の担当はテックリード
    • プロジェクトの計画を練る真価は、まぁまぁ満足のいく程度に予測し、計画する

プロジェクト管理の指針

  • 複数の工程に分割する

    • 好きなツールで複数のタスクに分割
  • 細部の引っかかりや未知の要素にもくじけない

    • もうこれ以上出せないと納得がいくまでやる
  • プロジェクトを指導し、調整を加えながら進行させる

    • どこまで進捗して、あとどれくらいかを把握する
  • 立案過程で得られた洞察を活かし、その後の要件の変化に対応する

  • プロジェクトが完了に近づいたら細部の詰めを
    • 見落としはないか、最後にリスクを洗い出す
    • プリモータムを実践
      • 検死官の職務である検死のこと。プロジェクトが大失敗に終わってしまったと仮定し、頭の中でリスクを検討してみるという手法
    • 祝杯も忘れずに!!

優秀なテックリードとは(まとめ)

  • アーキテクチャを理解している
  • チームプレイの大切さを理解している
    • 面白い作業は全部自分でやる人はダメ
    • 面白くない厄介なタスクも拾っていかないといけないが、決してそればかりやる必要もない。たまには面白いタスクも持って行くこと(時間があれば)
  • 技術的な意識決定を主導する
    • 一人ですべて意思決定しろということではない。むしろそれは反発を招く。以下を見極めること。
      • 自分が判断する事柄
      • 自分よりも豊富な専門知識をもっているメンバーに委ねる事柄
      • チーム全体で決断するべき事柄
  • コミュニケーションの達人である
    • 個人の生産性よりもチーム全体の生産性を重視
    • 卓越した指導者に共通する資質=コミュニケーション能力
    • テックリードは、コミュニケーション能力を伸ばすチャンスだと受け止める。
    • 傾聴も大事。「相手の発言を復唱」「相手の発言を自分なりの表現で言い換えてみる」

おしまい