まず、唐突ですが、新人教育で、なにをやるか?という話について考える。
このとき、新人教育で、終わった後に、どうなるか?というのを考えるといいとおもいます。
たぶん、どこかの部署に配属されるでしょう。
開発なら、どこかのプロジェクトに配属されるでしょう。
で、配属されたところの開発環境をみて、「まったくわからない!どうやるんっすかあ?」って新人が言った場合、周りの人は、どう思うでしょうか?
OJTで勉強せよ
新人だからしょうがない
というふうに思ってくれるといいんですけど、たいていは、
新人教育で、なにやってきたの?
っていうことになる。
なんで、新人教育では、配属されそうな部署で、やりそうなことは、できれば、一通り見せておくのがいいって言うことになりますよね。まあ、新人なんで、できないのは、しょうがないですけど(できるようになるかどうかは、その新人の自助努力)。
さらに、教育において、話が飛んだり、似たようなことで違うことがあると、理解しにくいっていう特徴がある。
そういうことから考えると、できるだけ、一通りの流れだけをはじめから最後まで通してみせて、もし、追加して教えることがあれば、その通して見せた後、時間と能力に余裕があれば、やったほうがいいということになりますよね。
はい、ここまでが、前置きです。
で、今日の本題。
なんか、プログラムの勉強は、IDEでやったほうがいいか、コマンドラインでやったほうがいいかなんていう議論がアツいみたい?
http://d.hatena.ne.jp/m_pixy/20050607#1118118345
http://blog.netbeans.jp/roller/page/kishida/20050528#12503_12525_12464_12521_125124
http://d.hatena.ne.jp/muimy/20050528#p1
これって、素直に考えると、「会社でプログラムを教える場合であれば」、上記の新人教育の理由により、配属される(将来的に配属される可能性が大きい)ところの開発環境は、やっておくべきだと思います。理解できるかどうかの有無にかかわらず。
ということで、コマンドラインで開発しかしないのであれば(Cの組み込みなどで、muleとgccだけでやってるとか)それでOKだけど、IDEで開発するなら、IDEもやらなきゃいけない。
で、なにをはじめにやるかだけど、新人教育の場合、コマンドラインからIDEに変えるなど、いろいろ環境が変わると、逆にわかりにくくなるので(関連が見えないから)、はじめやった環境で、一通り流しで教えるのがいいと思う(たぶん、ふつう、そうやってるよね)。
応用力などの話は、ある程度量をこなしてから考える話だとおもう。まずは、覚えるので現実問題精一杯で、仕事になるのは、ぎりぎりいっぱいのラインだと思う。
ただ、IDEのひとは、ひととおりIDEでやったら、絶対コマンドラインも教えておくべきだと思う。最終ユーザーの稼動環境もIDEなら別にいいんだけど、ユーザーはコマンドラインで行う場合、テストは、コマンドライン。。となると、困る問題がある。それは、また別の機会に書きます。ながくなるので。。。
まずいのは、教育的にどうのこうのという考えで、現場と違うものをやってしまった場合。
OJTでどうにかなるだろと思っても、まったく新しいものをOJTっていうのは、その新人にも大変だし、派遣なんかだと、派遣先の上の人も「まったく知らない、やったことない人送って、なんなんだ!」って言われかねない(一度でも、見ている経験があれば、「あ、馬鹿なんだな、馬鹿はしかたない」って言うことになる可能性はあるが)。
で、そーいうので、(派遣元である、会社の)上司に、派遣先の上の人からクレームが来ると、一度は、教育的のどうのこうのというので、納得していても、「おいおいおい、どーなってるんだあ」と文句がくる(上司なんて、その場で態度が変わるもの)
なんで、なにをやるかというのも、会社の戦略とか、将来なにに力を入れているかの空気を読んで(前のブログだね)それにあわせたものを直接やるのがいいと思う。
で、出来ない部分は、新人君に自助努力してもらうということで、いいような気がする。
これは、あくまでも、会社員の場合で、自分の趣味や大学で覚える場合、何が言いかというのは別問題です。はい。