元の質問
私はすでに私の会社のためにいくつかのインタビューを行いました。ほとんどは開発者のコンピューター科学者でしたが、テスターとプロジェクトマネージャーもいました。今、R&D部門内の研究グループの空きを埋める必要があります(補足:「研究」とは、大学、他社、研究センターと一緒に研究プロジェクトのソフトウェアを使用して、専門分野/市場ニッチの問題を解決しようとすることを意味しますそれはコンピューターサイエンスの研究ではなく、P = NPの問題を解決するつもりはありません)。
今、私たちは化学の修士号(彼の履歴書にも多くの物理学を持っている)を持っている人を招待しました。私はすでに地元の大学のキャリア日で彼と約30分話をしました、そして、彼が賢いことは間違いありません。また、彼のマークは優れており、彼は際立って卒業しました。彼の理学士号のために、彼はMathematicaでプログラミングを習得する必要があり、彼はプログラミングが大好きだったと信じて信じていました。また、彼は、理学修士論文のためにMathematicaに実装された彼自身のソフトウェアを使用して理解できないと思われる物理化学の問題を解決しました。GUIと8,000 LoCの注目すべきサイズが含まれています。彼は私たちの研究グループでやっていることに非常に惹かれているようで、正直なところ、私たちのような中小企業が良い人を得るのは非常に難しいです。また、プロジェクトの提案、レポートの作成、プレゼンテーションなどを支援してくれるので、彼を雇うことに非常に興味があります。彼もおそらく私たちのチームに合うでしょう。
残っている唯一の質問は、彼がプロジェクトでソフトウェア実装を行うために必要なプログラミングスキルを習得できるかどうかを確認するにはどうすればよいでしょうか?
もちろん、私は彼にそれが何であるかを尋ねます。それは彼がプログラミングについて魅力的だということです。また、彼が自然科学ソフトウェアをどのように作成し、どのように構造化したのかを尋ねます。彼がどのようにして彼が必要とするソフトウェア開発に関するスキルと情報を取得したかについて尋ねます。しかし、もっと質問できることはありますか?より具体的な何かでしょうか?彼にMathematicaソリューションを説明してもらえますか?
明確にするために、私は特定の言語または技術スタックの知識を探していません。私たちは製品開発の.NETショップですが、研究プロジェクトのために自由に選択したいと思います。だから、私はメタコンピテンスが実際に必要なものを何でも学習できることに興味があります。
私は能力をチェックするデフォルトの方法があれば、私は本当に好き知っているので、この質問は釈明し、オープンエンドでないことを願う得る仕事にさらにプログラミングのスキルが。不明な点がある場合は、コメントをお寄せください。質問を改善させてください。
2011-12-01までの回答を反映するように更新
受け入れた回答とその理由
答えてくれてありがとう、それらのほとんどは非常に役立つので、私はたくさん賛成しました!けれどもトム・スクワイアーズの答えが最も多くの票を得た、私は受け入れるつもり王子グーラッシュによって与えられた答えを。もちろん、トムは客観的には正しいのですが、プリンスの答えは私にとってより有益であり、私はこれが答えを受け入れる基準であるというFAQを再確認しました。
インタビュー中に彼に尋ねる内容
Chris Burt-Brownが言及したThe Camel Has Two Humpsの 例のようないくつかの簡単な割り当てを彼に説明させます
多分グラフィカルな表記法で、より高度な制御フローを説明するように彼にお願いします。
数学の例を使用して、再帰の理解を確認します。
自然言語で彼が選んだアルゴリズムを彼に説明させます。
彼に彼のMathematicaソリューションを説明させてください。特に、彼の手順モデル、ツールの使用法、一般的なコードとソフトウェアの構造化、および異なる抽象化レイヤーを求めます。
彼の動機を確認するために、私は彼のソフトウェア開発の魅力を求めます。
彼がエンタープライズソフトウェア開発について学ぶために必要なものを知っているかどうか尋ねます。特に、私は彼の修士号だけで働いた後、彼がこれについて多くを知らないことを期待するので、議論をチーム、ペアプログラミング、TDDで働く方向に変えたいと思います。
長いインタビューになりそうですね;)
インタビュー後の更新2011-12-09
再びあなたの良い答えに感謝します。彼は色とりどりのインタビューに合格しました。応募者にこれほど満足したことはありませんでした。彼のMathematicaソリューションは非常にうまく構成されているようです。彼は高階関数をどこで使用したかを説明できましたが、これらがこのように参照されていることを知りませんでした。The Camel Has Two Humpsからの簡単な割り当てと制御フローに加えて、数学ベースの再帰の質問に答えてくれました。彼がいくつかのアルゴリズムを説明していたとき、非線形フィッティングについて多くのことを学びました;)また、彼はもちろん、彼が今まで知らないプロのソフトウェア開発について学ぶことができることを保証することはできないと正直に言いました。しかし彼は、自分でも常に新しい概念を学ぶのが得意であり、ソフトウェア開発に本当に興味があると信じています。彼はまた、プロジェクトの技術スタックを要求しました。彼は最初に適用され、自宅でそれを見ることができました。彼はペアプログラミングとチームワークにも興味がありました。今、私は雇用契約が締結されることを願っています。