タイトルとペイ以外の違いは何ですか?
彼らにはどのような責任がありますか。
彼らはどの程度の知識/経験を持っていますか?
開発者がこの基本構造にどこに適合するかを決定するための基本的な手段は何ですか?
これはさまざまですが、プログラマーのタイプを区別するのに十分な広さのある場所では、このように見えます。
エントリーレベルとジュニアは同じものだと思います。彼らは学校を卒業したばかりで、2年未満の実務経験しかありません。彼らには最も複雑でないタスクが割り当てられており、かなり注意深く監視する必要があります。一般的に、彼らは自分が知っていると思うことの約10%を知っています。通常、それらは開発サイクル全体を通過していないため、選択する機会があれば、非常に単純な選択をすることがよくあります。悲しいことに、彼らの多くは実際に要件が何であるかを気にせず、自分たちのやり方で物事を構築したいと考えています。多くの場合、デバッグのスキルは低いです。
中級レベルは、多くのプログラマーが陥る場所です。彼らは2年以上の経験があり、一般的には10年未満ですが、キャリア全体でこのレベルに留まることもできます。比較的日常的なタスクに割り当てられている限り、監督の少ない実用的なコードを生成できます。彼らは一般に、高度な知識を必要とする高レベルの設計や非常に複雑なタスクを課されていません。彼らは、特に彼らが上級開発者になるためのゾーンにいるときに、アプリケーションの一部の設計を任されるかもしれません。彼らは、メンテナンスタスクまたは自分のパズルのピースだけに集中できるタスクが得意ですが、シニア開発者と協力したり、シニアへの昇進の準備をしたりしない限り、通常、アプリケーション全体を検討することは期待されていません。彼らは通常、トラブルシューティングとデバッグのまともな仕事をすることができますが、難しいものを取得するためには、実際にログインしなければなりません。彼らには、発生している可能性のある場所を示す問題のパターンを確認する十分な経験がまだありません。しかし、彼らはそれらのスキルを獲得しており、デバッグの助けを求める必要はほとんどありません。彼らはおそらく少なくとも1回は開発サイクル全体を経験しており、設計上の問題の結果を見て、将来的にそれらを回避する方法を学んでいます。通常、明白な問題やギャップがある場合は、額面で要求を受け入れる可能性が高く、プッシュバックしない傾向があります。彼らは自分たちが知らないことを知るのに十分なほど学び、その知識を得始めています。それらはプログラミングの世界の主力製品であり、おそらくルーチンコードの80〜90%、そして非常に難しいものの10%を提供します。
上級レベルの人でさえ、この質問をする必要はありません。彼らは選択したテクノロジースタックのエキスパートです。彼らは困難なタスク(誰も解決方法を知らないもの)を与えられ、設計責任をしばしば受けます。彼らは商品を配達した実績があるので、彼らはしばしば独立して働いています。彼らは、ジュニアおよび中間の開発者を指導することが期待されています。多くの場合、すばらしいトラブルシューティングを行います。彼らは以前に同じ問題に遭遇したことがあり、どこを最初に見るべきかについて非常に良い考えを持っています。多くの場合、高齢者は職場外でもメンターをしています。彼らは通常、少なくとも10年の経験があり、ほとんどの場合、少なくとも1回の死の行進に参加しており、いくつかのことが避けられる理由を正確に知っています。彼らは実用的な製品を提供し、期限を守る方法を知っています。彼らは、どのコーナーをカットできるか、どのコーナーをカットしてはいけないかを知っています。彼らは、エキスパートレベルで少なくとも1つ、多くの場合複数の言語を知っています。彼らは多くの「ホットな新技術」が職場にぶつかって姿を消すのを見たので、次のエキサイティングな新しい開発ツールのためにバンドワゴンに飛び込むことについて少し保守的である傾向があります(しかし、完全に変更に抵抗するわけではありません-それらはシニアに飛躍することはありません古い中級の開発者)。彼らは、自分の仕事が、ユーザーが望むことを実行する実用的なソフトウェアを提供することであり、楽しいツールで遊ぶことではないことを理解しています。彼らはどこで働くことができるかについて、そしていくつかの場所がどれほどひどいものであるかを直接見てきたので、彼らはしばしば彼らがどこで働くかについてより厳格です。彼らは、するべき最も興味深い仕事がある場所を探します。ほんの数か月しか経っていない場合でも、彼らは自分の会社の製品について誰よりもよく知っていることがよくあります。彼らはプログラミングの知識以上のものを必要としていることを知っており、サポートするビジネスドメインについての知識を得ることも得意です。彼らはしばしば後輩が決して考慮しない問題に気づき、中間者はしばしば彼らがサポートするビジネスドメインの規制や法的な問題などについて考えません。彼らはそれで問題が何であるかを知っていて、それを素人に説明することができるので、彼らは要件をプッシュバックすることができ、プッシュバックします。
エントリーレベル-明確な指示を与え、彼らが行うすべてをチェックし、設計責任はほとんどまたはまったくなく、分析責任はない
ジュニア-明確な指示が少なく、チェックが少なく、設計と分析の軽微な責任。エントリーレベルの人々がコンパイラを見つけてリポジトリを使用するのに役立ちます
シニア-設計と分析の主な責任者であり、自分の見落としを修正することが期待されています。ジュニアレベルの人々が分析とデザインのスキルを学び/改善するのを助けます
本当に、それはあなたが仕事をしている期間にかかっていると思います。 10年の経験があれば、上級開発者であり、卒業生であれば、おそらくエントリーレベルです。私は、ほとんどコーディングできず、彼らが何をしているのか本当にわからなかった多くの「シニア」開発者と、素晴らしかった多くのジュニア開発者を見てきました。
見習い、ジャーニーマン、マスターの古い学校の職人スロットは、これらのスロットにエントリーレベル、ジュニア(または単にプレフィックスなし)とシニアに適していると思います。
入門レベルには、重大な結果をもたらさない比較的単純なタスクが与えられ、彼らの仕事はジュニアまたはシニアによってチェックされます。時間の経過とともに、彼らはより多くの責任を負い、より複雑なタスクを与えられ、途中でロープを学びます。
ジュニア(またはタイトル/説明から「エントリレベル」/「ジュニア」を削除しただけ)で、実習を完了し、会社の主要な開発領域をカバーし、各主要領域に浸ることで、それらのそれぞれに精通しています。これで見習いの同等者にガイダンスと入力を提供する手助けをしますが、おそらくあなたが後輩だったときほどではありませんが、自分の仕事は依然としてマスター/シニアによってレビューされます。
時間の経過と成功したプロジェクトの提供により、最終的にはシニアになります。上級レベルでは、開発プロセス全体と関連するすべてのツールとテクノロジーをカバーし、自分の地域でカバーされているすべてのものをマスターしました。重要な技術的決定を行う権限があり、ソフトウェア開発プロセスの管理に洞察を提供することが求められます。
したがって、これらのガイドラインが与えられれば、人または位置を見て、着陸する3つのビンのどれを決定できるかがわかります。
それは、プログラマーの会社の期待に要約されます。
私が採用企業であり、エントリーレベルのプログラマーを雇用している場合、その人はほとんど何も知らないので、私たちは彼/彼女がすべてを学ぶ必要があると仮定します。私が上級レベルの人を雇えば、理論的には、技術的な観点から言えば、それで十分です。
これは厳密に会社に依存します。しかし、言葉はかなり明白です:エントリーレベルはちょうどフィールドに参入している人であり、ジュニアはエントリーレベルを超えていて、いくつかの言語技術を知っている人です。最後に、シニアはプロジェクトをより多く担当し、より高いレベルに座る人々です。彼らは通常、コーディングした分だけ委任できます。
ほとんどが言ったように、それは会社ごとに、そして仕事ごとに異なります。
たとえば、私はかつて5年以上そこで働いた人を「上級ソフトウェアエンジニア」と見なす会社で働いていました。反対に、私が働いた別の場所にはvery厳しい定義(および関連する賃金表)がありました。
一部の場所では、「エントリレベル」と「ジュニア」は同じことを意味すると見なされます。
それは、長年の経験、一般的な知識、特定の知識(つまり、特定の言語の特徴を知ること)、経営および/またはリーダーシップの経験、それらのすべての組み合わせ、そして確かにはるかに異なる可能性があります。
ここでは本当に簡単な答えを紹介します。上級開発者(一般的に)は、森の森を見ることができる人々です。彼らは、直面している問題だけでなく、直面している問題を修正した結果として、どのようなアーキテクチャの変更が発生する可能性があるのか、または発生するのかを理解しています。
私が見たほとんどのソフトウェア会社は、上級レベルの開発者が新しい人々が何をしているかを監視し、本当に醜い厄介な問題に取り組んでいる間、日常的なコーディングを行う初心者レベルの人々を抱えています。
明らかにこれは私の意見であり、厳格な規則ではありません。 YMMV。
簡単に言えば、求人サイトで発見された個人的な観察から、経験レベルのみに関するものです。
エントリー=あなたの新しい、おそらくあなたの最初の仕事。
ジュニア=あなたの良いですが、最高とは言えませんが、あなたも通常 5年未満で2年以上の経験があります。
シニア=あなたは最高で、5年以上の経験があるはずです。