優れたアーキテクト/マネージャー/主任開発者を作るのは何ですか?


12

私は小さなソフトウェア会社の主任開発者です。過去2年間で、私のチームは1人の開発者(私)から約9人のグループに成長しました。私たちのほとんどは非常に有能なシニアエンジニアであり(1人あたり20年以上ソフトウェアを構築した経験があります)、ほとんどの場合、手で持つ必要はほとんどありません。スクラムを使用して作業を管理し、通常は最小限の書面要件で多くのことを迅速に完了します。

チームが成長するにつれて、プロジェクト全体の技術的な監視を維持しながら、かなりの量の新しいコードを自分で作成することが困難になったため、自分の役割を調整する時が来ました。ほとんどの時間を開発に費やしていないときに、チームにとって最も役立つものにするにはどうすればよいですか?

私の目標は、開発者を追加することでグループをさらに成長させる(つまり、スクラム速度を上げる)ことです。そのため、単にチームに意思を課す「アーキテクチャポリス」になりたくありません。言い換えれば、私は不必要な官僚主義の層を追加することによって物事を遅くする男ではなく、物事がより良く働く/気分を良くする男になりたいです。それでも、私たちの主なリスクの1つは、すべてを同じページに保持するのに十分な構造を持たずにさらに人を追加すると、物事が制御不能になることです。

私の目標を達成するための最良の方法は何ですか?


6
これが答えかどうかは定かではありませんが、個人的にはチームを編成し、管理を少しパーソナライズしてください。彼らが取り組んでいるものを知っている、彼らが取り組んでいるものを最新の状態に保つ、など。あなたがグループとして彼らを組織していないときは、コードレビューに参加し、少し余分な助けを必要とするモジュールを書き、個々の開発者と時間を過ごすかもしれません。役に立たないマネージャーが1人または2人いて、状況を確認するためにチェックインしませんでしたが、知りたくありませんでした(はい、悪いマネージャー)。
サイモンホワイトヘッド

タイトルであなたが言及した役割はすべて異なった詳細を持ち、異なるスキルのセットを使用すると思います。どちらですか?
陶酔

3
詳細な要件と「官僚主義の不要な層」は同じではありません。要件は、特に大規模なチームで作業する場合に、命を救うことができます。彼らの力を過小評価しないでください。
superM

回答:


12

もしあなたがこのようなチームにいたら、あなたの上司に彼の時間をどうして欲しいですか?

  1. 進行の障害を取り除きます。
  2. チームメンバー間の紛争を調停します。
  3. 私たちがする必要がないように、ビジネスの人々と対話します。
  4. より高いレベルのビジネス/プロジェクトに関する情報を提供して、孤立感を感じないようにしてください。
  5. 特に悪いリンゴがチームに入った場合/場合は、正直にしてください。
  6. 他の部門へのチームの支持者になります。
  7. 不合理なビジネスリクエストに対するプッシュバックの統一された声になります。
  8. チーム間のコミュニケーションを促進します。

おそらく私が忘れている束がありますが、それはその中核です。プロセスを実装しないでください。チームの規模が大きくなるにつれて自然に発生するオーバーヘッド/非効率性の一部を処理してください。


5
私は仕方がありませんが、このリストは非常に否定的であるように感じます。これは、「悪いものから私を守る」ようなものです。何についての肯定的な影響?
ニコール

1
@NickC上記はマネージャーの仕事だと思いました。プラスの影響とはどういう意味ですか?
BЈовић

2
@nickCええ、私は物事に否定的な見通しを持っている傾向がありますが、私の経験では、マイナスの影響を減らすことはチームの生産性と士気に最大のプラスの影響を与えます。特に、プロセスで人々を虐待することに懸念がある場合。
Telastyn

@NickC Telastynに完全に同意します。最終的に彼のリストは、技術的なリードがなければ開発者が直面することを強調するだけです。しかし、より肯定的なポイントを追加することもできます。「優れた技術リーダーは、製品の技術的な方向性に関する全体的なビジョンを持ち、チームがそれを理解していることを確認します。プロジェクトの重要な部分を処理するためにそれらに依存しています。」engineering.foursquare.com/2014/01/30/を
エイドリアンBe 14

6

管理職と技術職の両方のバランスを取ることができるチームリーダーには問題はありませんが、そのバランスをうまく管理している人を見つけるのは難しいです。

成長中のチームのチームリードから両極端のどちらかを選択しなければならなかった場合、それは本当に難しい選択ですが、最終的にはチームリーダーがマネージャーになりたいと思います。かなりの規模のチームでは、他の候補者が上級開発者の役割に参加して、チームの新しいメンバーを育成し、開発の面倒な作業を続けられることを望んでいます。

しかし、成長しているチームでは、間違いなく優れたマネージャーも必要です。実際、管理職の資格を持つ優秀な人物を持つことは重要です。なぜなら、適切な意思決定を行うのに十分な力を彼/彼女に持たせたいからです。優れたマネージャーは、チームの幸福に大きな影響を与えますが、それはまさにあなたが示している理由です。それらの生産性を維持するのに役立ちます-そしてあなたのように考えるためにあなたのために良い。ネズミのお尻を与えないマネージャーがたくさんいます。

プログラマーで他の投稿をいくつかお勧めします。彼らは公式の管理職よりもチームリーダーを対象としていますが、次のような場合に役立ちます。

チームリーダーへの移行

リード開発者として成功するにはどうすればよいですか?

チームリーダーとしてチームメンバーの尊敬を得る方法


「良いマネージャーはチームの幸福に大きな影響を与えます」:あなたは正しいと思いますが、これは「役に立たないマネージャーでもチームは幸せになれますか?」
エイドリアン14

4

私はそれがこれらの特性のバランスだと思う:

  • 技術的スキル:監督している仕事の質を評価できないリーダーを望まない。
  • 自己主導:目標を定義でき、リアクティブではありません。
  • 対立を活用する方法を知っている:対立が会話を引き起こす
  • Auto-didactic:彼/彼女がすべてを知っていることは重要ではありませんが、学ぶ方法を知っています。
  • 良い態度とエネルギー:注文をbarえる歌姫ではなく、みんなの仕事をやる気にさせてくれる人が欲しい。
  • 失敗の経験:おそらく最も重要なもの。私は非常に若いリーダーを見てきましたが、これまでのすべてに問題はないかもしれませんが、失敗の最初の兆候で、彼らは凍結するか、責任を回避します。年功は年齢とは何の関係もありませんが、適切な経験と失敗の量は間違いなく考慮すべきものです。

OTOH、インタビューは適切な人を得るための重要な部分です。インタビューでは次の質問をすることをお勧めします。

  • 「失敗を経験したプロジェクト、それをどのように管理し、そこから学んだことを教えてください」
  • 「ルールを破って物事を成し遂げたときを教えてください」
  • Fizz Buzzテストを適用してください。考えられるわずかなひねりを加えてください。

FizzBu​​zzテストは絶対に必須であり、正しいか間違っているかはそれほど重要ではありません。

  • 回答にかかる時間:平均15分、ボーダーライン30分、30分以上
  • 彼/彼女が自分のコードをデバッグできる場合:私はかつて15年の経験を持つ人が上級職に応募しました...彼はテストを完了するのに40分かかりました...擬似コードで...それは間違っていて、理由を見つけることができませんでした。別の男が約5分間自分を正当化するのに費やし、彼がまったく間違っていることを受け入れられなかった別のケースがありました。

1
+1。誰もが学習方法を知っている必要があります。
superM

FizzBu​​zzテストは、いわゆるの人を排除するためのinertia of mindものです。しばらくの間、複雑な問題に対処した後、私たちのほとんどは単純な問題の単純な解決策を見ることはできません。
superM
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.