技術的な専門知識なしで開発プロジェクトをリードする方法


17

私は自分のキャリア全体にわたって実践的な開発者であり、コードを扱うことが大好きです。私は常に、特定の技術に関する専門知識がほとんどまたはまったくないチームリーダーにleadしているが、特定の実装を主張しています。

今、私は見ているガラスの向こう側にいることに気づきました。私はC#で実装されるファットクライアントの主な開発者ですが、私の専門はJava Webアプリケーションの構築です。どの言語でもデザインパターンとオブジェクト指向パラダイムを活用できることは知っていますが、コーディング標準、プロジェクトライフサイクルツール、リリース/配布手順に関しては私は迷っています。1〜2か月以内に基本を習得できることは間違いありませんが、時間とともにしか収集できない特定の経験があります。

どうすればよいですか?開発中に嫌っていたプロジェクトリーダーにならないようにするにはどうすればよいですか?


12
そのように嫌われることを避けるために、あなたのチームメンバーと話してください。定期的に話し、頻繁に話し、1対1で話し ます。「...健全な1:1の文化に対するあなたの報酬は、ドラマの明らかな欠如です。」
ブヨ

1
この問題に対するあなたの肩書きと責任は何ですか?あなたはPM、シニア開発者ですか...?
NoChance

最高のものから学ぶ... youtube.com/watch?v=GjJCdCXFslY
jfrankcarr

1
しかし、真剣に、私はあなたが役に立つかもしれませんことをしばらく前にこの一連の記事を書いた:vbnotebookfor.net/2007/07/25/...
jfrankcarr

回答:


19

正直なところ、テクノロジーの経験がどれだけあるかは問題ではありません。私のアドバイスは同じです。管理に忙しい間、彼らと一緒に暮らさなければならない人にテクノロジーの決定を強制しないでください。

あなた自身に正直であれ。以前のマネージャーが嫌いだったのは、意思決定を行うための知識ベースがなかったからではなく、決定を実施し、結果に対処しなかったからだと思います。

これは、以前に.NETに触れたことがない場合でも、チームで最も専門的な開発者である場合でも当てはまります。あなたの仕事は、技術的な決定をすることではなく、管理することです。

開発者のスキルレベルに応じて、管理することは、開発者が要求したときにアドバイスすることを意味します。「Spring.NETを調べましたか?」(そこに指示がないことに注意してください)と言うのは完全に良いことです。また、「グーグル、周りの世界が何をしているかを見てください。私たちはこの問題に最初に直面しているわけではありません。」

いくつかの点で、経験豊富なJava開発者として、あなたはこれよりも優れた立場にいる可能性があります。ほとんどのJavaフレームワークとテクノロジには、.NETに類似した同等物があります。したがって、「ここで使用するのが最適です」と言う必要はありません。「Javaでこれを使用しました。.NETの同等のものを知っていますか?」と言うことができます。

また、チーム内で多くの会話を奨励します。毎週の技術的なディスカッションミーティングを手配します。最後に必要なのは情報だけです。あなたは彼らがどのような決定を下し、そしてその理由を知る必要がある チームのためにこれらの決定をする必要はありません。


2
正しい。主なことは、あなたの技術的な「スター」があなたがしたであろうものとは異なる意思決定をさせることをいとわないことです。それができれば、誰もが(もちろん上級管理職を除く)幸せで生産的になります。
ダニエルRヒックス

「だから、「これが最高の使用方法です」と言う必要はありません。「これをJavaで使用しました。.NETの同等物を知っていますか?」ほとんどの場合、同等のツールは、それが「N」で始まることになりますが存在する場合、あなたは一般的にこれらの自分自身を見つけることができるように。
ダン・ニーリー

彼は自分自身を「プロジェクトマネージャー」ではなく「主任開発者」としてタグ付けしていることに留意してください。私の経験では、これらは非常に異なるものです。
元気ウォンコ

@WonkotheSane:OPがプロジェクトリード、チームリード、リード開発者をすべて同じものであるかのように参照しているのは事実であり、紛らわしいです。しかし、私はそれらが使用されるコンテキストから手がかりを得ました。
PDR

@pdr-ほぼ同意しました。「デザインパターンとオブジェクト指向パラダイムを活用できる」という部分は、少し不思議に思います。
元気ウォンコ

6

テクノロジーについてほとんど知らない優秀なマネージャー/チームリーダーがいました。最悪のマネージャーの何人かは、すべてを知っていると思っていた人たちでした。

リーダーになるためには、適度な能力のある人がいれば、主なことは彼らの能力と判断力を判断し、「野生のアヒル」をタスクに、「かろうじて」 「有能な」「安全な」生産的な活動で忙しい。全員が同じドラマーに向かって行進していることを確認してください。

あなたの大きな課題は、上級管理職を寄せ付けないことです。彼らはレポートとスケジュールとチェックマークを必要とします、そして、あなたは彼らが何を望んでいるか、そしてそれらを合理的にうまく偽造する方法を理解する必要があります。(まあ、正確に「偽物」ではありませんが、あなたの時間やチームの時間を浪費することなく、それらを満足させるドキュメントを作成します。)


4

C#コーディングスキルに選ばれたわけではありません。最初からコードを書くつもりでない限り、C#を知っているかどうかは関係ありません。より高いレベルで考え始める必要があります:

  • チームの各人がテーブルにもたらすスキルは何ですか?
  • プロジェクトの成功に不可欠なコンポーネントはどれですか?
  • 実際のコードに加えて、何を作成する必要がありますか?(テスト?ドキュメント?)
  • まだ要件を収集していない場合はどうしますか?
  • あなたとあなたのチームは設計プロセスにどのようにアプローチしますか?
  • コーディング標準を持つことが重要であることは知っていますが、チームがどの標準に従うべきかを正確に把握することはできます。
  • 問題を早期に検出するにはどうすればよいですか?

これらのことの一部はプロジェクト管理の領域に渡ることがありますが、主任開発者として、これらの問題やその他の問題についてプロジェクトマネージャーと緊密に連携します。

ぜひとも、できるだけ早くC#で効果的に作業することを学んでください。あなたの役割は、構文とフレームワークの詳細を確認し、全体像を見ることにあることを覚えておいてください。


2

実践的なアプローチを取ります。簡単なC#入門書を手に取って、コードを記述してください。別の言語で目隠しをする方法を知っているであろういくつかの基本的なことを試してください。

プログラミングのスタイルと規則について読んでください。いずれにせよ、これは入門書の一部に記載されていますが、StyleCopやResharperなどの製品を使用して、慣れていないスタイルルールを適用することもできます。これにより、ソフトウェアをコンパイルする際の問題を回避するために、一般に受け入れられている方法で物事を行うように非常に迅速に効果的にトレーニングできます。

自分自身であり、あなたが既に持っている設計知識を適用します。基本は、言語に関係なく基本的に同じです。違いが生じるのは、構造の点で言語がどのように異なるかであり、テストアプリケーションを1つまたは2つ作成すると、その多くがすぐに明らかになります。

あなたが知らない明らかなことがあるなら、近づいてください。あなたのチームは、手掛かりなしで単に踏み込むだけでなく、正直さを尊重します。十分な情報に基づいた合理的な決定を下し、応答を検討するために常に数分かかります。支配しようとせずに積極的になる必要があります。また、ある分野の知識不足がチームをリードする能力を反映しているように見せることはできません。リーダーシップはメンタリングを意味しますが、メンタリングは、何か新しいことを学ぶ意欲を示すことができないという意味ではありません。


3
これはマネージャーとして何をすべきかとは正反対です。いくつかのコードを取得してスローダウンするのは魅力的かもしれませんが、それはもうあなたの仕事ではありません...あなたの仕事はあなたのチームがあなたが彼らに雇ったものを行い、彼らの経験と判断を信頼できるようにすることです。別のプラットフォームでスピードアップしようとすると、逆効果になります。
マイケルブラウン

@MikeBrownこれは、ポジションが管理職である場合にのみ当てはまります。私がこれまでに務めたチームリーダーの職務はすべて、プロジェクト管理、計画、およびこの職務に期待するその他の責任に加えて、かなりの時間のコーディングを必要としました。OPがマネージャーになると言っていたら、私の答えは非常に異なっていただろう。
S.Robins

あなたが正しい。私はそれが彼が経験のない技術のためであるという事実からマネージャーを想定していました。編集を行い、私のダウン投票を取り消します:)
マイケルブラウン

@MikeBrown編集する必要があると思うものがわかりません。彼がプロジェクトのリーダーになることになっているという彼自身の声明に基づいてOPの質問に答えました...しかし、私は答えを少し広げます。:)
S.ロビンズ

ああ、編集する必要があると感じたということではありませんでした...編集せずに投票を変更させてくれなかっただけです:(
Michael Brown

1

あなたがそのように考えて実際にそれを心配しているなら、あなたはすでにこの種のプロジェクトリーダーになるリスクを回避しました。適切な知識なしで勇気を持って意思決定を行うのは、まったく異なる種類の人格です。同僚があなたに言うことに対してオープンな心を保ち、あなたのチームで対話と情報交換の文化を創造し、奨励してください。


1

ここでプレイしているいくつかの問題のようです。

あなたが主導しているプロジェクトで使用されている技術と、そのプロジェクトの開発を管理するプロセス。

あなたはチームのリーダーですか、それともリード開発者ですか?リード開発者は、かなりの量の設計および開発作業も行います。したがって、これを回避する唯一の方法は、新しいテクノロジー習得して学ぶことです

実際にチームをリードしている場合は、チームを信頼し、プロジェクトの技術的な方向性の大半を彼らに誘導させる必要があります。もちろん、概念的には、その方向を正しい方向に保つことができます。

プロジェクトの開発支配するプロセスはほとんど適切にあるべきです。それらを読んで理解し、実行するだけです。

そうでない場合は、上司と交渉して、開発プロセスを導入するための助言者を得てください。これは非常に重要です。プロセスが所定の場所になく、アドホックである場合、非常に迅速に失敗します。

幸運を!


0

機会がたまに来ます..つかんでください.. C#の基本を学びましょう。オンラインからいくつかのチュートリアルを取得し、それに取り組んでみてください。最初は新しいコンセプトを習得するのは難しいでしょう。最初のタスクが完了した後、あなたはそれにある程度の自信を持ちます。

前向きに考え、難しい作業を試み、独自のコードをデバッグして、マスターすることを確信してください。

チャンスを逃さないでください。


0

たくさんの.Net開発者がいる場合、チームには多くの知識があり、おそらくそれを活用して開始する必要があると思います。Javaと.Netには多くの類似点がありますが、実際に知っていることは、実際にはあまり適用されないかもしれません。重要なのは、このプロジェクトに適切なものにするために何が重要であるか、および関連するリスクを知ることです。必要に応じて頻繁にチームと通信します。ソフトウェアエンジニアリングのプラクティスはプロジェクト全体で進化するため、プロジェクトの非常に早い段階で「ベストプラクティス」を得るのは難しいかもしれません。

私はあなたの経験とは逆に、ソフトウェア関連の分野ではない非常に環境に優しい卒業生チームを与えられました。何をする必要があるかを明確にする理由はすべてありますが(私は採用されました)、代わりに、ソフトウェアエンジニアリングの実践を進化させるために私たちを動かし、たくさんのコーチングと議論をするための実践を探しました。途中でチームからたくさんのことを学びましたが、1年以上の仕事を経て、最初の社内プロジェクトを実施することになりました!


-1

コーディング標準、プロジェクトライフサイクルツール、リリース/配布手順に関して、私は迷っています。

使用するのと同じテクノロジーを使用するオープンソース製品を見つけてください。

可能であれば、何らかの点で問題ドメインに似ているものを見つけてください。これは、同じテクノロジーとアクティブなアップデートを備えたプロジェクトを見つけるほど重要ではありません。

作業コードをダウンロードします。それを読んで。

使用するツールを把握します。それらを使用します。

オープンソースプロジェクトをビルドしてリリースする方法を見つけてください。ビルドしてリリースします。

オープンソースプロジェクト(多数の貢献者を含む)がベストプラクティスを示します。

1〜2か月以内に基本を習得できることは間違いありませんが、時間とともにしか収集できない特定の経験があります。

本当です。

オープンソースコミュニティから学びましょう。


2
オープンソースプロジェクトで作業している人々は、利用可能な最良のツールを使用しないか、標準に準拠していないこともあります(グッドプラクティス)。適切なツールを使用したり、業界の慣習を遵守したりするという点で本当に悪いオープンソースプロジェクトはほとんどありません(名前を付けたくありません)。
クリスチャンP

@ChristianP:いくつかの優れたオープンソースプロジェクトがありますが、非常に優れた大きなプロジェクトを見つけるのは簡単です。そして見つけ任意の一例として、オープンソースプロジェクトは、全く例よりも優れています。
S.Lott

どんな例も、どれよりも優れていることに同意します。しかし、ベストプラクティスやツールなどを検索する場合、プロジェクトが同じ問題を解決しなくても、優れたオープンソースプロジェクトから多くを学ぶことができます。
クリスチャンP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.