では、Java を学ぶにはどのくらい時間がかかりますか? 10年ですか、10週間ですか、それとも1日ですか?もしかしたら一生?一部のオンライン フォーラムでは、この質問に対する非常に奇妙な回答が見つかるかもしれません。最初からはっきりさせておきましょう。この記事で言う「Javaを知る」ということは、「Hello worldプログラム」を書けるようになるということではありません。それは、最初の仕事を見つけるのに十分な Java の知識が必要です。タイトルにあるバズ・ライトイヤーのモットーは、厳密には冗談ではありません。あなたは本当に、Java やその他の言語を一生学び続けるかもしれません。その理由は、言語は常に進化しており、その範囲は変化しており、そして…朗報です、皆さん!パニックになる必要はありません。Java ミッションの学習は 3 ~ 12 か月で完了することは間違いなく可能ですが、この記事では多くのニュアンスについて説明します。ここでは、「Java を早く学ぶ方法」という質問にも答えていきます。
Yuliya Deinega、独学のソフトウェア開発者。ユリアは、LinkedIn で REACH 見習いエンジニアとして働いています。また、コンピューター プログラミングを学習し、シリコン バレーで仕事を見つけた経験を共有するために、YouTube チャンネルも作成しました。
Java を学習し始める人は、次の 3 つの主なカテゴリに分類できます。
PS:さて、あなたはどうですか?今のところ Java をどのくらい学習しますか? このプロセスは大変ですか?それとも、すでに最初の Java 関連の仕事を見つけているのでしょうか? 大変でしたか?それとも、ちょうど探し始めたばかりですか? ここであなたの経験を共有してください!
答えをどうやって探すか
「Java を学ぶのにどのくらい時間がかかりますか」という質問は、ちょっと難しいです。ここでは、より具体的なサブ質問に分割して回答します。より正確に言うと、CodeGym の学生へのインタビュー、オープンソース、および調査の統計を使用しました。その調査は、Java の学習プロセスと最初の仕事の検索に関するものでした。これは、地元の CodeGym ユニットの 1 つによって実施されました。調査の参加者は、初めて Java 関連の仕事を見つけたか、Java インターンシップに参加した、レベル 30 以上の CodeGym の学生でした。「Javaを知る」とはどういう意味ですか?
この質問に対する最も正確な、ただし非常に一般的な答えは、「Java を使用して問題を解決できる」ということでしょう。このような問題は「試験に合格する」「就職する」という目標かもしれません。あるいは、技術的なタスクである場合もあります。たとえば、「Play マーケットで使用できる独自のプロジェクトを作成する」などの大きなタスクでも、「必要なことを実行するコードの書き方を理解する」などの小さなタスクでも構いません。 もちろん、時間の経過とともに問題は変化します。最初の仕事に就いた後は、ポジションを上げていく必要があります (たとえば、Java ジュニア開発者から Java ミドル/シニア開発者に)。最初のコーディング タスクの後に 2 番目のコーディング タスクが続きます。さらに、それを実行すると、いくつかの新しい目標が表示されます。質問に戻りましょう。履歴書に「Java を知っています」と書くために知っておくべきテーマは何ですか? Java の学生は通常、次のトピックを学びます。- コアJava または
- コア Java + JUnitまたは
- コア Java + データベースまたは
- コア Java + ツールまたは
- コア Java + ライブラリまたは
- コア Java + Spring + SpringBoot + Hibernateまたは
- コア Java + Android SDK または
- …そして上記のすべての組み合わせ。
- 基本的な型とオブジェクト
- 基本構造(特殊演算子、ループ、分岐)
- OOP の概念
- ラッパークラス
- コレクション
- マルチスレッド化
- I/Oストリーム
- 例外処理
あなた個人のやり方。Javaを何のために学ぶのですか?
この記事では、「趣味で Java を学ぶ」または「将来 Java を教えたい」などの選択肢は考慮しません。ここでは、IT における Java の専門的な使用法について話します。現在、Java は次の 3 つの方法のいずれかで教えられることがほとんどです。- Java 開発者、研修生/ジュニア開発者からシニア開発者まで
- Android 開発者、インディーズまたは企業内 (ジュニアからシニアまで)
- QA 自動化 (Java を使用)
Java開発者
Java 開発者の人材は非常に幅広く、最初の仕事に就くには Java の知識が必要ですが、その内容は大きく異なる場合があります。CodeGym の調査によると、Java Core だけを知っていて、それ以上のことは何も知らずに初めて Java Junior の仕事に就いた人もいます。企業は作業プロセス中に彼らを訓練する準備ができていました。ただし、これはかなり珍しい出来事です。多くの場合、そのような人はインターンシップに参加したり、いくつかの試験に合格した後に Java 研修生になることができます。通常、Java ジュニアの応募者が最初の仕事に就くには、Java Core 以外の知識も必要です。Java 開発者が知っておくべき関連テクノロジのリストを次に示します。- コアJava
- JDK API
- Java 8 (ラムダ)、Java 11
- テストライブラリ (JUnit)
- 春のフレームワーク
- Spring Boot と Spring MVC
- 休止状態
- JDBC
Android開発者
Android 開発者は、企業で働くことも、独自のプロジェクトを持つこともできます。彼らは Java Core やその他のテクノロジを確実に知っている必要があります。ここには、Android 開発者の方法を示す 1 つのインフォグラフィックがあります。 そうですね、リストには多くのポイントがありますが、Java に直接関係するものはそれほど多くありません (テスト ツールのみ、実際には Core Java)。通常、開発者は、Android プログラミングを独学で学習する方が、エンタープライズ開発よりもいくらか簡単で早いことに同意します。それでも、Java ジュニアのポジションを目指す人にとっても、プログラミング スキルを訓練するために Android プロジェクトを作成することは役立ちます。QA自動化
優れた QA オートメーションはプログラミング言語をよく知っている必要があり、プログラミング言語はこの職業にとって最も重要なスキルの 1 つです。Javaに接続しました- コア Java (特に OOP、コレクション、FileOperations)
- テストライブラリ (JUnit)
- インテリJアイデア
- Selenium RC/WebDriver フレームワーク
- ページオブジェクトモデル
- HTML/CSS
- SQL
誰が尋ねていますか?潜在的な Java 学生のポートレート
「それはあなたのバックグラウンドと勉強に費やすことができる時間次第だと思います。ソフトウェア開発者としての道を歩み始めたとき、私は週に少なくとも 40 時間は勉強に費やしていました。6 か月間フルタイムで勉強した後、どんな新しいテクノロジーも自分でマスターできるという自信がつきました。ソフトウェア エンジニアとして最初の仕事に就くには、Java を学ぶだけでなく、コンピューター サイエンス、オブジェクト指向プログラミングの基本を理解し、自分の仕事を紹介できるプロジェクトをいくつか書く必要があります。これには 9 か月から 12 か月かかると思います。大変な作業のように聞こえるかもしれませんが、落胆する必要はありません。コーディングのどの側面が自分に喜びをもたらしているのかを発見し、自分自身で遊ぶことができれば、この旅は本当に楽しいものになるでしょう。」- 「ルーキーズ」。経験ゼロ。さて、ここにはプログラミングについて何も知らない人がいます。
- 「ミドル」。プログラミング経験が最小限または混沌とした学生。そういう人たちは学校や大学、講座でプログラミングを学びますが、本格的な学習ではありませんでした。
- 「プロ」。他のプログラミング言語を理解しているソフトウェア開発者 (1 つ以上)。
- 33.3% はまったくの初心者でした
- 17.6% が少なくとも 1 つのプログラミング言語を知っていた
GO TO FULL VERSION