2008-08-24 1 views
43

ジュニアプログラマーの指導方法に関する提案はありますか?誰かに指導したことがあった場合は、どのプロセスに従ったのですか、それとも非常に非公式でしたか?ジュニアプログラマーを指導する方法

あなたは過去にどのようなことが最も役立っていますか?

+9

最も役立つのは:新聞ロールアップ –

+0

@Steven A. Lowe:あなた私は私の犬を訓練したときから非常に多くの思い出を持ち帰った。 :) –

答えて

42

コードをまとめて確認するために、1日30-60分の間隔を置いてください。これを行うことができない場合は、非常に基本的なものでなければ、コードをコミットするたびにそのコードを見直してみてください。なぜ他の人の代わりに彼らが取ったアプローチを選んだのか説明します。このようなプロセスは、素晴らしい関係を確立するのに役立ちます。また、学生が自分で考え、意思決定を守ることを刺激します。学生は信頼できる誰かに近づくだけでなく、コードとロジックの品質がほぼ直ちに向上することに気付くでしょう。

編集:また、あなたはあなたの後輩で、見直しを共同するには、このくらいの時間をコミットすることができない場合、あなたはおそらくそれらを指導すべきではありません、代わりに他の誰がそれを可能にするスケジュールを持っているかどうかを確認します。メンタリングの全ポイントは、学生の専門的な開発を積極的に支援することであり、適切な注意と指導が与えられなければ、多くのことを学ぶことはありません。

+0

驚くべき応答! – traditional

3

私はジュニアになると思います。私は非公式のアプローチを大事にしたいと思います。あなたとあなたのメンティーのキャラクターには多分依存していますが、途中であなたがエゴを持っていなければ、あなたは最高に学ぶと言います。氷を砕いて、フィードバックがの両方での方向にあることを確認してください。コードレビュー(双方向?)と時折のペアプログラミングがうまくいくかもしれませんが、良い一致がある場合は、それも楽しいかもしれません!

0

私は前に私の下にいくつかの中学生を指導しました。私のアプローチは、彼らがどのようにして学んだかに基づいて、少し人によって異なります。

要するに、私は中学生に自立型の小さなプロジェクトを与えてくれました。私はできるだけ時間を割いて仕事を完了しました。タスクが完了したら、私は彼らのアプローチ、コード、および解決策を見直し、改善の提案または問題を処理するためのより良い方法を提案しました。私はこのように、はるかに大きなプロジェクトの一部であることに圧倒されていないと思います。

これは少し役に立ちます。

17

私は小さなソフトウェア会社でインターン(2人のうちの1人)として働く機会を得て、彼らが持っていた「ほとんど新しい」プロジェクトに取り組む機会を得ました。彼らは私に必要なものを準備してもらい、実際にプロジェクトの内容を紹介しました(要件などの基本的なもの)。

まず、私たちはプロジェクトに重要なことを研究するような小さな仕事をしなければなりませんでした(彼らは私たちにトピックのリストを与えました)。私たちが調べて研究する必要のあることはそれほど簡単ではなく、2週間ほどかかっていました(私たちが作成しなければならない基本的なデモを数える) 。そのテストフェーズは実際には多くの「コーチング」なしで実際に行われました。

しかし、その期間が過ぎると、実際のプロジェクト自体で作業することができました。これは私たちが3人(2人のインターンと1人のコーチ)を除いて、pair programmingと同様のスタイルで一緒にコーチされた瞬間でした。

私は彼から多くのことを学んだが、それは非公式であり、彼は「すべてを知っている - 聞こえる」人のように行動しなかった。提案があったとき、彼は聞いて、彼らが良いものであるかどうか私たちと一緒に考えました。アイデアをそのようにしてはならない理由についての彼の見解を...私はそれを考えて、彼は積極的に私たちに何か良いことをすることを知っている人から命令を受けているのではなく、提案をし、より良い方法を考えるよう積極的に勧めました。短い中のSO

  • 、手で材料を研究するために自分で(主に)ジュニアプログラマの仕事をしてみましょう彼に情報を検索、または小さなデモを構築するようなマイナーなTODOもののリストを与えます。
  • 彼が定期的に行った作業をチェックし、より良い方法があれば彼に助言してください。また、彼が実際にうまくやったアイテムを指摘すると、後でそれらを覚えています。
  • 実際のプロジェクトに取り組み、同じプロジェクトで一緒に働いてもらって、彼に質問があったら助言してもらいましょう。
  • 両方の方向から努力が必要です。彼は質問をし、「現在のやり方」に挑戦するよう奨励します。どのように彼はそれを行う必要があると思うかについて彼に質問し、彼にもあなたの意見を与えてください。
  • 「楽しい」にしてください。注文をしているようには見えません。
+0

これは良いことです。私が指導することで観察した問題の1つは、あなたがボールを使って走る人と、そうでない人がいることです。私は現在、あなたが成功するためにはボールのランナーがもっと必要であるという意見があります。 – EvilTeach

1

あなたが持っている本当の割り当ての部分を与えることをお勧めし、彼のコードを使用できるようにすべてを作ります。言い換えれば、あなた自身の代わりに彼を訓練する。

このようにして、ジュニアとの作業に時間を割けることになり、「実生活」を見ることができます。実際の課題に取り組み、活発なフィードバックを聞くことによって、彼はむしろスピードを上げることができます。

このアプローチの欠点は、特定のプロジェクトに焦点が絞られすぎる可能性があることです。したがって、訓練生に可能な選択肢を示し、トレードオフ分析が彼のプロの地平線を広げるように奨励してください。

1

数年前、小さな会社で働いていましたが、最初の日に私は小さなタスクのリストを完成させました。コードの変更を少し行い、プロジェクトの小さなバグを見つけて修正しました。私のメンターから正しい質問をして、環境、コードベースに慣れるのに本当に役立ちました。これらのタスクは完了するのは簡単でしたので、私は大きな仕事に転じる前に少し自信を持っていました。

このメンターのやり方は本当にとてもうまくいったので、私は新しい同僚と同じことをするつもりです。

12

多くの社内ITを持つ大企業のインターンシップでは、私はメンターとペアになっていました。この練習は、技術スキルとビジネススキルの両面で、キャリア開発を確実に支援しました。

  • 信用:ここでの指導はとてもうまくいった理由の一部ですメンターは、大手やトレーニングの際に描画するために経験と熟練した背景の8+年を持っていました。彼はさまざまな課題を経てさまざまな環境で働いていたので、素晴らしい展望を持っていました。
  • 本物:指導者は指導者を励ましてくれましたが、動きを練習するためにはそれほど正式ではありません。メンターはメンターになりたいと思っていました。
  • パッション:メンターは、彼がいたフィールド、彼が解決した問題、彼が使用していた技術を愛していました。私は彼の翼の下に来たとき、私はこれが感染性であることを発見した。
  • シャープでアーティキュレート:メンターが批判的に問題に接近し、簡潔に枠をつけました。私たちの議論にはあまり曖昧さはなかった。私たちは問題の根本に達し、彼は問題解決と行動の賢明なコースに私を導いた。
  • 意味する:私がメンターと一緒にしていた仕事は、スキルセットで忙しくてもランプアップするだけでなく、意味のある仕事でした。組織を具体的に支援している仕事に共同で取り組むことで、私の関心を集め、メンタリングプロセスを正当化するのに役立ちました。
3

私は生協に望んでいた理由を説明しなければならなかったので、私のインタビューの中で(お金を必要とする以外に)、私のマネージャーは私の最初のプロジェクトは、私が弱い領域として特定されていたもので動作するように許可されることを確認しました: (私は本当にVimを勉強したいと思っていました)、別のプログラミング言語を学ぶ方法(非常に異なるアプローチあなたがプログラムを学ぶときに言語を学ぶよりも)。彼は私がしばらくの間勉強していると私に言いました。

(イェーイ!私はこれは時々曖昧とknuckleheadedだと思っただけではありませんでした)ダミーのためのUnix 上で笑いの後に、私は一言で言えばのUnixで開始し、ソベルのよう私は、本を読むことによって最良学びますLinuxコマンド実践ガイド。その後、私はVimのドキュメントを印刷し、それを通し始めました。それから、私は最初のプロジェクトの言語であるPythonに関するいくつかの書籍を調べました。私はこれらのことについて私が今理解しているように、本当の問題であったことを心地よく感じる必要がある時はいつも与えられていましたし、以前のコープのプロジェクトに機能を追加し始めました。

カミカゼ傭兵が言ったように、コードレビューのために誰かと毎日会うのはすごく素晴らしかったと思います。

1

は、ここに私の短いリストのようになります。

ペアプログラミング - これは、さまざまなアイデアや実践を強化など、多くのもののために有用です。 Resharperに慣れることは、それを頻繁に使う人とペアを組むとはるかに簡単です。

非公式チャット - 飲み物を買ったり、外出して喫煙をしたり、一緒に昼食を取ったりするなど、机から離れている間に、すぐに作業が行われることがありますそれは、誰かのゲームを1つ上または2つ上げるのに役立つ抽象的な哲学的なものかもしれません。様々な今後の技術や来るべきものの変化について話をし、刺激的であり、債券の形成にも役立ちます。

フィードバックと提案 - 上記の両方の場合に発生したことです。 Dale Carnegieによる "Friends to Win Friends and Influence People"のような書籍は、様々な人間関係の力学を理解するのに役立ちます。重要なポイントは、パンくずリストの軌跡を残して、答えを出すのではなく、何かをヒントした後にヒントを与えるなど、いくつかのプラクティスを拾う方法を知ることです。私はこのスキルのいくつかをどのように発展させたかについて、これのための贈り物を持っている様々な数学教師がいました。

この部分は、単に他の人に動機を与えて、誰かが自分自身のために何かを描いているときに、それが力を与えて啓発的な体験になるように案内しようとしています。 「私はそれをしましたよ、そうです、本当にあなたのこと!それが起こったときの自己話の種類はかなりいいです。

1

私の経験では、メンターを指導するときには、メンターレが本当により多くのことを学びたいと思うことが非常に重要です。

決してスプーンを食べることはありません。代わりにそれらを価値あるものに向け、彼らが使用しているプロジェクトで学習している新しい情報を利用させてください。知識は実践されなければ役に立たない。あなたの指導者にコード、コード、コードを奨励してください。

4

私の最初の就職場所には、実際に患者がありました。これは、私の直面する問題を解決するのを常に助けてくれました。より良いプログラマになる方法を教えながら、私が生産性を維持するのを手伝うので、私はこれを愛しました。

2

タスクを完了するために次に何を試してくれるのか教えてください。これは、「私は何をすべきかわからない」から「これを試してみたいと思うが...」というカテゴリーから、出発点として有益な独自のアイデアを持っているかどうかを知ることができる。

彼らが何をしたいのかを簡単に見て、ヒントを提供して問題を見つけます。これは、「このコード行を取り除く」と答えて、そこにあるものを見て、すべてが必要であることを示唆してください。

関連する問題