新規採用者の生活を快適にする方法を教えてください。[閉まっている]


36

残念ながら、レガシーの理由でドキュメントがほとんどないソフトウェアチームのシニアメンバーとして、新入社員を快適にするためにできることは何ですか?

私は、特定の欠陥/機能要求についての人とのデバッグセッションを計画しており、コードベースに精通させています。ただし、コードベースは実に大きく、この方法で人に公開できるのは一定量のコードだけです。

新規採用者が最近の卒業生または経験豊富な専門家である場合のいずれかの場合の提案を探しています。


3
「レガシーの理由」とはどういう意味ですか?
ジョブ

9
@ジョブ:コードの元の設計者がドキュメントを信じていなかったことを意味します。彼らは神秘的な人々でした。
-Fanatic23

7
新規採用には時間とサポートが必要であり、即時の期限はありません!私は、クライアントのパッチのためにバグをできるだけ早く修正する必要がある新しい雇用者でしたが、その多くはかなり関与していました-私は歩き回り、文字通り6人と話し合い、対立する答えを出す必要がありました。私はあまりにも多くの質問をしたので、誰かがひっくり返った。その人が自分でコードを修正した方が簡単だったでしょう。私は、人の空き状況+即時の締め切りなし+行ったときに物事を改善する能力(割り当てられた時間)が必要でした。私はほとんど辞めたが:(経験のためにではないことを決めたので、私は、それらを持っていなかった
仕事

@ジョブ:非常に便利です、ありがとう。即時の締め切りは良いスタートではありません。物事を改善する自由な手は、間違いなく候補者の自信を改善します。
Fanatic23

回答:


31

これらは、新入社員であれ、業界での豊富な経験を持っているかに関係なく、新規採用に本当に当てはまります。

  1. 近づきやすいことを確認してください。あなたが忙しくて彼らがあなたのシステムに慣れるのを助けることができないなら、彼らにメンターを割り当ててください。メンターが人柄を持ち、新入社員と一緒にランチに出かけるなどのことを喜んで行うようにします。メンターの仕事は、新入社員が抱く可能性のある質問に答え、必要に応じて支援を提供することです。
  2. それらに割り当てられているタスクには、依存関係ができるだけ少ないことを確認してください。システムに新しい人(新鮮または5年以上の経験)がシステム全体に依存関係を持つタスク(タスクを完了するために学習する必要があるタスク)を割り当てること以上に圧倒されると感じることはありません。
  3. 何らかの形式の連絡先/所有権リストをイントラネットサイトまたはそれらのラインに沿って利用できるようにします。新しい人々(特に新入生)は、通常、「xサブシステムについて誰に尋ねるのか?」という質問についてかなり暫定的です。雇用者にリストが提供されている場合、彼らは正しい人を見つけるために人々のチェーンを介することなく、電子メールを送信したり、彼らと直接話をしたりすることをはるかに喜んでいます。
  4. ドキュメントを取得します。Doxygenなどのユーティリティで解析できるコメントを含むコーディング標準を適用します。少なくとも、これにより、新規採用者はAPIを参照することができます。NetbeansなどのIDEを使用する場合、Javadocコメント形式を使用すると、コード補完とともにドキュメントが提供されます。新しいシステムを学習する際に非常に貴重です。
  5. 会議/ランチ/ヘイジングなどを歓迎してください。基本的な個人的な礼儀なしに誰かを机に倒すと、チームから離れた感じがすることがあります。

1
感謝しますが、新入社員が物事を理解するのが難しすぎて、Max。レベルに教えても彼の過ちを受け入れないようにしようとしたらどうでしょうか?もう一度ありがとう
Naveen Kumar

2
@naveen:悪い採用などがあります。もし彼らが自分の仕事について絶対に学んだり説明責任を負おうとしない(またはできない)なら、私は彼らのマネージャーと話をして彼らの手に任せるでしょう。さらに支援し、おそらく(願わくば)軌道に乗せるか、新規採用者はあなたの会社から他の利益を追求したいと思うかもしれません。
デミアンブレヒト

10

私は本当にこれであなたを助けることができると思う。18歳のとき、私の最初の仕事はJr. .Net Developerの職でした。彼らは非常に大きなフレームワークを持っていたので、彼はすぐにCABのクラッシュコースを学び始めました。最初のプロジェクトが来たとき、プロジェクトを見積もり、SqlServerとそのフレームワークを学ぶことが期待されました。これをすばらしい経験にしたのは、見積もりからSqlServer、そのフレームワークまでのプロセス全体を通して、私のシニア開発者が私のためにそこにいたことです。彼を質問や助けのリソースとして使うことができたので、私は非常にタイムリーに学ぶために必要なものを学びました。心に留めておいてください、これは私がコロラドにいて、彼がカリフォルニアにいた間にも行われました。(リモート開発)。彼は私にCABに関するホワイトペーパーを読んでもらい、良いリソースなどを教えてくれたので、彼がすべての教育をしなければならなかったわけではありません。しかし、質問になると彼はそこにいました。一番下の行、あなたはあなたのジュニア開発者のサポートである誰かが必要です。特に、彼らが会社とともに学び、成長し、良好な仕事上の関係を持ちたい場合。彼らは私がカリフォルニアに移ることを望んでいたのは、彼らが私が学んで進歩することができた率と私の仕事に満足していたので、残念ながら私はコストなどのために移動できなかったからです。

その1つの経験は、私にも大きな特徴があります。現在、私は地元の都市の企業や財団のために自分でソフトウェアを開発していますが、まだ21歳です。最高の最初の仕事であり、RenEvo Software&Designs(私のシニア開発者)のTom Andersonに非常に感謝しています。素晴らしいメンター。


ストーリーを共有していただきありがとうございます。ある時点でそこにいた後輩候補者にとって、そこにいることはどんな感じかを理解しています。
-Fanatic23

よくやったトム・アンダーソン。良い話。
ゲイリーロウ

トム・アンダーソン-デビッド・アンダーソン。偶然ですか、それともトムと関係がありますか?
-zeroef

奇妙なことに、偶然。
デビッドアンダーソン

4

私が今いる会社であるIMOは、新規採用に適しています。ここに、私が効果的であると見たものをいくつか紹介します。

メンター

経験豊富な開発者の中には必要だとは思わない人もいるかもしれませんが、メンターになる担当者は1人います。この人は答えることが使用可能にする任意のあなたが持っている可能性が質問を。彼らが新入社員の近くに座っていれば、より効果的です。メンターの重要なポイントは、新規採用者、特に後輩が十分な質問をしないというtrapに陥らないように十分に快適になるようにすることです。

ドキュメンテーション

すでに言及しましたが、ドキュメントが役立ちます。wikiには、基本的にあなたの仕事の最初の2週間を説明するドキュメントがあります。最初の2週間の立ち上げを終える頃には、溝に入り込み、土地を手に入れ、そこで快適に仕事をすることができます。


メンタリングが多すぎると、ほとんどの場合ベビーシッターを必要とし、コードなどを読むのではなく、実際には何でも尋ねます。
ファルコン

1
@Falcon:実際にそれが起こるのを見たことはありませんが、メンターは、質問に答えるために新しい雇用者の高可用性を維持する人として、新しい雇用者に役割が明確に定義された人のことを明確にすることができますまたは、必要な情報に新しい雇用を向けます。繰り返しますが、少し間違った呼び方ですが、この役割のより良い名前を考えることはできません。
スティーブンエバーズ

1
@falcon:私は同意しません(ジュニアのみに推奨することについて)。経験のある人は自分だけで良くなりますか(大丈夫、そうすることができます)、またはメンタリングで簡単になりますか?あります常により良いあなたよりも誰か、周りより長くなって、あなたはあなたが新規採用やCTOしているかどうか、あなたのキャリアの中でその次のステップに得るのを助けるために、から学ぶことができることを誰かの誰かが。
デミアンブレヒト

1

忍耐

新しい会社に参加することは、特に習得すべき新製品があり、慣れ親しんだものとは異なるツールを使用する場合は、非常に困難な場合があります。彼らに新しい環境に落ち着いて、スピードに慣れる時間を与えてください。実行するタスクを割り当てますが、通常の経験豊富なプログラマがかかるよりもはるかに時間がかかることに注意してください。

サポート

専任のメンターを必ずしも割り当てる必要はありませんが、必要なときに助けてくれる人がたくさんいることを確認してください。


誰もがさまざまな学習方法を持っています。メンターが必要だと感じる人もいれば、メンターが遅くなると感じる人もいます。すべてのソリューションに適合するサイズはありません。その代わりに、彼らが自分たちの地を見つけて支え、彼らがロープを学ぶのを辛抱強くさせてください。


1

私は4か月前に新しい仕事に着手しましたが、私の新しい職場は、この新しい雇用に関して本当に良い仕事をしたと思います。

A.バディ

彼らはいわゆる「バディプログラム」を持ち、開発者は新しい従業員のバディ/メンターになるためにサインアップすることができます。新しい開発者が採用されると、同じチームの開発者(バディにサインアップした人)が新しい男のバディ/メンターになります。新しい男を立ち上げて走らせ、遭遇する問題で彼を助け、彼と一緒に昼食に行き、チームに彼を紹介するなど、彼の責任です。

B.低依存性

これも以前に言及しましたが、コードベースの完全な知識がなくても、重要ではなく、実行するのが難しすぎる割り当てから始めます。知らないコードベースに投げ込まれ、それから1日目から実行する必要があることほど悪いことはありません。可能であれば、比較的簡単で、システム全体にまたがる割り当てを行います。そうすれば、彼はシステムの知識をいくらか得るでしょう。

おそらく、コードを最初に書いたときに、実行する時間がなかった小さなタスクがあります。それらのタスクを彼に与えてください。

C.新入社員トレーニング

これはおそらくほとんどの人にとって贅沢ですが、私はこれを行う余裕のある大企業で働いています。毎月または2か月ごとに、ある種の新入社員トレーニングが手配されます。これは基本的に、新入社員にシステムに関するある種の知識、テストの実施方法、バグ追跡の仕組みなどを提供することを目的とした一連のプレゼンテーションです。

私が働いている場所には、まったく別のタスクに取り組んでいるが、同じソフトウェアに取り組んでいる多くの異なるチームがいます。各チームのメンバーは、ソフトウェアの各部でプレゼンテーションを行うように割り当てられており、そこで各部の機能や仕組みなどについて紹介します。それに加えて、テストの作成方法、テストの実行方法、コードベースへのチェックイン方法などに関するテストのトレーニング(私はテスターとして働いています)があります。


要約すると、新入社員に優しくなり、最初の1か月ほどは新入社員に深刻な仕事を期待しないでください。ヘルプを得るためのツールを提供し、可能であればプレゼンテーションやビデオを提供します。


1

一枚の紙に簡単なスケッチを描きます。機能ブロックとデータはそれらの間を移動します。新しい採用者がこのリストを手元に置いて、彼が触れようとしているスポットがどこにあるか、どのモジュールがリストに階層的に影響するかを調べることができます。

他のすべては時間とともに来ます。しかし、2行のコードを変更する必要がある場合に気が滅入るのは全体像ですが、依存モジュール、コードブロックなどにどのような副作用が生じるかはわかりません。


0

前に述べたことに加えて、時間、教材、社内授業、書籍などを提供することにより、トレーニングのニーズを特定し、それを提供します。すべての人がすべてを知っているわけではありません。これがOKであることを彼/彼女に知らせてください。

彼/彼女を「悪い」人から遠ざけてください。通常、すべての組織に少なくとも1人の慢な人がいます(これは私の法律です:))

メンターを割り当てる場合は、メンターがそれを助けるのはメンターの仕事であり、それが彼の優しい心からではないことを知っていることを確認してください。そのためにメンターのスケジュールに時間をかけてください。

最初の1か月かそこらで彼の進行状況をフォローアップし、可能であれば彼の問題を推測します。

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