3つの一般的なJavaプログラマー資格レベルがあるようです:
プログラマーを「ジュニア」、「ミドル」、または「シニア」にするものは何ですか?それは、プログラマーが特定の資格や職務専門知識を持っているということですか? IT企業はどのようにしてプログラマーにどのような肩書きを与えるかを決定しますか?
この質問に対する答えは、プログラマーの数だけあります。しかし、私は彼らをこのように判断します:
しかし、あなたは本当にこれに向かって行くべきです はるかに良い答え 私が書いていたはずであるものを見るために!
「より難しい」メトリックにしたい場合は、 プログラマーの能力マトリックス に関連付けることができます。タイトルは明確なものではありません。それはすべてHRが話すことです。定義されている場合、正確に定義されていない可能性がある特性をカプセル化するのに便利な流行語。
PCMに関連付けるには:
ジュニア開発者:ほとんどの分野で少なくともn ^ 2を評価します。いくつかのnまたはlog(n)を評価し、いくつかの2 ^ nを使用しても問題ありません。
中間開発者:多数派n、少数派はn ^ 2、少数は2 ^ nです。できるだけ多くのlog(n)ですが、まだ少数である可能性があります。
上級開発者:多数派n、log(n)は少数派またはわずか多数派で、n ^ 2はわずかで2 ^ nはほとんどありません。
伝説:数nsで可能な限りすべてのLog(n)とそのマークの下に何もない。
専門家:専門分野でのLog(n)とその他の適切な経験。
明らかに、これらは各カテゴリの「理想」です。本当に基準に完全に準拠するタイトルに合う多くの人はいないと思います。
ここに Dreyfus Model of Skills Acquisition を参照するショートカットがあったらいいのにと思います。各レベルを範囲と考えると、私のジュニアミドルとシニアのコンセプトは5つのステージにうまく対応していると思います。
もちろん、秘訣はメタナレッジにあります。人が知っている以上に誰かが知っていることを人が認識することは困難です。初心者の開発者として別の開発者の知識を評価している場合、私はそれらを初心者以上のものとして評価することはできません(私がそれらを初心者よりも高いと評価することができる場合、私は自分自身が初心者より上になるのに十分な知識があります)。スペクトルの反対側では、大幅にスキルの低い人を適切に評価することは困難です。有能な開発者を評価する専門家を思い浮かべてください。彼がXのやり方を理解していないと言うのは簡単です...彼は明らかに初心者です。
唯一の解決策は、複数のスキルレベルの人々に個人を評価させることです。各レベルで、その人が私と同じくらい有能であるかどうかを識別します。ポジティブになる最高レベルは、最も正確な評価です。今、あなたの既存の従業員を評価する方法の問題があります;)