この質問にはすでに回答があります:
コメント
回答
自分自身をシニアの場合:
- ソフトウェア開発ライフサイクル全体をエンドツーエンドで処理できます
- 他の人をリードするか、他の人がガイダンスを求めます。
- プロジェクトを自己管理できます
ソフトウェア開発は、他の分野とは異なり、好奇心旺盛な生き物です。
時には、大学を卒業したばかりのパンクが、20年以上の「経験」を持つベテランの周りを一周することがあります。プログラミングは、コードが王様である奇妙な世界です。
2年以内に上記を達成するものもあれば、10年かかるものもあります。
コメント
- あなたのリーダーシップの下で少なくとも1つのプロジェクトが失敗したことを付け加えておきます…
- 2番目の箇条書きに同意しません。他の人を導く能力は、"シニア"を定義しません。タイトルの"リード"の部分を定義します。 '崖を追いかけるよりも、崖を押しのけたい上級開発者を知っています。私はあなたの他の2つの定義が大好きです。 +1
- @新鮮なパンクなこと-あなたは才能のあるコーダーであり、アルゴリズムの優れた発明者でありながら、'という理由だけで問題にぶつかることがあります。 '以前に遭遇したことのない問題。 'まだ思ったよりも生意気ですが、それを理解したことさえあります。
- 10,000時間の実際のプログラミングの後で、追加します(コンピューターの前に座っている)。
- 2未満かかるものもあれば、10かかるものもあります。多くの場合、' t ever (かなりの数の人に会いました…)
回答
「SeniorDeveloper」と聞いたらプログラミングをマスターした人のことを考えてみてください。システムの設計、コーディング、テストができる人のことを考えています。彼らはシステムアーキテクチャやコンポーネント設計と話すことができます。彼らはデザインパターンを理解して使用します。この人はパフォーマンスのボトルネックを予測できますが、事前に最適化しないことを知っています。この担当者は、必要に応じて、非同期プログラミング、キューイング、キャッシング、ロギング、セキュリティ、および永続性を活用します。尋ねられたとき、彼らは彼らの選択と賛否両論の詳細な説明を与えることができます。ほとんどの場合、彼らはオブジェクト指向プログラミングとデザインを習得していますが、これはJavascript、F#、Schemeなどの絶対的な他の言語ではなく、強力でオブジェクト指向ではありません。彼らはリスク管理に長けており、最も重要なことは、前述のことを同僚に伝えることができることです。
習熟とは何ですか?一般的に受け入れられている考えは、1つのスキルを習得するには、人体と精神がスキルを把握して内面化するのに10,000時間の繰り返しが必要であるというものです。これは、MalcolmGladWellの本 Outliers に詳しく書かれています。原作者がフィールドをマスターすることについて話したとき、彼は非常に競争の激しいフィールドのトップに到達するのに10,000時間かかると言っていました。
マルコムグラッドウェルの異常値の例は次のとおりです。
モーツァルト彼の最初の21歳の若さで協奏曲。最初は若く見えますが、11歳から音楽を書いています。
ビートルズは当初敬遠されていました。彼らはマスタードを持っていなかったので、別の仕事を検討する必要があると言われました。彼らはドイツで3年間、さまざまな場所で約1200回プレイし、それぞれの長さは5〜8時間です。彼らは今日私たちが知っていて愛しているビートルズとして再登場しました。
そして最後に、ビルゲイツ 20歳でハーバード大学を中退し、マイクロソフトを設立しました。これはばかげているように見える人もいるかもしれませんが、20歳のとき、彼は若い人生のプログラミングのほぼ半分を費やしていたと考えられています。 1975年には、世界でたぶん50人だけが彼の経験をしました。彼の経験は、マイクロソフトの未来を見据えた先見性を彼に与えました。
Peter Norvigは、エッセイ「 Teach Yourself Programming in10Years」で10,000時間のルールについても説明しています」。
GeorgeLeonardによる本 Mastery には、スキルを習得する方法が詳しく説明されています。何度も何度もスキルを練習する必要があります。繰り返しが多ければ多いほど、それぞれの繰り返しの違いに気付くようになります。この洞察がなければ、あなたはより良くなることができません。
ソフトウェア業界の肩書き(ジュニア、ミドルレベル、シニア)は誤解を招き、組織ごとに一貫性がありません。私は、シニア開発者を5年以上の経験を持つ人物と定義している企業と協力してきました。彼らが5年間コンピューターの前に座っていたというだけで、体験の質については言及されていません。これらの人々と協力して、彼らの多くはまだオブジェクト指向プログラミングを理解していませんでした-それでも彼らは上級開発者と見なされていました。
ソフトウェアエンジニアのスキルセットを測定するためのより客観的な方法が必要です。 John Haugeland は、コンピュータープログラマーのスキルマトリックスを投稿しました。これは、プログラマーのスキルレベルを測定する客観的な方法です。それ以外の場合は直感に任されています。
ソフトウェアエンジニアを見ると、4がわかります。スキルの階層:ルミナリー、シニア、ミドルレベル、ジュニア。
ルミナリー(10年以上)は、スキルを習得し、それぞれの分野の向上に着手した人です。例としては、 Ted Neward 、 Uncle Bob Martin 、Donald Knuth、 Oren Eini 、 Peter Norvig 、Linus Torvalds発光体はスキルセットに基づいて変化します。
シニア(7〜10歳以上、レベル3)は、特定のジャンルで過去10,000時間をプログラミングに費やした人です。デザインパターンについての深い理解があり、非同期プログラミング、キューイング、キャッシング、ロギング、セキュリティ、および必要に応じて永続性を活用します。
シニアがルミナリーに到達しない可能性は非常に高いです。発光体は、話したり書いたりすることがよくあります。彼らは積極的に自分の規律に影響を与えようとしています。
中級レベル(4〜6年、レベル2)は、日々のプログラミングを理解している人です。それらは独立して機能し、堅牢なソリューションを作成します。ただし、大規模または複雑なシステムの作成または保守の経験はまだありません。一般に、中級レベルの開発者はコンポーネントレベルの開発に優れています。
ジュニア(1〜3歳、レベル1)はプログラミングの基本を理解している人です。彼らはソフトウェア工学またはコンピュータサイエンスの学位を持っているか、独学で学んでいます。彼らのコードは継続的に見直されています。アルゴリズム、保守性、構造に関するガイダンスが提供されます。
コメント
回答
「いつ自分をシニア開発者と呼ぶべきですか?」–ジュニア開発者の指導を始めたとき。
コメント
回答
あなたは
シニアは何も意味しません。ジュニアは何も意味しません。タイトルは何も意味しません。私の役職-アソシエイトビジネスシステムディレクター。私の責任-社内ソフトウェア開発からインフラストラクチャ、セキュリティまで、ITのすべてを管理します。私のソフトウェア開発の経験-自習。私のネットワークの経験-自習。IT分野における私の全体的な能力-あなたよりも悪い。
管理と指示の能力-議論の余地があるが、私の性格と性格が私に仕事を与え、成功させてくれます。
タイトルは能力を意味せず、努力はすべてを意味します。私は最高ではありません。そう信じることは傲慢です。
タイトルについてのハングアップを忘れて、自分の価値を証明してください!
コメント
回答
同じ傾向に気づきました。先日の質問の1つは、アーキテクトに昇進した2〜3年の経験を持つ上級開発者についてでした。
どんぐりを木と呼ぶことはできますが、それが何であるかは変わりません。
唯一の論理的な結論は、「シニア」は他の何かを意味するということです。
- 「大学を卒業したばかりの男性のシニア」のように相対的なランク
- スペイン語のスペルが貧弱、つまり彼らセニョールを置くことを意味します
- 「シニアバットクラック、パンツを引き上げる」のように、南部の綴り
最近では、それはただの仕事ですタイトルであり、相対的な業界経験については何も言わないかもしれません。
コメント
回答
ベストアンサーはDarknightによって与えられたと思います。
必要性を感じています次の点を指摘します。
2〜3年のプログラミング経験(共同作業+個人)は、1時間では十分ではありません。 o十分な数のプロジェクトを見て、十分な量の問題に対処しました。うまくいかない。物事を頭の中で通過させ、経験を振り返り、精神的により高いレベルの思考に移行するための時間が必要です。一夜にしては起こりません。
5〜7年の練習(再び一緒に働く+個人的な)の下では、奇跡は期待できません。特定の言語やフレームワークで多くの経験を積むかもしれませんが、まだジャンプしていません。新しいレベルの思考。
もう1つは、個人の全体的な成熟度です。私の意見では、最初は30歳に近づきます。それ以前は、脳はより高いクロックレートで動作している可能性があります。しかし、全体像を見るのに十分なデータがメモリに不足しているため、ジャンクを処理することになります。私たちの一般的な生活経験は、私たちの考え方や仕事の仕方に微妙ですが現実的なものを追加します。
先輩の個人的な受け入れ:少なくとも7年の実務経験を持つ27歳以上の人 。それ以前は、私は個人的に懐疑的でした(しかし、それでもオープンマインドであるため、私にはもっと証拠が必要です)。
コメント
回答
最近、MartinFowlerによる優れたブログ投稿がありました。私がそれから取り除いたのは次のとおりです。
-
誰かのために働いてきた期間とは関係ありません。あなたは3年間働き、上級開発者になります。 6年後に何が起こりますか?あなたはシニアシニア開発者になりますか?
-
シニア開発者はあなたを軽蔑したり、あなたより優れていると思ったりしません。それは非常に重要です。エゴを邪魔すると、問題が発生します。
-
上級開発者は責任を負いません。彼らは問題を予測し、前向きに対処します。
-
人々は上級開発者と協力したいと考えています。これが私にとっての鍵です。私は人々に私と一緒に働いてもらいたいし、彼らに私と一緒に働くことを楽しんでもらいたいです。
-
上級開発者は最も賢いエンジニアではありません。彼らは最も複雑な問題に取り組んでいません。彼らのスキルセットはプログラミングだけではありません。彼らのコミュニケーションスキルも同様に重要な役割を果たします。
-
上級開発者は見積もりが得意です。
-
上級開発者は常に自分の仕事に関心を持っています。彼らは、退屈なタスクを他のタスクと同じ品質で完了する必要があることを理解しています。
明確にする
上記のスキルは、基本的なソフトウェアエンジニアリングのスキルと実践に加えて、優れた上級ソフトウェアエンジニアが持つべきだと私が信じているものです。
コメント
回答
多くの人を指導し、最初は意見が合わなかった後、何年も経ってから感謝している場合は、任意のタイトルに「Senior」を追加してください。
それまでは、「リード」はおそらくより説明的な用語です。
私にとって、「シニア」という用語は、人々とその恣意的な期待に対処する際の実践的な経験と知恵の集大成を意味します。 。このシナリオを考慮に入れてください。
チームに16人のプログラマーがいて、それぞれが他のプログラマーよりも正確に1年多くの経験を持っています。つまり、16インチのプログラマーは16年以上の経験があります。バスが店にぶつかると、最も経験豊富なメンバーの8人が悲劇的に殺されます。経験の半分の人は、今では上級開発者と見なされますか?そうではありません。会社がボイドを、失ったばかりの人と同じかそれ以上の能力のある人にすばやく置き換えてくれることを願っています。
ジャーニーマン」をプログラミングに取り入れますが、その一部は当てはまります。「シニア」という用語は、技術的な知識をはるかに超えているため、15年未満の経験を持つ人に「私が」渡すものではありません。
コメント
回答
この「ジュニア/シニア開発者」のタイトルは間違っていて誤解を招くと思います。このための実際の測定単位はありません。私たちはすべて、実践的な経験が少ないまたは多いソフトウェア開発者です。ソフトウェア開発者向けの階層を作成しようとしないでください。意味がなく、主要な焦点である優れたソフトウェア開発チームに害を及ぼす可能性があります。
コメント
- +1コメントに同意するここにはそのような特効薬はないと思います。技術的スキルと人的スキルが重要だと思います
- 多くの場合、タイトルはより多くなっていると感じていますスキルレベルや経験よりも給与等級の定義。多くの場合、これは交渉スキルによって決定されます。中堅レベルの開発者が上級レベルのポジションについて面接し、仕事を得たとしても、実際には彼らがより熟練しているか経験豊富であるとは定義されていません。単に彼らはより高い給料のポジションに彼ら自身を交渉することができました。したがって、タイトルが間違っていて誤解を招く可能性があることに同意します。
- ここではあなたの答えが最善だと思いますが、実際には世界中の企業がすべての役職でこの用語を使用しているため、避けられません。
回答
前の仕事を振り返って、それがどんながらくただったかを理解したとき。そして、あなたは「良くなったが、まだまだ先があり、学習は永遠に続く」ということを理解しています。
コメント
回答
時々、他の職業を見たり、なぜソフトウェアプログラミングはそれ自体を標準化しないのだろうか。特定のレベルを取得するための受け入れられた標準があるので、この質問は役に立たないだろう。それから私は「誰が死んで彼らを王にしたのか」と気付く。
経験、教育、認定、タイトルは、他のすべての人がプログラマーの能力を非常に基本的に垣間見るためのものであることは誰もが知っています。あなたは自分が何をしているか、何をしていないかを知っています。自分の匂いを嗅ぐことができます。親切またはできません。
回答
“WHAAAT ….ユニットテスト!!!!私は先輩ですプログラマー…もうコードをテストする必要はありません」
前に聞いたことがあります…したがって、彼は「ジュニア」にバグを修正させてテストさせます。
「私たちは建築家を雇うつもりです…いいえ、X氏ではなく、はるかに年長の誰か、もはやコーディングしていない誰かが欲しいのです」
インタビューの後半:
本当にシニアは、視点の問題であり、スティーブンが言うようにタイトルです。しかし、最終的には、あなたが書いたコードだと言えるといいのですが。重要ですが、残念ながら多くの場合、特に具体的な成果(コード)で測定されなくなったが、階層に自分の本質をどれだけ納得させるかによって、スーツとネクタイが大きな影響を及ぼします。
コメント
回答
お金と関係がある可能性があります。
一部の企業は一定の給与プランに従います。いくつかの規則があるため、「開発者」ラダーの真ん中にあなたを置くことはできません。しかし、「シニア開発者」ラダーの一番下に置くことはできます。
個人的に、私は大学を出てすぐにシニアの称号が与えられると不思議に思うかもしれませんが、反対に、誰が気にしますか?私は10年ほど「開発者」であり、「シニア」の称号を取得したとしても今職場を変える、それは何の意味もありません。私はまだ新しいドメインの新入生です-少なくともしばらくの間…
回答
他の人から電話があったときシニア開発者。 1つの定義はありません。その会社から会社への変化。落ち着いた会社では、新入生は仕事が少なく、学習曲線が遅いです。スタートアップ企業では、新入生は多くの責任を負い、より短い時間で多くのことを学ぶことができます。私はこれを直接体験しました。残念ながら、コードや作業の品質を調べて知識の深さを計算できるのは、他の経験豊富な人だけです。そして、時間切れになると、誰もがタイトルを取得できると確信しています。
会社を変えないでください。 🙂
回答
他の多くのタイトルと同じようにタイトルです。ここにあるこれらの「10代」は博士号を取得している場合もあります。 、それは必ずしも何かを意味するわけではありません。しかし、それは明らかに彼らにより高い給料を得るでしょう。同じことがシニア開発者またはシニアアーキテクトにも当てはまります。または、シニアプロジェクトマネージャーなど。
その事実を考慮すると、長年の経験の後に自分のカードにそのタイトルを追加するよりも、同僚から「シニア開発者」と呼ばれる方がよいでしょう。機会があったときにやった。 🙂
それ以外は、最低10年(大学やその他の教育を含む)だと思います。
コメント
回答
最近、1年未満の経験を持つCS卒業生を探している求人情報をいくつか見ました。これは、単なるタイトルであっても、私には狂気のように思えます。1つには、タイトルの水を減らすことを示唆しています。それらの投稿で私が見たカップル会社は、本当の先輩を表すために他の「スーパーシニア」の称号を持っています。それは私が思う悪い雇用戦略ではありません。役職はすべてではありませんが、他のすべては2つの仕事の間で等しいです、私はおそらく取るでしょう「マスターチーフ開発者」の称号を持つもの。
「マスターチーフ開発者」(またはその高い地位が「シニア」など)が実際に正当化されるポイントは、特定するのが難しいですが。それを定量化することについて客観的になりすぎることはないと思います。大まかな公式として、彼らが通常部屋で最高であり、部屋に少なくとも8人のプロの開発者がいる場合、彼らはシニアと呼ばれるべきだと思います。これは、シニアが少なくとも87パーセンタイルにあることを示しています。これらの開発者が最も経験豊富な開発者である可能性が高いと思いますが、経験==「上級」、またはそれに近いとは絶対に言いません。同時に、7歳か8歳未満の真の先輩の数が非常に少ないのではないかと疑っていますが、それ未満の人がマスターになることは不可能ではありません。
22歳で、私は確かに「マスターカテゴリになる可能性は低い」に分類されます。私は「1年の経験の10年(または30年)」タイプのいくつかの周りにいて、正直に私がより良いと思いたくなりますが、それらの人々は、たとえ彼らがゼロの努力をしていなくても、覚えているようにしています何十年もの間、純粋な浸透を通して、さまざまな主題について私よりも多くの知識を獲得してきました。プロジェクトのライフサイクル全体について、彼らほど多くを知る方法はありません。私は自分より年上のプロジェクトの人と一緒に仕事をしています!彼よりもその範囲のプロジェクトを維持することについて私がもっと知っていたと本当に思うのは、私にとってかなり思いがけないことです。
もう1つ覚えておくべきことは、22歳で自分をシニアと呼び始めたら、32歳で何になりますか。あなたがすでにトップにいると仮定することは、あなたの将来にとって少し不幸です。多くの人は、誰かがいつ専門家であるかを判断するために10,000時間のルールに目を向けます。アイデアが提案されているMalcomGladwellの本では、専門家が単に最高であるだけでなく、特定の役割を果たしていることは明らかです。初心者は決して最悪ではありませんが、それは能力以上の方法の説明です。初心者は奇抜なことをすぐに学ぶことができますが、専門家である人と同じくらい早く最も一般的なことのいくつかを行うのに苦労することがよくあります。専門家は非常に正確かつ迅速に日常業務を行うことができ、問題を示している可能性のあるものを探すことができますが、変化に対応したり、快適ゾーン外のことを学習したりするのに苦労することがよくあります。それを念頭に置いて、私はまだ専門家になりたくありません。安定したドメインに落ち着く前に、できるだけ多くの新しい情報を吸収したいと思います。
コメント
回答
10年??冗談でしょう。さて、10年をどのように定義しますか?誰かが15歳でプログラミングを始めたが、25歳でプロになったとしましょう。
業界はそのようには機能していません。さまざまな企業が、5〜8年の間いつでもシニア開発者XまたはYと呼ぶようにしています。組織の多くの年功序列には能力だけがありません。 、それは個人が取っているイニシアチブと彼が共有したいと思っている責任の種類と多くの関係があります。ほとんどの場合、適度なスキルと強いモチベーションを持つ人々は上級プロになります。
BTW22歳は10代ではありません;-)
コメント
。私も'私は手足に出かけて、10年の経験はあなたがたくさんの経験を持っている場合にのみ意味があると言います(経験はあなたができる唯一のことです' '知識'と比較すると、教えることができます)。私の40 'にいることで、'シニア'に関する多くの知識が得られました。 20 'で5〜8年経っても'取得できませんでした。
@Michael:+1 。"エクスペリエンス"