他のは、私が問題としてupvotedてきた答えている必見の。私が別の答えを書く理由は、私が言いたいことはおそらくコメントに収まらないため、そして良いプログラミングの仕事の面接がどのようになる可能性があるかについて何かを言わなければならないからです。
私が覚えている最初の良いインタビューでは、私たちは急いでせずにたくさん話しました。最初に1時間、電話で、オブジェクト指向設計と、それをC ++で実装することの長所と短所について説明しました。次に、現場で、ソフトウェア開発の実践、統合、テスト、バージョン管理、構成管理、チームと責任、テクノロジー、設計について数人と話しました。私にインタビューした人たちとの昼食を含む終日のインタビューでした。後から考えると、彼らが既にやっていることに生産的に適合するかどうかがすべてでした。
それ以来、良いインタビューはすべて長く、ソフトウェア開発に関する1〜2時間の会話でした。問題解決の質問、パズル、コーディングの課題はありませんでした。
今日、プログラミングの仕事のために誰かにインタビューした場合、私は好きなことに進みます。幅広いトピックについて意見を求めたいと思います。
- プログラミング言語の好みはどれですか?どうして?
- 例外処理へのアプローチ方法
- レイヤード設計の利点は神話ではありませんか?
- 継続的インテグレーションは効率への負担ではありませんか?
- コードを書いた人は誰でもそれを所有すべきですよね?
- 「フロー」に入るために何をしますか。
- 報告された欠陥をプロジェクト計画にどのように含めるべきですか?
- ...
これらは複数の答えがある質問であり、すべてソフトウェア開発者が情報に基づいた意見を持つべきトピックに関するものです。私は(質問としてではなく)会話のトピックとして経験した以前の実際の問題に言及する答えに心から同意します。
Peoplewareは、最高のIQを持っていなくても、ソフトウェア開発のダイナミクスを理解しているのは最高のプログラマーであると言っているため、効果的なソフトウェア開発に関するより科学的な研究です。私は、n
長年の経験を1
繰り返して何年も経験する人よりも、学びたいと願う新人を選びたいn
です。私の個人的な偏見は、枠の外で考える傾向があり、同時に現在の(私の)枠に収まる方法を知っている候補者に向かっています。