web-dev-qa-db-ja.com

プログラマーの教育とトレーニング全体をどのように改善できますか?

先週、Second LifeのPhillip RosedaleのKevin Roseによるこの素晴らしいインタビューをちょうど見ていました。

そして、彼らは、優れたプログラマーを見つけ、採用し、特定する方法と、優れたプログラマーを見つけるのがどれほど難しいかについて、驚くべき議論をしました。

それは私がプログラマーが学ぶ方法について本当に考えるように私を導きました、教えられます。私も含めて、私たちの大多数にとって、私たちは独学です。プログラマであることは素晴らしいことですが、だれでもスキルを学び、発展させることができます。

しかし、これはまた、優れたプログラマーが何であるか、そしてどのような環境がプログラミングスキルの成長を促進するかについての実際の基準がないことを意味します。

これはそれほど問題ではありませんが、教育と自己改善が奨励されるように、プログラミングの文化とプログラミングの管理者をどのように変えることができるかを知りたいという私の願望です。

継続的な教育、YouTubeビデオ、本、会議には多くの手段がありますが、私たちが行う経験の性質上、何を学び、習得することが重要であるかが常に明確であるとは限りません。

ジョエルの12ステップを見てみましょう。

ジョエルテスト

ソース管理を使用していますか?

ワンステップでビルドできますか?

デイリービルドを作成しますか?

バグデータベースはありますか?

新しいコードを書く前にバグを修正しますか?

最新のスケジュールはありますか?

スペックはありますか?

プログラマーは静かな労働条件を持っていますか?

お金で買える最高の道具を使っていますか?

テスターはいますか?

新しい候補者は面接中にコードを書きますか?

廊下のユーザビリティテストを行っていますか?

これらはすべて重要な価値があると思いますが、私が体験ギャップと呼んでいるため、プログラマーまたはマネージャーがリストにある項目を実行しなかったことによる否定的な結果を経験したことがなければ、何もする必要はありませんそのうちの。

実験的ギャップは、私たち一人一人が異なる仕事と異なる経験を持っているという私の基本的な理論です。したがって、常に数十人のプログラマーと協力してきた私たちの一部にとって、ソース管理は必須です。しかし、常に唯一のプログラマーであった人々にとって、ソース管理の必要性を想像することはできません。

そして、それは私たちが学ぶ方法のこの主要な欠陥のためであり、私たちは人々が彼らが行うベストプラクティスまたはしないベストプラクティスによって人々を評価し、どちらかの理由が炎戦を開始する可能性があります。

私たちは常に自分の分野の人々を彼らの行動によって評価し、「ああ、この男/ギャルがxyzのベストプラクティスをやっていないと、彼/彼女は優れたプログラマーになれないので、彼らと話す時間やエネルギーを無駄にしないようにしましょう」

これがまさに私たちがプログラミングの炎上戦争をたくさん抱えている理由であり、実験的なギャップのために、私たちがしなければならなかった決定を人々がしなかったとは想像できません。

ですから、これは私がプログラマーのトレーニング、教育、管理の方法を完全に再考する必要があると私に考えさせました。

たとえば、あなたの何パーセントが上司から会議に行くように勧められ、さらには彼らにその代金を払わせましたか?

私にとって、そして多くの人々にとって、これは非常にまれです。私たちの多くは、会議に行って詳細を知りたいと思っていますが、それを行うためのお金はありません。

したがって、この質問のポイントは、実際にはspark多くの方法でトレーニング、学習、および管理を改善できるかどうかです。

同じ仕事の経験がないことで人々を侮辱しない新しい学習文化をどのように作り出すことができるでしょうか。

はい、私たち全員に仕事と仕事がありますが、仕事を上手くこなす能力は、スキルの習得を向上させるという私たちの願望、関心、サポートにかかっています。

今のところ、私たちの文化はかなりまとまりがなく、エリートをサポートしていますが、もっと良くなりたいと思っている私たちの多くは、自分自身を学び、改善するだけの十分なサポートがありません。

つまり、私たちは業界として、単なる交換可能な歯車として認識されたいのでしょうか。

ありがとうございました...

13
crosenblum

うわー、考えるのに素晴らしい質問、答えるのは難しい。私たち全員が異なる経験と欲求を持っているので、1つのサイズがすべてのソリューションに適合することを思い付くのは難しいです。しかし、私はいくつかを捨てます意見私はこの同じトピックについて何年にもわたって持っていました。

1)仕事のホッピングが悪いと見るのをやめ、それを奨励する。数年ごとに会社を変更します。プログラマーは、キャリアの過程でさまざまなテクノロジー、方法論、ビジネスに触れることができます。企業は新しいアイデアの着実な流れを得ます。

2)自分をX社のプログラマーと見なすのをやめ、X社にサービスを提供する専門家と見なす。交換可能な歯車として見られるのは、交換可能な歯車のように振る舞うからです。

3)大学を変える必要がある。彼らはコンピュータの基礎教育の最初の2年間を持っているべきであり、その後に選択が続きます。コンピュータサイエンスまたはコンピュータエンジニアリング。また、エンジニアリングトラックには、単に論文を書くだけの人ではなく、毎日現場で働く専門家が必要です。また、教える内容は実用的なものである必要があるため、卒業の翌日に実行できます。たぶん、学位プログラムを経ていない人のための見習いプログラムを持っています。

4)編集:これは少し怒りっぽかった。私が言ったのは、年齢や経験に関係なく、私たち全員がお互いから学ぶことがたくさんあるということです。

5)ポイント2にやや関連している。雇用主があなたのキャリアに責任があると見るのをやめなさい。あなたです。そしてあなただけ。カンファレンスに参加したい場合は、会社が参加しない場合は自分で支払います。書籍、トレーニング、専門能力開発のために、毎年お金を確保してください。あなたがあなたを訓練に送るためにあなたの雇用主を待つならば、あなたは長い間待っているでしょう。スキルの監視に費やした時間は無関係になります。それを買う余裕がないのですか?転職。

6)私たちは自分自身と仲間のプログラマーに正直である必要があります。プログラミングは難しいです。とても厳しい。私はまだ卒業時に保証された富でコンピュータトレーニングの広告を見ます。これは、単に資格がないか、悪いことに、お金以上の真の関心を持っていない多くの人々を現場に連れてきます。私たちは彼らに彼らのキャリアプランを再考するよう奨励する方法を見つける必要があります。

この時点で、頭が爆発しそうだと思うので、結論を出します。

素晴らしい質問です!私はもっ​​と多くの回答を読むのをとても楽しみにしています。

13
msvb60

教育不足だけで混乱しているとは思いません。 「ベストプラクティス」が仕事ごとに異なることは、実際には反映されていると思います。 「ベストプラクティス」は常に特定のコンテキストに基づいています。

作業の最も一般的な領域のいくつか、すなわち、いくつかのクロスオーバーがたまたまあります。ウェブ開発。しかし、ほとんどの仕事で特定の実践に従事するのは良いことだからといって、それはすべての仕事で使われるべきだと信じるのは間違いです。

あなたが従事する慣行は、あなたがより良く働くようにするものの分析と実験から生じるべきです。それらは盲目的な信念によって選ばれるべきではありません。何かがネット上で頻繁にエコーされるからといって、それがあなたの状況で真実にならず、真実も(すべての状況で)わかりません。

1
dietbuddha

心を動かすための素晴らしい質問です。何かをする必要があることに同意しますが、答えることは不可能だと思います。私の試み:

最初に創造性を殺さないでください一般的に私はケンロビンソン卿に同意すると言わなければなりません、見てください この素晴らしいTEDトーク 。私たちの教育システムは創造性を失わせており、それを修正する必要があります。特にプログラマーにとって。

2番目パターンのように教える私たちの専門分野は十分に成熟していません。私たちが進むべき道だと思うさまざまなことがたくさんありますが、それらに本当に同意することはできません。 (TDD、BDD、アジャイルvsウォーターフォール、必要なドキュメントの量、Javaまたは.Net)と考えてください)私の考えでは、これはコンテキストなしで議論し、専門化しているためです。どのような文脈で質問が行われるかを知らずに正しい選択をし、1つの選択肢しか知らないと正しい選択をすることはできません。これを教育に戻すと、解決するのは不可能に思えます。誰かがすべてを知っていると期待することはできません。可能なコンテキストとすべての可能なソリューション。しかし、パターンを使用すると、いくつかの一般的なソリューションと、ソリューションが故障したときに適用されるコンテキストとコンテキストが適用されます。これは、私たちが教える必要のある方法であり、コンテキスト内の一般的なソリューションと、ソリューションがない場合の説明です。動作しません。

3番目例に関する免責事項MSDN、ブログ、本などで示す例には問題があると思います。例は、作家が作ろうとしていることを理解してください。しかし、最も基本的な例では、すでに多くのレベルで決定があります。これらの例は、これらの他のすべての決定が間違っていることを教えています。すべての例には、要点と一般的にしてはいけないことを告げる免責事項が必要だと思います。この良い例が今日ブログに掲載されました ここ

最後Do Do Doもっとやる必要があると思います。私はほとんどの場合、失敗し、修正し、議論することを学びました。

0
KeesDijk