ほとんどの面接の質問は、候補者の現在の知識に焦点を当てているか、アルゴリズムの問題を解決するために彼/彼女のスキルをチェックしていますが、プログラミングに情熱を傾ける開発者を雇いたいと思います。
次のような質問をする代わりに
テクノロジー「X」について何を知っていますか?
ソフトウェアエンジニアリングの問題の解決に直接関連しない知識をチェックしますが、ITにどれほど興味があるかを示します。
たとえば、Java開発者を探す場合、Java世界で最も影響力のある人は誰か、または基本的なScala抜粋し、候補者にコードの解釈を依頼します。
私はアランチューリングの写真を見せて、インタビュイーに写真に誰が写っているのかを推測させることさえ考えました。この練習は意味がありますか?
あなたがしなければならないのは彼に彼が最も楽しんだ彼が取り組んだプロジェクトの1つについてあなたに話すように頼むことです。次の60秒で、亡くなった著名人の写真を見せることができる以上に、彼の熱意について詳しく知ることができます。
たとえば、Java開発者を探す場合、Java世界で最も影響力のある人は誰か、または基本的なScala抜粋し、候補者にコードを解釈するように依頼します。アランチューリングの写真を見せて、面接担当者に写真に写っている人物を推測させることさえ考えました。
それは雑学と技術知識です。彼らがプログラミングに情熱を持っているかどうかを知りたい場合、あなたは彼らの情熱に従事する必要がありますある意味で、これを行う簡単な方法がいくつかあります。
ない場合は、それらのライトa sparkが目に入っている場合は、おそらく情熱的なプログラマーがいないでしょう。他のもので忙しすぎるものにぶつかる可能性がありますが、きっと歴史を見るか、少なくともこれらのポイントのいくつかにぶつからなかったときの本当の後悔を見なさい。
(警告、長い投稿、一部のみトピック)
ええと、私は長い間同じことを求めてきました。約6年前、私は採用担当者に私たちが何であるかを理解してもらうことを試みていました(彼らはあなたが言うようにボックスをチェックしました)。
その時私は書いた:
あなたは私たちのようにオタクですか?(採用担当者と候補者への公開書簡)。
私たちの文化はすべて私たちにとって重要です。ここでは人種について話しているのではありません。背景に基づいており、仕事に対する見方、仕事から抜け出すつもり、仕事への取り組み方、他の人との関わり方に基づいています。
私は以前に人種の意味であると誤解されていたので、はっきりさせておきます。これは人種に基づくものではなく、考え方と原動力です。私たちは素晴らしいレースの数々と協力してきました。私たちはまた、明白にそして単に役に立たない多くの人々を知っています。したがって、人種は私たちが何を求めているのかを定義するものではなく、「文化的な」適合です。
オーストラリアには多くのサブカルチャーがあり、それらのほとんどを組み合わせて使用することはありません。私はそれについて説明しようとしています-The Geek。
過去14年間の私たちの仕事の多くは、主に会社が間違ったタイプのスタッフを雇ったことが原因で、失敗したプロジェクトをクリーンアップして完了する必要があるために発生しました。違う。
ここで、「いいね」と言ったときに、次のような種類の人を選んでみます。
言語は私たちと一緒に働くことへの障壁です。私たちはほとんどここに私たち自身の言語を持っています、あなたには少なくとも英語とユーモアのセンスと組み合わされたいくつかの技術的なスキルが必要です。
私たちを理解していないと、何をする必要があるのか、または私たちの残りがソリューションの実装にどのように取り組むかについての要件を把握できません...あなたは長続きしません。
なぜ私たちと一緒に働きたいのですか?
今でも、あなたは私たちのために働きたいですか?どうして?
結論
私は2004/05に自分で50回または60回のインタビューを行ったと書きました。14かそこらの人材派遣会社と協力して、私にボックスをチェックした人を投げました...これのほとんどは時間の無駄であり、私はピッキングを吸いましたインタビューからの人々。
これまでのところ、私が得た最も大きな成功は、上記の背後にある意味と私が探していたものを理解し、適合した人々にリストをフィルタリングできる単一の採用担当者を見つけることです。
これで、信頼できる採用担当者が1人います。私のビジネスを知っていて、私のニーズを知っています。追いつくために隔月で昼食をとっています...私は彼に行かせ、時間を与え、彼に適切な候補者のみを表示することを信頼します。
採用は特定の領域であり、1日の終わりに最終的な発言をしますが...お金があれば、スキルセットを持つ人々に自分のことをやらせてください。
彼らが誰かを見つけたら、私は彼らにインタビューし、彼らの経験、彼らの興味、彼らをやる気にさせること、彼らが行った最もクールなプロジェクトについて質問します...上記に対する彼らの答えを聞いてください...昼食時のチームへの2回目のインタビューでは、チームの他の全員が質問し、親指を上げたり下げたりすることを教えてくれます。その後、採用します。
Alan Turingは少しやりすぎですが、影響力のある人物に名前を付けることは私には大丈夫だと思います。私がこの質問をされた場合、私は言うだろう、男は効果的なJavaを書いた...
採用は双方向です。最初に自分の人材プールを知る必要があります。情熱的なプログラマーを雇いたい場合は、まずいくつかの質問をする必要があります。彼らが解決するエキサイティングな問題はありますか?第二に、あなたは競争力のある補償を提供していますか?
実際には両方を提供できない場合は、スキルとプロ意識に重点を置くほうがよいでしょう。
37 Signalsの人々は、優れたプログラマーの採用を扱う 素晴らしい投稿 を書きました。
詳細については投稿を読むことができます(それは価値があります!)が、次のように大まかに要約できます。
小さなプロジェクトに参加して、彼らがどのように機能するかを確認することで、誰かを雇うリスクをさらに軽減できます。これにより、タスクの処理方法、時間の管理方法、通信方法などがわかります。
いいえ、そのアプローチはまったく意味がありません。私はアランチューリングの写真を認識し、Javaの開発におけるいくつかの主要なライトを挙げることができますが、それはプログラミングが私たちに提供できるものについて私がどれほど情熱的であるかについて何も伝えません。私も取り組んだすべてのオープンソースプロジェクトを一覧表示します。その一部は簡単に習得できる知識であり、一部はCV /レジュメドレッシングによく使用されます。
実際の問題を説明するように依頼してください-たとえ些細なことであっても-ソリューションをプログラミングすることで修正できます。背後にあるインフラストラクチャを特定するほど実用的である必要はありません。何かをより良い方法にプログラムする方法について考えただけです。使用される言語は二次的に重要です。特定の言語にアタッチすることで、プログラミングに情熱を持っている人を必ずしも獲得できるわけではありません。
この候補者のスキルについて説明するだけでなく、熱心にに注意を向けると、彼はあなたが尋ねる実際の問題解決の質問にアプローチし、あなたは彼がプログラミングにどれだけ情熱を持っているかについて非常に良い感覚を得ることができます。また、さまざまな種類の問題解決の質問(コーディングの質問、アルゴリズムの設計の質問、システムの設計の質問)を彼に尋ねると、プログラミングのどの分野に最も熱心であるかがわかります。
私は読むことをお勧めします Joel on Softwareのゲリラインタビューガイド 彼はその情熱を見つける方法を教えるだけでなく、情熱はあなたが探している最も重要なものの1つではないことを教えてくれます-あなたは「スマート」と「物事を成し遂げる」を探しています。 (彼は情熱について言及していますが、彼の意図はそれがあなたが探している他の2つの事柄のサインであることだと思います(== --- ==)探しています)。
情熱の定義はここでは広いです。私はいくつかの種類のプログラマーを見てきました。それらをプログラマーと呼ぶことはできません。私は情熱的なプログラマーを定義します
「情熱的な」人々または有能な人々が欲しいですか?私は、自分のビジネスを知っているが、コンピューター画面の外では何も知らない子供たちよりも、ビジネスと現実を区別できる人がほしいと思います。1日16時間(半分)貢献しているオープンソース以外の趣味はありません。名目上私のために働いている間)など.
プログラミングに情熱を持っている人なら、他の人を見つけることができるでしょう。あなたがしなければならないのは、インタビュー中に難しいことではないプログラミングについて話すことです。そして、話をしている候補者に焦点を合わせます。彼らの情熱に関係なく、あなたが彼らの能力のレベルを認定していることを確認してください。そうでなければ、これはあなたの判断を曇らせる可能性があります。
次の点を確認します。
情熱的なプログラマーを雇う前に、それが何を意味するのかを判断する必要があります。
プログラマーの情熱を探すとき、彼らが解決しなければならなかった難しい仕事の問題について話し合うとき、それは彼らの声の熱意と関係があります。それは、いくらか深さの知識を得て、困難な問題を解決するためにステップアップするのに十分なほど情熱的であることと関係があります。彼らが仕事の外でプログラムするか、彼らの写真を見ることによって過去から3人の有名なプログラマーを指名できるかどうかとは何の関係もありません。
面接すると、質問への答え方に情熱を感じることができます。彼らは非情熱的な人々よりも深く入り、彼らは彼らの言うことに熱狂する傾向があります。彼らは自分がプログラミングしているビジネスドメインを理解し、問題を解決する方法や、プログラミングプロセスやアプリケーションの設計を改善するために自分の仕事で行った提案について話すことができます。彼らは特にそれらについて尋ねられることなくリファクタリングとデザインパターンについて話します。
彼らは彼らの成果について話すとき、彼らはモジュールの基本的なコーディングを超えたものについて話します。彼らはデザインに問題を見つけてリファクタリングした方法について話したり、難しい問題を解決するために使用する新しい手法を見つけた方法について話したり、熱意をもって話したりします。情熱的な人は黙ることが難しい。彼らは本当に自分の業績と将来の目標を説明したいと思っています。彼らはあなたの仕事が提供し、現在の仕事が提供していないことに特に取り組みたいことを持っているかもしれません。彼らはスキルの成長パターンと彼らがしていることの複雑さを示しています。
彼の余暇に彼が何をしているのか尋ねてください。それが彼の個人的なプロジェクトのコーディングと作業であるなら、それは情熱的なプログラマーのかなり確かな兆候です。すべての情熱的なプログラマーが余計にプログラミングするわけではありませんが、そうするほとんどの人は情熱的です
もう1つは、プログラミングに費やした時間数を見積もるように依頼することです。時間数が多いほど、情熱的です(年齢に合わせて調整します)。
PS。コーディングにall費やす必要があると言っているのではありません。あなたは人生や趣味などを持っている必要があります。しかし、私たちは愛するものに時間を費やす傾向があります(配偶者と子供に時間を費やすことは責任があります:)したがって、extra時間コーディングは良い指標DSです。
...そしてええええ、あなたは情熱のないプログラマーがあなたが望むすべてを私に降格することができます;)
DS。
インタビューの前に、情熱的な開発者と残りの人との違いを履歴書で確認できます。情熱的な開発者は彼らが何をしたかについて話し、残りは彼らがどのようにそれをしたかについて話します。情熱的な開発者が彼らのブログや個人的なプロジェクトなどをリストしています。残りはそれらを持っていません。
マネージャーは最初の数回の面接に腰を下ろし、面接中に候補者を技術スクリーニングすらしなかったときはほとんど床に座っていました。彼は後でなぜそれをスキップしたのかと尋ねました。 「私はすでに彼のブログで彼のコードを読んでいたので、彼がコードを書くことができることを知っている。」
インタビュー中、1つの質問で「テクノロジーに夢中になっている」という情熱を特定します。情熱的な開発者は、コンピューターを初めて使用し、プログラムを書いたときのように熱心に取り組み始めるため、などなど。残りの人からの返事を聞くと、あくびを抑えなければならないことに気づきました。
最後に、私の技術画面は、情熱的な開発者が気分を害するかもしれない質問から始まります(私はそのように言います)、情熱的でない開発者は、それらのいくつかまたはすべてにさえ正しく答えるかもしれません。情熱的な開発者は、あたかもチートシートを持っているかのように彼らを怒鳴らせます。
私のバイアスは、学び、成長することを熱望していない経験豊富な開発者よりも経験が少ない情熱的な開発者を雇うことです。単純明快な事実は、テクノロジーの変化が速すぎて、仕事を必要とせずに今後のトレンドに遅れをとらない人を雇うことができないことです。
これはばかげた証拠ではないことを十分に認識しています。私の方法のために、いくつかの質の高い才能が私の指をすり抜ける可能性があります。非常に熟練しているが、コンピューターを5歳にする人がいることを知っています。一方、私は情熱的なプログラマーに定期的に感銘を受け、長年の経験に関係なく、彼らからできるだけ多くを学んでいることにすぐに気づきました彼らは私からです。