新しい上級開発者のタスク


21

明日から8年間の.NETの経験を持つ上級開発者が11,000行のコードアプリケーションで作業するようになりました。チームには、私と他のプログラマーがいます。両方ともそれぞれ約3年の経験があります。

これはマネージャーとしての私の最初のプロジェクト(私はプロジェクトの開発者でもあります)であり、既に確立されたコードベースを誰かに紹介しなければならなかったのはこれが初めてです。当然、各モジュール、展開プロセスなどを調べて、ソース管理リポジトリの場所、ドキュメント(最高ではありません)などを渡します。

新しい機能の作成とバグの修正を開始する準備が整うまで、どれくらいの時間を与える必要がありますか?


1
11,000行のコードがどれほど複雑であるかによります。8年の人(つまり、2003年に使用を開始した人)が1週間以内にフルスピードで実行できることを期待しています。
ラムハウンド

データポイントとして、数週間前、開発者を13,700行のJavaScriptコードを含むプロジェクトに再割り当てし、スプリント(1週間)で実際にそれについても考えずに生産的であると想定しました。
ロボット

@StevenBurnap:私はそれが好きです:)彼の足に火をつけて、彼が家を焼き払うかどうか確かめてください。
ジョエルイーサートン

私は本当に11k行はそれほど多くないと思っている唯一の人ですか?私は心の素晴らしさから一日を与えていただろう。
ルイコットマン

課題の選択の一部は、プロジェクトがどれだけ遅れるかにも依存します。既存のスタッフに新しいスタッフの影響を制限する方法についていくつかのアイデアについては、チェックアウトprogrammers.stackexchange.com/questions/164781/...
DeveloperDon

回答:


38

初日にいくつかの低優先度のバグを割り当てます。そうすれば、すぐにやらないと誰も悲鳴を上げることができず、新しい開発者にコードベースに慣れる時間が与えられます。

最も重要なことは、最初の数週間に彼のすべての作業のコードをレビューすることです。あなたは、その男が間違った方向に進んでいるか、会社のコーディング基準に従っていないことに気付かないでしょう。彼が最初から何が期待されているかを知っていることを確認し、コードレビューがこれを保証するのが良いです。もちろん、コードレビューはすべての従業員に適していると思います(展開前にコードの100%をレビューします)が、新しい従業員にとっては重要であり、質問に答えたり、持っていないドキュメントを参照したりできる場所で直接行う必要があります必要であればまだ見た。

あなたが望んでいないのは、新しい人がやって来て、他の人とは異なるスタイルを使っているということです。新しい場所で使用されているコードスタイルと競合する場合でも、他の開発者が混乱や迷惑をかける可能性がある場合でも、多くの場合、以前のジョブのコードスタイルを使用しようとします。

経験豊富な開発者でさえ気づいたことの1つは、一部の開発者はインタビューのようには見えないことです。コードレビューはこれをすばやく見つけるのに役立つため、修正できます。また、彼らが実際に何かを成し遂げることを奨励します。コードレビューされていない新しい従業員が誰かに何をしているかを見せずにプロジェクトを引きずり出し、彼らがヒットしないとわかった締め切りの1週間前に去るのを見ました彼らは頭上にあり、実際にはプロジェクトのどの部分も完了していませんでした。あなたが本当にうまくいくと確信するまで、新しい人と一緒に早期に頻繁にチェックする方が良いでしょう。

また、新しいプロジェクトがレガシープロジェクトの状態にapp然とするのは普通のことです。それは彼がそうあるべきだと思うように設計されていません。これを期待して、彼の声を聞いて、彼の言うことをすべて自動的に却下しないでください。特に、この人はあなたや他の開発者よりも多くの経験を持っているように見えます。彼はあなたが考慮していなかったことを見るかもしれません。ただし、マネージャーとして、提案された変更を現在のワークロードと期限とのバランスを取る必要があります。既存のコードをリファクタリングする方法を学習するのにある程度の時間を費やし、特に新しい人が有効な懸念を持っている場合は、それを行うために時間の見積もりに数時間を費やすことができます。あなたはおそらく完全な書き直しをサポートすることはできません(新しく来る人の多くは私たちがやり直し、それをより良くするべきだと思います)

彼が完全に貢献することを期待されていない(そしてクライアントによる時間を完全に説明する)時間があれば、あなたがやりたいと思っているが、まだしていないリファクタリングのいくつかを始めることができる時かもしれませんする時間がありました。新しい人のトレーニング期間を使用して、プロジェクト計画に含まれていない事項に対処することが良い場合もあります。彼らはコードベースを学ぶことができ、彼らがやりたいことがうまくいかない場合、既存のスケジュールにまだ考慮していないので、既存のスケジュールに影響を与えていません。そして、それが機能する場合、将来のメンテナンスを容易にするか、セキュリティを改善するか、問題が何であれ、あなたは大きな勝利を得るかもしれません。


これは素晴らしい答えであり、特にコードレビューとプロジェクトの現在の状態に関する開発者の意見に関する部分です。幸いなことに、これはレガシープロジェクトではなく、実際には非常に新しく、非常に速いペースで進行しています。
-MrBliz

1
+1-良い点はたくさんありますが、スキルレベルを評価し、チームと同じページにアクセスできるように、すべての作業を確認することが絶対に不可欠であることを繰り返したいと思います。残念ながら、これには最初の数週間よりもかなり時間がかかります。別の+1は、インタビュー時ほどではありません。インタビューと彼らが現れる日の間で多くの人々に何が起こるかは、私には謎です。ロボトミーは実際に見られるほど一般的ですか?それが私が思いつくことができる唯一の説明です。
ダンク

はい、作業をレビューして、確立された標準から逸脱していないことを確認します。しかし、彼らが8年の経験があり、あなたが3年持っているなら、おそらくあなたよりも多くを知っているでしょう。彼らにあなたのやり方で無理やりやらせないでください。
-DJClayworth

2
@DJClayworth、新しい人はより多くの知識を持っている可能性が高いことに同意しますが、OPは彼が異なるやり方をしたいことに注意を払う必要がありますが、システムと要件に関するあなたの知識が彼のより良い一般的な知識に勝る場合がありますシステムの履歴と要件に基づいている理由により、最適ではない道を進むように彼に指示する必要があるかもしれません。時々、彼らはまだ気づいていないかもしれない理由のためにあなたのやり方で物事を行うと主張する必要があります。もちろん、あなたがそうするとき、なぜそうするのかを説明する必要があります。
HLGEM

@ダンク:私の経験では、世界で最悪の人々でさえ、仕事に必死であるとき、インタビュー中に数時間自分自身を振る舞うことができます。そのため、契約社員、インターンシップ、およびコードサンプルが新規採用では非常に重要です。
ヨルダン

18

小さなタスクですぐに起動します-大きな画像を必要としないもの。

彼らがより自信を持ってコードベースに慣れてきたら、彼らをより大きなタスクに卒業させます。どれくらいの速さで起こるかは、主にそれらに依存します。


これはほとんど私が考えていることです。
-MrBliz

+1、特にコードベースが小さいため、これは非常に簡単です。
ルイスコットマン

8

コードを掘り下げるのに時間がかかり、最初の数日/数週間は多くの質問が出されることを理解して、私は常にタスクをすぐに割り当てたいと思っています。

実際に何かを修正したり変更したりするまで、プロジェクトに完全に頭を悩ませることはできません。

また...プロジェクトがどのように機能するかを説明しても、「おっしゃるのを忘れてしまった」、「この問題にぶつかったので、これをやった」という瞬間があります。あなたは実際に仕事を始めます。


+1新規採用者がプロジェクトをふるいにかけるのが早ければ早いほど、新規採用者は自分がやっていることに対してより早く快適になります(所有権/説明責任を引き受けます)。
チャドハリソン

3

どのぐらいの間?

ロープの長さは?

彼が快適になったとき:彼が最初のバグを修正したら -> 彼は準備ができています。


3

オープンソースコミュニティでは、プロジェクトに参加したいと思ったすべての人が最初にいくつかの小さな問題に対処します。彼または彼女が問題を非常にうまく処理できる場合、より重要なタスクが彼または彼女に割り当てられます。このようにして、彼らはプロジェクトの中心的な開発者になるでしょう。

この上級開発者は、.NETで8年の経験があるため、修正するためにいくつかの簡単なバグを割り当てることができます。彼がそれらに対処するのが簡単な場合は、複雑な問題を割り当てて、アプリケーション全体に慣れるのを助けることができます。その後、彼は新しい機能の作成と奇妙な問題の分析を開始できました。それだけで、セットアップ時間はありません!


2

8年の経験。私は彼をただ投げます。彼は泳ぐことができるはずです。他の人が指摘しているように、小さな簡単なタスクから始めます。これにより、コードのチェックイン/チェックアウトプロセス、および他の開発プロセスを手探りで確認できます。

私は何度も転職し、最初の1週間以内にすべての職に貢献しました。最も難しいのは、コードをコンパイルするのに1週間かかりました(少なくとも100k行以上のコード)。そのプロジェクトのフルビルドには8時間かかりました。

私は最初の週に80時間のような仕事をしました(プロジェクトは真剣に遅れていました)。


誰もがそれが男だと思っているのは興味深い... :)
MrBliz

1.英語ではデフォルトの代名詞は男性的であり、常に「he or she」と入力するのが適切ですが、ほとんどの人が望んでいるよりも労力がかかります。2.プログラマーの何パーセントが女性ですか?この場合、デフォルトで男性に設定すると、その側に統計があります...だから、特に男性や女性であると仮定するのではなく、ランダムな個人を参照するデフォルトのシンプルな方法を使用することを想像します。
チミン

私は男なので、他のみんなもそうでなければなりません:-)。私の書き方だけでは、私は彼/彼女をいつも書くのに十分な規律がありません。
ビルリーパー

1

小さいアプリと経験のある開発者にとっては、基本的なバグには1日で十分だと思います。1週間近くのバグまたは小さな機能の関与(問題のドメインとアーキテクチャが明確になった場合)。


2
私の基準はおそらく高すぎると思いますが、あなたの... 1日...そして1週間は本当に生産的です?IME、それはあまり現実的ではありません。
ダンク

@Dunk:タスクを割り当てられ、完全に失われることなくそれらに近づくことができますか?など、より多くを学ぶために依頼する人知っている私は、彼らがフルスピードでだろう言っていないんだけど、その時点で彼らは、コードベースを狩ることができるはず
Telastyn

はい、真剣に。11k LoCはそれほど大きくありません。デバッガーでビルドおよび実行されるようにセットアップし、それがどのように機能するかを示します。それで十分でしょう。
gbjbaanb

1

答えは次のとおりです。何かのエラーを1つ修正したり、GUI要素の色を変更したりしたい場合は、約5分(ここでコードを保持します)、アプリのアーキテクチャ全体の完全な再設計が必要な場合もう少し必要です。

それは本当にあなたが彼が実行することを期待するタスクに依存します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.