多くのプログラマーが管理と管理の役割から背を向けているのを見ています。彼らはものを作りたいです。そしてその結果、これらのポジションの多くは非技術者によって満たされています。私は彼らがどのように付加価値を与えるのか見落としています。会議のスケジュール、オフサイトの予約、その他の管理作業は、彼らの役割を正当化するのに十分ですか?
彼らが現在どのように付加価値を付けているか、会議のスケジュール、オフサイトの予約、その他の管理が彼らの役割に十分に機能しているかを確認できません。
上司が他の部門と行うやり取りの量を過小評価しないでください。彼らは予算、トレーニング計画、人事事務を処理します。これらは、開発者が他の部門との会議に夢中にならないように保護し、グループに統一されたフロントを提供します。
要するに、彼らの仕事は、自発的な開発者をビジネスに存在する他のすべてのやる気を起こさせるものから保護することです。
最高のマネージャーは魔術師です。彼らは会社の残りの部分を開発者のために消滅させます。私は思い出せません ジョエルからの正確な引用 ですが、脂肪のインターネットパイプ、マシンの獣、たくさんのカフェインがあることを確認するのは経営者の仕事であるという事実に影響を及ぼしました。開発者は、自分たちが最も得意とすることを心配する必要があります。
優れたマネージャーは、グループ全体の会社全体の声です。
特にソフトウェア開発に適用されるため、マネージャーにはプロジェクト管理とチームリーダーの2種類の付加価値のある役割があります。
プロジェクトマネージャーは、クライアントや中間管理者とやり取りします。これは、開発者にとって時間の節約になります。多くの場合、プロジェクトで明らかになる説明やスコープの変更があり、クライアントとミドルマネージャーが単一の窓口を持つことは役に立ちます。開発チームのすべてのメンバーからの質問に回答しようとすると、記録されていないプロジェクトの決定と文書化されていないコミットメント、つまりスコープ管理の悩みの種につながります。
一方、チームリーダーはキャリア/スキル開発に関与し、ワークロードがチームメンバー間で適切に分散されていることを確認し、個々の貢献とニーズに見合ったリソースと報酬を提供します。
これらの役割はどちらもヘッドダウンプログラマを必要としませんが、実際にはその逆です。プログラマーは、質問または危機への最初の対応として、コード作成タスクにジャンプすることがよくあります。そのタスクを本当に実行する必要があるかどうかを尋ねる仕事を誰かが持つと役立つでしょう。
言及された他の利点に加えて、非技術系マネージャーは、専門家の間で行き詰まりがある場合、最終決定を下すのにより良い仕事をするかもしれません。これは直感に反するように聞こえるかもしれませんが、優れた非技術系マネージャーは、彼らの人々の長所と短所を理解しています。
例:2人のプログラマーが、アプリケーションに使用するサーバーについて議論します。ある種の疑似民主主義では、どちらも1票を獲得するため、決定は行われません。この戦争は永遠に続く可能性があります(また、一部の技術者にとってはそうなるでしょう)。誰かが介入してこの不一致を調停し、プロジェクトを進める必要があります。優れた裁判官は、この分野で最も専門知識のある人の意見に頼ります。
誰かがその分野で才能、スキル、知識を欠いているからといって、その人を特定できないというわけではありません。才能を認めることは才能です。
会議のスケジュール、オフサイトの予約、その他の管理作業は、彼らの役割に十分ですか?
はい。完全に十分です。また、熱やACなどの問題が発生したときに建物の管理を呼び出すのにも適しています。自動販売機とウォータークーラーの在庫が十分にあり、維持されていることを確認します。ノーシングのための特別なグッズを持ち込む;オフィスを清潔で整然とした状態に保つ...
他のそのようなタスクを考えて、それらを忙しくしてトラブルから守るために最善を尽くしてください...
彼らの最も重要な役割?邪魔にならないようにして、プログラマーと混同せず、他の非技術者が同じことを確実に行うようにします。
MLBボールクラブのような開発チームを考えてみてください(アナロジーはIMOで非常に優れています):マネージャーは常に元プレーヤーです-非常に熟練した、オタクで、特異な、専門家のチームの「マネージメント」の扱い方を知っているのは彼らだけです。ほとんどの「通常の人々」ができないことをする人。