プロジェクトやコードを測定するには、The Joel Testを使用できることを理解していますが、プログラマーの素晴らしさを測定およびフィルタリングできる単純な標準テスト(Joel Testなど)はありますか?
私の計画は、より詳細なテストに進む前に、最初にこのテストをクイックフィルターとして使用することです。
プロジェクトやコードを測定するには、The Joel Testを使用できることを理解していますが、プログラマーの素晴らしさを測定およびフィルタリングできる単純な標準テスト(Joel Testなど)はありますか?
私の計画は、より詳細なテストに進む前に、最初にこのテストをクイックフィルターとして使用することです。
回答:
ジョエルのテストと同様に、それは単なるあいまいなガイドです。プログラマーを適切に評価する唯一の方法は、彼らと一緒に働いた優秀なプログラマーに尋ねることです。
私はジョエルのテストを好転させるだろう:
ソース管理を使用しましたか?
彼らはワンステップビルドを自動化する方法を知っていますか?
...
特に当てはまらないと思われるのは、テスターに質問があることだけです。これにちょっと変わったように見える他のものは、過去の質問でどのように処理したかを処理する方法です(これは、過去のスケジュールをどのように処理しましたか?) 。
編集:
基本的に、ジョエルのテストで無料のものを入手するのではなく、それを実現できる人を雇う必要があります。あなたはそれを実現する能力を確立したいのです。
Joel Testは、プログラマーにとって職場が良好な労働条件を備えているかどうかを迅速に判断するための非公式のベースラインチェックです。たとえそれが完璧な10を獲得したとしても、それはまだ地獄の穴である可能性があります。低いスコアは、何かが正しくないことを示しており、優れたインタビューの質問になります(「現在、ソース管理を使用していません。将来的にそうする予定はありますか?」)。ジョエルのスコアが低いにもかかわらず、あなたは仕事を受け入れます。
ジョエルテストも「標準」テストではありません。これは、Joel Spolskyが彼のブログに投稿した単なるチェックリストです。
プログラマーの品質を「測定」する限り、残念ながら、優秀なプログラマーの本当に重要なスキルと資質を定量化することは困難または不可能であるため、人間による徹底的な評価に代わるものはありません。しかし、非常に簡単なプログラミングタスクを使用して、完全に無知な候補を簡単に取り除くことができます-理想的には、再帰、ツリー構造、またはポインターを含むもの(これらを「取得」しないプログラマーはあまり役に立ちません)。このテストに合格した人は、スキルを手動で評価する必要があります。作成したコードの読み取り、作成したアプリケーションのテスト、プログラミングタスク(設計と実装の両方)の実行、動作の確認、話し合い、プロの議論を巻き起こすことができます。スペシャリスト/言語の第一人者を探しているなら、
("You're not currently using source control; are there any plans to do so in the future?"), and the answers might be such that you'd accept the job despite a low Joel score.
ちなみに仕事を受け入れるのは間違いです。最終的に、すべての開発者は、それPlans to do so in the future
がインタビュアーがあなたを欺くために言っていることであるが、ひどい管理のために行動しないことを学びます。何回私たちは何かの効果を聞いたことがありますがOh, we are moving towards Agile...
、それはさらに別のマイクロマネージドウォーターフォールショップであることが判明しましたか?
うん:
暇なときにプログラムしていますか?
私の経験では、この単一の質問は、プログラマーの素晴らしさを最もよく示しています。彼らがそれを楽しむなら; 彼らが仕事をすることに情熱を持っているなら、彼らはそれを上手くやるでしょう。
そして率直に言って、9から5の仕事の多くは多くのコーディングを必要としません。新しいプログラムを設計し、その設計がどのように機能するか/失敗するかを確認するライフサイクル全体を繰り返し処理する必要はありません。その反復がなければ、プログラマーがコアプログラムの設計スキルを習得するために必要な実践はまったくありません。
そして、彼らは多くの学習を必要としません。自宅で物事を単純にハッキングするプログラマーでさえ、大企業の制約を受けることなく、新しい興味深いソリューションを模索しています。
Joel Testほど詳細ではありませんが、彼らにフィズバズプログラムを書くように頼むことは、彼らがまったくコーディングできるかどうかを知る良い指標になります。
http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html および http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers- who-grok-coding /
それは、個人のソフトウェアエンジニアリングの成熟度については説明しませんが、より悪いものを選別します。
ソース管理を使用していますか?
はい、でも
ワンステップでビルドを作成できますか?
毎日ビルドしますか?
バグデータベースはありますか?
はい。ただし、構成はしておらず、管理もしていません。単純に使用しています。
新しいコードを書く前にバグを修正しますか?
最新のスケジュールはありますか?
いいえ、それは私の仕事ではありません。
スペックはありますか?
仕様を取得したら、それを分析して関連文書を作成します。
プログラマーは静かな労働条件を持っていますか?
お金で買える最高のツールを使用していますか?
あなたは最高のツールが何であるかを知らず、あなたがそうすることを考えるなら、あなたの主張を主張する誰かが常にいるでしょう。
テスターはいますか?
はい。実際、はい、彼らはあまり良くありませんが、それは問題ではありませんでした。
新しい候補者はインタビュー中にコードを書きますか?
はい、彼らは失敗します。はい、彼らは通ります。これは何を意味しますか?
廊下のユーザビリティテストを行っていますか?
いいえ、しかし、より良いことをしたらどうでしょうか?
結論:
これは大したことではありませんが、私が提供した答えに基づいて、あなたがどのような開発者だと思うか聞いてみたいです。これは私の希望を証明するものです。
How do you know whether I pull changes before pushing?
使用しているソースコントロールはわかりませんが、少なくともSVNでは、まだ行っていない変更を含むフォルダーにコミットしようとすると、Updateを実行するまでコミットは失敗します。