エンジニアリングマネージャーの1日
公開: 2022-03-11エンジニアリングマネージャーとして過ごした8年間、私は自分の時間を定期的に追跡していました。 スタートアップエンジニアリングマネージャーとして、私は幅広い職務を担当していたので、どの分野に最も時間を費やしたかを追跡することで、適切な計画とスケジュールを立てることができました。
たとえば、私は通常、自分の時間の約3分の1を、チームが技術的な問題を解決するのを手伝ったり、チームメートとペアを組んだりするのに費やしていることを知っていました。 これを知って、私は彼らのためにいくつかの自由な時間のブロックを予約しました。 1週間が会議と全体像の計画でいっぱいだったとしたら、特定の問題についての意見を必要としていたチームのブロッカーになります。
多くの将来のソフトウェアエンジニアリングマネージャーが私の仕事とそれに伴うものについて私に尋ねたので、私は自分の時間をどのように過ごしたかについてこの詳細な外観を作成することにしました。 会社や役割はそれぞれ異なりますが、この投稿で、エンジニアリングマネージャーの1日を直接知ることができれば幸いです。
エンジニアリングマネージャーは何をしますか?
まず、エンジニアリングマネージャーとしての私の役割について少し説明します。私の最初の管理の役割は、大学教授向けの質疑応答プラットフォームであるPackbackでした。
会社に4人しかいなかったときにチームに加わりました。 それは本質的に私と創設者でした。 その間の3年間で、会社は500万ドル近くを調達し、30人近くに成長するのを見ました。 私のエンジニアリングチームはかなりスリムでした(2016年に退職したときは5人でした)が、会社での長年の間に私の役割はかなり変わりました。
Packbackを離れてTheGraideNetworkに参加した後、エンジニアリングマネージャーとして最初からやり直しました。 当初、私のチームは単なる請負業者と私でしたが、Graideでの4年間で、他の3人のエンジニアを雇い、より多くの製品管理業務を引き受けました。
私の日々の仕事は何年にもわたって大きく変化しましたが、ソフトウェアエンジニアリングマネージャーとして、私は最終的に、スケジュールどおりに予算内で期待どおりに機能するソフトウェアをチームが出荷するのを支援する責任がありました。
そこにあるトリッキーな言葉は「助ける」です。 それは正確にはどういう意味ですか? エンジニアリングマネージャーがコードを書くということですか? それとも、チームの全員がコードを書いていることを確認するだけですか?
簡単な答えは:それは異なります。
エンジニアリングマネージャーは技術的でなければなりません
一般に、エンジニアリングマネージャーは、チームの上級開発者よりも少ないコードを記述しますが、スキルを磨くためにコードを記述する必要があります。 また、チームメンバーが「動けなくなる」のを助けるのが得意である必要があります。 これは、技術的な質問に答えることを意味する場合もあれば、チームメンバー間の紛争を解決することを意味する場合もあります。
エンジニアリングマネージャーは、新しいエンジニアのトレーニングや、技術的および対人関係に基づいた候補者の評価において役割を果たす可能性があります。
エンジニアリングマネージャーは人と仲良くしなければなりません
「人に良い」ということは、明確にするのが難しいラベルです。
多くの人は、あなたが効果的なマネージャーになるには外向的である必要があると思い込んでいますが、それは必ずしも真実ではありません。 チームに共感を示し、技術的および個人的な課題を通じてチームを支援することは、エンジニアリングマネージャーの主要な任務の1つです。
しかし、エンジニアリングマネージャーも「管理」する必要があります。 これは、上司がフィードバックを求めたときにチームの最善の利益に気を配る必要があることを意味します。つまり、仕事が終わらない場合はチームメンバーを手放さなければならない可能性があります。
エンジニアリング管理について最も難しい部分
私が最初の管理職に就いたとき、最も困難な部分は自己評価の方法を調整することでした。 Nickolas Meansは、マネージャーのメタ生産性に関する彼の素晴らしい記事でそれをうまく述べています。
たまに、前回の打ち合わせが終わってから見上げる日があり、何もしていないような気がします。 私は一日中忙しくしています。会話をしたり、ドキュメントを読んだり、同僚やチームメンバーとチェックインしたりしています。 私は疲れ果てていますが、何も達成していません。 ニコラス手段
私がソフトウェアエンジニアとしてどれほど生産的であったかを知るのは比較的簡単でした。 私は通常、機能の出荷を進めたり、プルリクエストを開いたりしましたが、マネージャーとして、自分の一日が生産的であるかどうかを判断するのに非常に苦労しました。
だから私は自分の時間を追跡し始めました。 タスクに費やした時間は生産性の完全な測定値ではありませんが、仕事の各領域に十分な時間を費やしていることを確認するのに役立ちました。
エンジニアリングマネージャーはどのように時間を費やしていますか?
エンジニアリングマネージャーは幅広い責任を負う傾向があり、これらの責任は雇用主の規模と組織構造によって異なります。 エンジニアリングマネージャーがどのように時間を費やしているかを確認できるように、時間を4つのカテゴリに分類しました。

- テクニカル(35%)
- 管理職(35%)
- 募集(15%)
- 管理(15%)
このセクションでは、私がエンジニアリングマネージャーとしてどのように時間を過ごしたかを説明します。 各分野に含まれる特定のタスクと、それが私の日常業務の重要な部分であった理由について少し説明します。
私は8年間の管理職としてのキャリアの期間をかなり厳密に追跡していましたが、簡単にするために、各カテゴリを適切な丸め数に丸めることにしました。 ここでは、各タスクに費やされた正確な時間は重要ではありませんが、ある領域が1週間で急上昇したのか、別の領域で急激に低下したのかを知ることは役に立ちました。
テクニカル
私の時間の35%
技術的な作業には、コードの記述、コードレビュー、バグの特定、チームメートとのペアリング、ソフトウェアの更新とベストプラクティスの読み取りが含まれます。 チームが成長するにつれて、コードの記述とレビューに費やす時間は減少しましたが、エンジニアリングマネージャーにとって、少なくとも一部の時間をコードに深く費やすことが重要だと思います。
経営
私の時間の35%
これには、直接的な人事管理、タイムラインの作成、戦略的計画、および技術チームメンバーと非技術チームメンバーとの会議が含まれます。 私のチームが満足していることを確認し、ビジネス会議で彼らを擁護し、製品チームが技術仕様を作成するのを支援することはすべて、Packbackでの私のエンジニアリングマネージャーの職務の一部でした。
The Graide Networkでは、ソフトウェアの選択について創設者と相談し、重要なセールスコールに飛び込むことで、より戦略的な役割を果たしました。 興味深いことに、私が引き受けたタスクは異なっていましたが、時間の内訳はかなり似ていました。
採用
私の時間の15%
募集時間には、会議、ミートアップ、およびブートキャンプのコーディングに参加することが含まれていました。 ブログ投稿を書く。 求職者との面会。 技術的なスクリーニングを評価します。
私がオープンエンジニアリングの仕事をしていたとき、私は採用に多くの時間を費やしましたが、スマートエンジニアリングマネージャーは常に採用しています。 最高の候補者は通常、仕事を探すことはめったにない受動的な候補者であるため、私は毎週彼らの前に立つことに私の時間の一部を費やしました。
管理
私の時間の15%
最後に、私は週に数時間、メールの読み書き、Slackでの質問への回答、ランダムな会話、そしてチームをサポートするための「その他の」日常業務に費やしました。 マネージャーとして、私はこの種の気を散らすものをエンジニアリングチームから遠ざけるように努めましたが、必要に応じてチームメンバーと時間をスケジュールしました。
エンジニアリングマネージャーの仕事がチームを可能な限り生産的にすることである場合、管理作業のほとんどが彼らに委ねられるのは当然のことです。
優れたエンジニアリングマネージャーとは何ですか?
優れたエンジニアリングマネージャーになるために必要なすべての情報を1つのブログ投稿で提供できるとは思わないので、最初に焦点を当てる3つのことを取り上げます。
1.チームに力を与える
良いマネージャーになるということは、他の人が素晴らしいことを成し遂げるのを助けることです。
これは、マネージャーとしての影響がそれほど直接的ではないことを意味します。したがって、コードに頭を悩ませることはできません。 毎週の成果リストが縮小するのを見るのはイライラしましたが、個人の貢献なしにチームがより多くのことを成し遂げていることを受け入れるようになると、私はその役割を本当に楽しみ始めました。
2.過剰なコミュニケーション
チームが1つの部屋で作業している場合でも、世界中でリモートで作業している場合でも、コミュニケーターはマネージャーとしての最も重要な役割の1つです。 マーケティングでは、メッセージを内面化する前に7回聞く必要があるという考えがあり、これはチームのコミュニケーションにも当てはまると思います。
同じ会議ですべてを7回繰り返す必要があると言っているのではなく、1対1、グループ設定、電子メール、および通過で重要な変更を繰り返すことを検討してください。 変化は怖いですが、何かについて聞く人が多ければ多いほど、怖くない傾向があります。
3.落ち着きの源となる
最後に、エンジニアリングマネージャーとしてのあなたの役割は、「混乱を取り除く」ことです。
「あなたが入る部屋は、あなたがそれを離れる時までに、より確実でよりしっかりした計画を持っているべきです。 優れたリーダーは、人々が目標を見失い、全員を明確な道に沿って前進させることができる状況に踏み込むことができます。」
ドラマを作成したり永続させたり、チームを会社の他のメンバーから分割したり、チームメンバーを互いに対立させたりしないでください。 代わりに、あなたのチームが物事を成し遂げることができるように、不確実性とストレスを吸収する人になりましょう。
ToptalEngineeringブログで同様の記事を読んでください。
