従来、テクノロジー業界では、開発者は資格レベルに基づいてジュニア、ミドル、シニア、チームリードの 4 つの段階に分けられていました。ソフトウェア開発業界の最下位の「兵士」としてコーディングインターンを含めると、あるいは 5 人になります。 前回の記事 では、ジュニア開発者になることがどのようなものかについてすでに説明しました。それでは、前回中断したところから始めて、プログラマーのキャリア段階の次の段階である中級開発者に進んでみましょう。
中級開発者とは誰ですか?
中級レベルの開発者は、この職業に少なくとも 2 ~ 4 年を費やした比較的経験豊富なプログラマーです。この数年で、経験が浅く自信のない新人プログラマーは、上級チームのメンバーに助けを求めなくても、自分でコードを書いて解決策を思いつくことができる、強力で完全に機能するプログラマーに変わったはずです。中レベルの開発者は、ほぼすべてのプロジェクトでプログラミング作業の主要部分を担当するのが中レベルのプログラマーであるため、通常、ほぼすべてのソフトウェア開発「軍隊」の中心部隊です。経験の浅いジュニア開発者とは異なり、中級レベルのプログラマーは多くの助けや監督を必要とせず、すべてを自律的に行うことができ、プロジェクトで使用されるコードとテクノロジを明確に理解しているため、より多くの責任を負います。例えば、ジュニアの主な焦点が、単純明快に機能するコードを書くことにある場合、中級レベルのプログラマーは、コードが明確に理解できるか、品質基準やプロジェクト要件に沿って書かれていることを確認するなどのことも考える必要があります。通常、ほとんどすべてのソフトウェアのコード ベースの大部分は、中級レベルのプログラマによって作成されます。もちろん、テクノロジー業界の職業や専門分野について話すときはいつものように、中級レベルのプログラマー (ジュニアやシニア開発者と同じように) は、働いている会社によってまったく異なる経験と責任を負う可能性があることに言及する価値があります。 「外から見ると、3 ~ 5 年の経験があれば中堅レベルに見えます。組織の中から、コーディングに関しては信頼される段階にありますが、クライアントとのやり取りや小規模から中規模のプロジェクトの所有権はほとんど、またはまったくありません。上級レベルの開発者が、基本的にプロジェクト マネージャーやクライアントとやり取りする必要なくコーディングできるため、中級レベルに留まりたいと考えるケースを見てきました。」経験豊富なソフトウェア開発者であり、コーディングキャリアコンサルタントでもあるルイス・ナカオ氏はこう言います。中級開発者の責任は何ですか?
ここで、中級開発者の最も典型的で一般的な責任のいくつかについて詳しく説明しましょう。- コードの作成と保守。
- コーディングのベスト プラクティスを分析し、プロジェクト コードに実装します。
- プロジェクトの技術要件を分析し、それに合わせてコードを適応させます。
- 現在のプロジェクトで修正すべき領域を特定し、開発する。
- ソフトウェアテストの実行と実装。
- ソフトウェア プロジェクトの品質保証手順を開発します。
- ユーザーのニーズだけでなく、デザイナー、QA テスター、その他のソフトウェア開発チーム メンバーのニーズも分析します。
- 品質保証手順の開発。
- 取り組みを調整し、他の開発者、デザイナー、システムおよびビジネス アナリストなどと協力します。
- さらなる作業とメンテナンスのために、開発プロセスのあらゆる部分を文書化します。
中級開発者の要件
以下は、この仕事に就くために満たすべき中級開発者の最も一般的かつ典型的な要件のリストです。もちろん、要件は企業の採用方針、プロジェクトで使用されるテクノロジー、開発者のプログラミング言語によって異なります。当然のことながら、中級レベルの Java 開発者向けの一般的な要件に焦点を当てます。- Java 開発者として少なくとも 2 ~ 3 年以上、少なくとも複数の異なるソフトウェア プロジェクトに携わった経験。
- Java アプリケーションの設計、プログラミング、実装、保守の方法に関する十分な知識。
- 大規模な拡張を目的とした、大容量かつ低遅延のシステムをプログラムする方法を理解している。
- Web プロジェクトを構築するためのフレームワーク (Maven、Gradle)、エンタープライズ プロジェクト用のフレームワーク (Spring、Hibernate、Spring Boot)、単体テスト用のツール (JUnit、Mockito) などに関する確かな知識。
- 開発ライフサイクルのすべての段階で貢献できる能力。
- 高品質で効率的かつ簡単にテスト可能なコードを作成する能力。
- ソフトウェア分析、テスト、および Java コードのデバッグの実施に精通していること。
- Java および Java EE アプリケーション開発の管理の経験。
- 代替アプローチを考え出し、新しいテクノロジーを実装できる。
- 技術的な顧客と非技術的な顧客の両方と明確かつ簡潔にコミュニケーションできる能力。
GO TO FULL VERSION