👨‍💻

エンジニアリングマネージャーの役割と課題解決へのアプローチ

2024/05/29に公開

はじめに

今回 エンジニアリングマネージャーのしごと という本を読み勉強したため、そのまとめとして本記事を書きました。
会社によって役割が変わりやすい職種でありますが、それも踏まえてもエンジニアリングマネージャーという役割を俯瞰的に示してくれるいい本でした。ぜひ皆様も実際に読んでみてください。

生産性の維持と向上

エンジニアリングマネージャーの仕事は、メンバーの生産性を高め続けることにあります。しかし、企業が成長するにつれて生産性は低下していく傾向があります。この生産性の低下の主な原因は、コミュニケーションコストの肥大化や技術的負債の蓄積にあります。これらを整理し、管理することがエンジニアリングマネージャーの重要な役割となります。

生産性の低下に対処するためのステップ

生産性の低下が顕著になると、周囲はメンバーやエンジニアリングマネージャー自身に対して不信感を抱き始めます。まずはこの不信感をメンバーに向けさせないように対処する必要があります。そのために以下のステップを実行することが重要です。

  1. 隠れた複雑性を洗い出し対処法を見つける
    システムやプロジェクトに潜む隠れた複雑性を洗い出し、それに対処する方法を見つけます。これにより、潜在的な問題を早期に発見し、解決することができます。

  2. 常に進捗を示し、外部の人間の不信感を払拭させる
    プロジェクトの進捗状況を定期的に報告し、透明性を確保することで、外部の人々の不信感を払拭します。進捗を可視化することで、チームの努力が認識されやすくなります。

  3. ソフトウェアを実用主義で改修する
    ソフトウェアの改修においては、キャンプの鉄則である「来た時よりも綺麗にして帰る」を実践します。改修する箇所を改修前よりもリファクタリングし、システムの健全性を保ちながら進めます。

コミュニケーションの重要性

コミュニケーションの問題についても対処が必要です。ソフトウェアの設計はチームの形や規模の影響を受けるというコンウェイの法則があります。このため、肥大化してきたコミュニケーションコストを削減するためには、チームの再編成を行い、承認・報告のフローを整理することが求められます。効果的なコミュニケーションフローを確立することで、メンバー間の連携がスムーズになり、生産性の向上に寄与します。

1on1の重要性

これらの問題点を早期に発見し、メンバーの不満を解消するために1on1は非常に重要な場となります。メンバーに対して定期的に1on1を実施し、必ず会議前に何を話すのか準備してもらうように習慣化を目指します。

重要なのは、メンバーだけでなく上司に対しても1on1を実施することです。メンバーには直近の業務やマネージャーからのフィードバックを通じて、自分がきちんと見てもらっていることを示します。上司に対しては、自分が実施している方向性と上司の意図にズレがないかを確認し、メンバーに対する懸念を共有します。

結論

これらのステップを実施することで、不信感を払拭しつつ、メンバーの生産性を向上させることができます。エンジニアリングマネージャーは、これらのアプローチを駆使してチームを導き、企業の成長に貢献することが求められます。

Discussion