web-dev-qa-db-ja.com

チームにおけるシニアWeb開発者の役割は何ですか?

他の3人のWeb開発者のチームと一緒に、私は1年間リードWeb開発者の称号を手にしました。これは私のリードとしての最初の仕事です。

私は自分の役割が管理から何であるかについてかなり決まっています。他の上級レベルの開発者が何をしているのか知りたいです。私は主に、他の組織のリード/シニア開発者として他の人々の責任が何であるかについて興味があります。中小企業でしか働いていないので。

(a)組織のシニア/リードWeb開発者に(規模に関係なく)何を期待しますか?

(b)Web開発リーダーと上級Web開発者の間に違いはありますか?

私はいくつかのスレッドを確認しましたが、 自分を上級開発者と呼ぶ必要がある場合 について議論したスレッドは1つしかありませんでしたが、上級開発者がチームで行うべきことの役割について包括的に説明していません。

20
chrisjlee

プロジェクトマネージャーの視点

あなたは、技術的な側面に関連するあらゆるものの単一(またはデフォルト)の連絡窓口です。あなたは他の開発者の仕事を純粋な力で動かし、模範を示し、またはあなたの方法が何であれ、続けることが期待されています。

リードではない開発者の視点

あなたはロールモデルです。経験の浅い開発者があなたを尊敬し、行き詰まったときに技術的な質問をすることを期待してください。

考える

あなたが本当にインターネットにあなたの役割/仕事を定義するように頼んでいるなら、やめてください。実際の答えについては、経営陣に相談してください。

22
J.K.

リードデベロッパーとしての主な役割は2つあります。それは、業務のビジネス面でチームの擁護者になることと、チームに技術的なガイダンスを提供することです。

擁護者として、要件をチームに伝えるのを手伝い、ビジネス側(管理者、プロジェクトマネージャー、営業担当者など)が非現実的な要求や要求を行ったときにプッシュバックし、通常、チームがコードを書くのを妨げるあらゆることに対処する必要があります。

テクニカルメンターは、チームが適切な意思決定を行えるように支援し、チームが抱える技術的な問題を支援し、適切な解決策を導く必要があります。あなたは彼らに彼らのスキルを向上させるように励ますべきであり、そして適切な開発基準に従うための絶対的な執事になるべきです。

最も重要なこととして、あなたは非の打ちどころのないロールモデルである必要があります。コードは最高水準である必要があり、プロジェクトは予定どおりに納品され、最高品質である必要があります。あなたがすることはあなたが言うことよりもはるかに重要になるでしょう。

編集:もう1つ。 proactiveである必要があり、技術的な問題があります。チームが問題を抱えてくるのを待たないでください。彼らが取り組んでいることに注意し、時間がかかりすぎている場合、トリッキーなことやコアスキルセットの外にいることがわかっている場合、またはイライラしているように見える場合は、彼らのところに行きます。チームのメンバーがあなたなしで技術的な問題について話し始めたときに耳を傾け、ifにステップインしますまともな解決策から、または彼らが輪になっていて何も達成していない場合。

9
MattBelanger

さて、説明しましょう... リーダーシップ

チームのミスはすべてあなたのミスです責任をとる。

成功についても同じことが言えますが、実際にはこれはソフトウェア開発であり、成功は控えめです。成功した過剰に対処する上で問題はほとんどありません。 。

それらの間違いに集中してください。それらを避け、それらを最小化し、それらをチェックしておくようにしてください。

そして、偉そうになってはいけません、あなたがそうすればあなたのチームはより多くの間違いをします

5
ZJR

IMOの役割はガイダンスの1つです。あなたは問題を回避しているため、別の(ジュニアではなくシニアではない)開発者がFoobarモジュールで質問をしたり、問題が発生したりした場合、「Xを実行しようとしているFoobarで、何かアイデアはありますか?」また、チームの目標と労力を管理者に伝える必要があります技術的な問題についてチームと協力しながら(たとえば、プロジェクトに4か月かかると考えている場合は、洞察しないでください。 CEOに1か月で完了することを伝え、全員に時間外労働を強制する)。また、コードが適切な品質であることを確認し、他のチームメンバーが物事を正しく行っていることを確認する責任も負う必要があります。

もちろん、これは理論的なことです。チームによって異なります。私は過去5年間、現代の発展について何も知らず、上級管理職の「スミザーズ」であり、「サー、イエスサー!」と言う「シニア」の下で働いてきました。他のチームメンバーからのとんでもない、途方もない創造性に関係なく、あらゆる需要に対応し、一定の学習や職人技ではなく、非常に光沢のない作業環境を奨励しました。私はまた、非常に知識のある上級開発者の下で働いて、物事が可能な限り最高であり、管理のプレッシャーに屈することのないように積極的な役割を担いました。

4
Wayne Molina

私は上級開発者であり、私にはいくつかの技術リーダーがいます。違いは、彼らがテクニカルプロジェクトマネージャーであることです。技術的な問題をめぐって開発者間に矛盾がある場合、彼らは何をすべきかについての決定を下します。物事が遅れている場合、彼らはそれに対処する方法を決定します。彼らは、人々がプロジェクトに時間を請求すること、必要に応じてさらに多くの時間が要求されること、新しいタスクが割り当てられること、コードレビューが行われることを確認する責任があります。私は通常、より難しいタスクを割り当てられます。私は先輩として相談され、後輩のメンターになることを期待されています。技術リーダーもそのすべてを行いますが、彼らにはプロジェクト全体の成功に対する決定力と責任があります。私は先輩として、自分のプロジェクトの一部のみを担当しています。

4
HLGEM

他の人々はこの質問の基本的なリーダーシップの側面をカバーしているので、私は質問を直接の質問に集中するように努めます:

(a)組織のシニア/リードWeb開発者に(規模に関係なく)何を期待しますか?

私は強い性格と技術的な知識ベースを持つ人を期待しています。アイデアを取り壊すだけでなく、不十分だとわかったアイデアに代わる新しいアイデアを提案してくれる人を期待しています。私は部下の開発者を押したりいじめたりせず、各個人を動機づけ、教え、指導する方法を見つけようとする人を期待しています。私は、プロジェクト、概念、および決定の責任と所有権を喜んで取る誰かを期待します。 「イエスメン」と「ウォールフラワー」は適用する必要はありません。シニア/リードは、コードを扱うのと同じくらい効果的に人々に対処できる必要があります...場合によってはさらに優れているかもしれません。

(b)Web開発リーダーと上級Web開発者の間に違いはありますか?

私が観察した主な違いはスコープの1つであり、どこにも書き留められたことはありません。通常、リードは1つのチームの生産性を担います。シニアは、複数のチーム、単一のチーム、またはチームを持たない場合があります。リードは、彼の部下の開発者が特定のプロジェクトまたは割り当ての範囲内で目標を達成するのを助けることが期待されています。部下とは、主に技術的に「担当」しているプロジェクトに割り当てられた開発者を意味します。私は多くの場合、何人かの開発者が私と同じか、それよりも年上の人であるプロジェクトのリーダーであることがわかります。そのため、そのリーダーがチームの最も「シニア」なメンバーであることは当然ではありません。その範囲を考えると、シニア開発者とは、組織全体が誰をも助けるために必要な知識と経験を持っていると期待できる人です。シニアは、組織の他の開発者にとって(他の誰かが言ったように)ロールモデルであることが期待され、技術的な問題でジュニア開発者を支援することも期待されています。

要するに、私にとっては、リードが役立ちます。先輩が教えます。

2
Joel Etherton

シニアWeb開発者は、問題を解決し、さまざまな解決策を見つけ、自分で最善を実装できる人物と見なすことができます。ある意味で一人軍。チーム全体のパフォーマンスの向上を支援するために、ジュニア開発者を指導する。場合によっては、上級者が他の開発者よりも優れたものを本当に知っていることが期待される場合があるため、さまざまなソフトウェアパッケージの専門知識を利用することもできます。一般に、開発者が習得したスキルは、メンタリング、コンサルティング、コーディング、設計、および作成プロセスを組み合わせることで最大の利益を得ることができます。

主要なWeb開発者は、いくつかの異なる形で頭に浮かぶことができます。チームのリードは管理責任者であり、全体的なパフォーマンスレビューを行う人です。開発者が割り当てられ、一部の事務処理を処理している間は、どのプロジェクトが開発者でもあることに注意してください。チーム内で標準と実践を実施する責任があるのはこのプロジェクトのためだけなので、人の焦点がはるかに狭いプロジェクトのリードもあります。したがって、リードが本当にリードしているものは何かという疑問がありますか?管理の観点から見たプロジェクトまたは開発者グループ?

2
JB King

ジョナサンが上で述べたように、多くの異なる見方があるかもしれません。

上級開発者は、グループのアーキテクチャ上の決定を設定し、上位レベルの開発グループミーティングのチームの代表として行動することができます。また、メンターとしてチームメンバーの技術活動を指揮することもできます。

また、プロジェクト管理者とビジネスユーザーの両方と連絡を取り合うこともよくあります。プロジェクトの成果物をいつどのように提供するかを決定するのを支援し、長期的にプロジェクトアイテムの優先順位を交渉する機会を持つことができます。

手短に言えば、あなたの役割は、あなた自身の管理(技術面とビジネス面の両方)によって境界が設定されている場合、それをどのように選択するかです。

2
JW8