CodeGym /Java Blog /ランダム /上級開発者になるとはどのようなことか。役割の簡単なガイド
John Squirrels
レベル 41
San Francisco

上級開発者になるとはどのようなことか。役割の簡単なガイド

ランダム グループに公開済み
従来、テクノロジー業界では、開発者は資格レベルに基づいてジュニア、ミドル、シニア、チームリードの 4 つの段階に分けられていました。以前の 2 つの記事で、ジュニアおよび中レベルの開発者になることがどのようなものであるかについての基本をすべて説明しました。いよいよ次のグラデーションに移ります。上級開発者、上級開発者になるのはどのようなものですか? 上級開発者は中級レベルのプログラマーとどう違うのですか? 確認してみましょう。 上級開発者になるとはどのようなことか。 役割についての簡単なガイド - 1

上級開発者とは誰ですか?

ソフトウェア開発における職業や専門分野に関するこのような記事では、常に何らかの免責事項を作成し、特定の立場に対する認識や理解は、企業、事業を展開している業界、その他の要因によって大きく異なる可能性があることを説明する必要があります。 。一部の人々(主にやや保守的な傾向のある人々)は、10 年以上のコーディング経験がある場合にのみ自分をシニアと呼ぶことが許可されており、これには責任があると信じています。つまり、正社員として実際にコーディングをしていた年数だけがカウントされ、12 歳で初めて Basic でプログラミングを試みたときから数え始めることはできません (多くの若いプログラマーがそうする傾向があり、本物の上級プログラマーを怒らせることになります) )。保守的ではなくなり、多くの人は、ソフトウェア開発者として 5 年以上フルタイムで働けば、自分をシニアと呼べると信じています。一方で、経験年数は単なる数字であり、実際に重要なのは知識、スキル、そして応用可能な経験です。シニア開発者は全知全能のコーディングウィザードとみなされることが多いため、シニアの称号に値するためには、ここで本当に成果を上げなければなりません。経営陣の認識では、シニアは通常、プロジェクト関連のタスクを解決する方法、または必要なコードの書き方を知っている人です。しかし、特定のソフトウェア開発プロジェクトにおける上級開発者の最も重要な役割の 1 つは、すべての問題、ニーズ、ニュアンスなどを含むプロジェクト自体の知識です。自律的に仕事ができることは、シニアの重要な資質です。これは、先輩がいつ何をすべきかを知っていることを意味します。期待されている仕事を遂行するのに監督は必要ありません。そして、これは、この開発者にプロジェクト関連のタスクを与え、残りのすべてを彼/彼女に任せることができることを意味するため、雇用主の目には非常に貴重な資質です。「残りのすべて」とは、完了すべきタスクのニーズ、要件、制限を把握し、適切なアプローチを考え出し、適切な手段を見つけ、大きなタスクを小さなタスクに分割し、それらを中級およびジュニアレベルに割り当てることです。開発者など シニアプログラマーと中級レベルおよびジュニアプログラマーを区別するもう 1 つの大きな側面があります。それは彼らが書くコードとそのやり方にあります。シニアは通常、最も明確でシンプルかつ簡潔なコードを書く人であり、そうあるべきです。場合によっては、このコードがあまりにも単純で原始的に基本的に見える場合があります。これは、シニアが最終結果としてのタスクの完了だけでなく、プロジェクトのコード ベースに対する新しいコードの全体的な影響も考慮する必要があるためです。上級開発者は、保守性とスケーラビリティを念頭に置いてコードを作成します。これが彼らの大きな強みであり、これは経験によってのみ得られるものです。

上級開発者の責任は何ですか?

ここで、上級開発者の最も標準的で一般的な責任のいくつかについて、当然ながら Java プログラマーに典型的な責任に焦点を当てて、さらに詳しく説明しましょう。
  • ユーザー要件の特定と分析。
  • コーディングタスクの優先順位付け、割り当て、実行。
  • Java アプリケーションの開発。
  • コード作業の精度と機能性をレビューします。
  • コードセグメントを定期的に分析します。
  • 新しいテクノロジーの最新情報を入手し、ジュニア開発者にその使用方法を教える。
  • 他のチームメンバーと開発サイクルに関連するアイデアやソリューションを生み出す。
  • すべての開発作業とプロジェクトのコードに対する一般的な責任を負います。

上級開発者の要件

以下は、この仕事に就くために満たす必要があるシニア開発者に対する最も一般的かつ典型的な要件のリストです。もちろん、要件は企業の採用方針、プロジェクトで使用されるテクノロジー、プログラミング言語によって異なります。
  • ソフトウェア開発とそのテクノロジーに関する広範な一般知識。
  • Java に関する豊富な知識。
  • エンタープライズ アプリケーションの設計、構築、テストの経験。
  • Spring、Spring Boot、Java EE、JSF などの一般的な Java フレームワークに関する深い知識。
  • オブジェクト指向設計 (OOD) の経験。
これらはプログラミング関連の基本的な要件にすぎませんが、強力なシニアを構成する他の重要なスキルが他にもたくさんあるため、技術的な知識を持っているだけではシニア開発者の仕事に就くのに十分ではないことがよくあります。ここでは、シニア デベロッパーに対する一般的に言及される技術以外の要件をいくつか示します。
  • 優れた委任スキルと時間管理スキル。
  • 問題解決能力。
  • よいコミュニケーション力;
  • 優れた書面および口頭コミュニケーションスキル。
  • 期限を守り、戦略的に考える能力。

上級開発者の収入はいくらですか?

ご存知かもしれませんが、 Google、Facebook、Amazon、Apple、Microsoft などの大手企業がソフトウェア エンジニアに多額の給料を支払っているため、米国でのコーディングの仕事の給与に関しては、経験豊富な上級開発者にとっては限界があります。たとえば、Google では、開発者として最高のレベルと考えられているレベル 7 のソフトウェア エンジニアは、年間で合計 60 万 8,000 ドルを稼ぐことができます。しかし、平均的な数字を見てみましょう。Glassdoor によると、米国の上級プログラマーの平均年収は約 121,000 ドルで、米国の中級レベルのプログラマーの年収 71,000 ドルやジュニア開発者の平均年収 63,502 ドルと比較すると、かなり高額です。報告PayScale の場合、10 ~ 19 年の経験を持つシニア開発者は、5,523 人の給与に基づいて、平均合計報酬 109,122 ドルを獲得しています。キャリア後期(20 年以上)の従業員の平均報酬総額は 111,432 ドルです。 PayScale によると、ドイツでは、10 年以上の経験を持つ上級ソフトウェア開発者の平均報酬総額は 63,638 ユーロです。フランスで, シニアの平均給与は54,982ユーロです。いつものように、純粋に数字に関して言えば、アメリカのプログラマーはヨーロッパやその他の国のプログラマーよりも優れています。注目すべきもう 1 つの興味深い点は、アメリカの上級プログラマーの収入が中級レベルのプログラマーよりも大幅に高いことです。おそらく、これは、米国の真に専門的で経験豊富な上級プログラマーの大多数が、世界有数のソフトウェア労働力支出を行っている米国のハイテク大手企業で働いていると仮定すると、最もよく説明できるでしょう。

キャリアの視点

キャリアの観点に関しては、シニア開発者は間違いなくそれを持っています。しかし面白いことに、彼らの大多数は実際には何も探していないのです。チームリードやテックリードなどのポジションは、シニアレベルに到達した際に期待される主な選択肢の1つとなります。技術管理のさまざまなオプションだけでなく。おそらく、技術企業の CTO および CEO の地位は、上級開発者のキャリアの中で可能な限り最高の業績となります。もちろん、CTO のほうが現実的です。なぜならテクノロジー業界であっても、CEO の大多数は実際には技術的な背景がまったくないか、非常に限られているからです。

上級開発者になるのはどんな感じか。意見

当然のことながら、一般的にシニア開発者のポジションに関して言えば、ほとんどの議論は、開発者がまさに議論したいと思っている 2 つの重要なトピックに焦点を当てる傾向があります。それは、実際にシニア開発者となる理由と、いつからシニアと呼ばれるようになるかということです。「驚く人もいるかもしれませんが、シニアレベルの求人では一貫して応募者に5年から8年の経験を求めています。10年以上を要求するものもいくつかありましたが、多くはありませんでした。上級開発者として、企業はあなたが漠然としたアイデアを取り上げ、仕様を定め、開発を計画し、チームを巻き込んで完成までやり遂げることができることを期待します。一方、中級開発者は通常、監督なしで、割り当てられた個々のタスクを実行し、チーム内で作業し、何らかの指導を行うことが期待されます。は彼の見解を共有しています。「上級開発者と一緒に、私は大まかな目標を与えることができ、より漠然とした目標を与えることができます。そして、彼らはそれを仕様化し、実行計画を作成し、私が実行して、最小限の手間で実装に取り​​掛かることができます。したがって、漠然としたアイデアを採用し、それを完全に完成させることができるという自信を持てれば、あなたは上級開発者です。誰でも時々助けを求めるので、決して助けを求めないという意味ではありませんが、私が面倒を見なくてもプロセスを進めることができます」と Wise Telemetry の共同創設者兼 CEO の Eric Wise は言います この素晴らしい引用で締めくくりましょうドイツ出身の経験豊富なソフトウェア開発者であるパブロ・オリバ氏は次のように述べています。問題が発生したときはいつでも、彼らには頼れるリソースがたくさんありました。彼らは、私たちが日常的に使用するツールや言語をよく知っており、何かわからないことがあったときにどこを探せばよいのかを知っていました (目的もなくグーグル検索することと、最初の試行で適切なマニュアル ページにアクセスすることとは違います)。この古い解決策の知識と新しい解決策を探求する能力により、彼らは同僚から尊敬され、しばしば提案を求められました。また、彼らはまた、いつ自分で探すのをやめて同僚に助けを求めるべきかを知るようになるでしょう。資格を持っている人もいれば、持っていない人もいます。卒業した人もいれば、卒業していない人もいた。しかし、それらは常に彼らのチームにとっての基準点でした (そして他のチームの人々、特に素晴らしい上級開発者にとってさえも)。それで、行き詰まったときにあなたに助けを求めようと思う人はどれだけいるでしょうか?」
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION