回答:
これはさまざまですが、これはプログラマーのタイプを区別するのに十分な大きさの場所で見られる方法です。
エントリーレベルとジュニアは同じものだと思います。彼らは学校を出たばかりで、2年未満の実務経験があります。それらには最も複雑でないタスクが割り当てられており、かなり厳密に監視する必要があります。一般的に、彼らは自分が知っていると思うことの約10%を知っています。通常、開発サイクル全体を経ていないため、選択する機会が与えられた場合、非常に単純な選択を行うことがよくあります。悲しいことに、彼らの多くは実際に要件が何であるかを気にしておらず、自分たちのやり方で物事を作りたいと思っています。多くの場合、デバッグスキルが不十分です。
中級レベルは多くのプログラマーが落ちるところです。彼らは2年以上の経験があり、一般的には10歳未満ですが、一部の人はキャリア全体でこのレベルに留まることができます。比較的日常的なタスクに割り当てられている限り、監視の少ない作業コードを生成できます。通常、高度な設計や高度な知識を必要とする非常に複雑なタスクを担当していません。ただし、特にシニア開発者になるためのゾーンにいるため、アプリケーションの一部の設計を担当する場合があります。メンテナンスタスクやパズルの一部だけに集中できるタスクは得意ですが、通常、シニア開発者と連携したり、シニアへの昇進の準備をしている場合を除き、アプリケーション全体を考慮することは期待されていません。彼らは通常、トラブルシューティングとデバッグのまともな仕事をすることができますが、彼らは本当に難しいものを手に入れるために徹底的に努力しなければなりません。彼らは、発生している可能性のある場所を指摘する問題のパターンを見るのに十分な経験がまだありません。しかし、彼らはそれらのスキルを獲得しており、デバッグの助けを求める必要はほとんどありません。彼らはおそらく、少なくとも一度は開発サイクル全体を経験しており、設計上の問題の結果を見て、将来それらを回避する方法を学んでいます。通常、彼らは額面どおりに要件をとる傾向があり、明らかな問題やギャップがある場合にはそれを押し戻さない傾向があります。彼らは、自分が知らないことを知るのに十分なことを学び、その知識を獲得し始めています。彼らはプログラミングの世界の主役であり、
上級レベルの誰もこの質問をする必要はありません。彼らは、選ばれた技術スタックの専門家です。彼らは難しいタスク(誰も解決方法を知らないタスク)を与えられ、多くの場合、設計の責任を負います。商品を配達した実績があるため、多くの場合、独立して機能します。彼らは、ジュニアおよび中間開発者を指導することが期待されています。多くの場合、彼らは素晴らしいトラブルシューティングです。彼らは以前に同じ問題に遭遇し、どこから先を見るべきかについて非常に良い考えを持っています。高齢者も職場の外でメンターをすることがよくあります。彼らは一般に少なくとも10年の経験があり、ほぼ常に少なくとも1回の死の行進に参加しており、いくつかのことを避けるべき理由を正確に知っています。実用的な製品を提供し、期限を守る方法を知っています。彼らは、どのコーナーをカットできるか、どのコーナーを決してカットしてはならないかを知っています。彼らは専門家レベルで少なくとも1つ、多くの場合複数の言語を知っています。彼らは多くの「ホットな新技術」が職場を襲って消えていくのを見てきたので、彼らは次のエキサイティングな新しい開発ツールのために時流に乗ることについてもう少し保守的である傾向がありますシニアに飛躍することのない古い中級開発者)。彼らは自分の仕事は、楽しいツールで遊ぶのではなく、ユーザーが望むことを行う実用的なソフトウェアを提供することだと理解しています。彼らは仕事ができる場所について、またある場所がどれほど悪いかを直接見てきたので、彼らはどこで働くかについてより慎重になります。彼らは、最も面白い仕事をする場所を探します。多くの場合、彼らはほんの数ヶ月しかいなくても、彼らの会社の製品について他の誰よりもよく知っています。彼らはプログラミングの知識以上のものが必要であることを知っており、彼らがサポートするビジネスドメインについての知識を得るのも得意です。彼らはしばしば後輩が決して考慮しない問題に気づいており、中間体はしばしば彼らがサポートするビジネスドメインの規制や法的問題などについて考えません。彼らは、要件の問題が何であるかを知っており、素人に同じことを説明できるので、要件を押し戻すことができます。
エントリーレベル-明示的な指示を与え、彼らが行うすべてをチェックしなければならない、設計の責任がほとんどまたはまったくない、分析の責任がない
ジュニア-明確な指示が少なく、チェックが少なく、設計と分析の小さな責任があります。エントリーレベルの人々がコンパイラを見つけてリポジトリを使用するのを助けます
シニア-主要な設計および分析の責任者であり、自分で監視を修正することを期待されています。ジュニアレベルの人々が分析と設計のスキルを習得/改善するのに役立ちます
本当に、それはあなたが仕事をしていた期間に帰着するだけだと思います。10年の経験がある場合は上級開発者であり、卒業生であればおそらく入門レベルです。私は、ほとんどコーディングできず、彼らが何をしているのかを実際に知らなかった多くの「シニア」開発者と、素晴らしかった多くのジュニア開発者を見てきました。
見習い、旅人、マスターの古い学校の職人スロットは、入門レベル、ジュニア(またはプレフィックスなし)、シニアに適しています。
入門レベルの誰かには、重大な結果をもたらさない比較的単純なタスクが与えられ、その作業はジュニアまたはシニアによってチェックされます。時間が経つにつれて、彼らはより多くの責任を負い、より複雑なタスクを与えられ、途中でロープを学習します。
ジュニア(または単にタイトル/説明から「エントリーレベル」/「ジュニア」を削除)で、見習いを完了し、会社の主要な開発分野をカバーしました。それらのそれぞれに精通しています。これで、見習い相当の指導と入力を行うことができますが、あなた自身の仕事は、おそらくあなたが後輩だったときほどではありませんが、まだマスター/シニアによってレビューされています。
時間の経過と成功したプロジェクトの提供により、最終的にはシニアになります。上級レベルでは、開発プロセス全体、および関連するすべてのツールとテクノロジーを対象として、お住まいの地域でカバーされているすべてのものを習得しました。重要な技術的決定を下す権限があり、ソフトウェア開発プロセスの管理に対する洞察を提供することが期待されています。
そのため、これらのガイドラインを考慮して、人または役職を確認し、3つのビンのどれに着地するかを判断できる必要があります。
これは厳密に会社に依存します。しかし、言葉はかなり明白です:エントリーレベルはフィールドにちょうど入っている人であり、ジュニアはエントリーレベルを超えており、いくつかの言語技術を知っている人です。最後にシニアは、プロジェクトをより担当し、より高いレベルに座っている人です。彼らは通常、コーディングした分だけ委任できます。