では、Java を学ぶにはどのくらい時間がかかりますか? 10年ですか、10週間ですか、それとも1日ですか?もしかしたら一生?一部のオンライン フォーラムでは、この質問に対する非常に奇妙な回答が見つかるかもしれません。最初からはっきりさせておきましょう。この記事で言う「Javaを知る」ということは、「Hello worldプログラム」を書けるようになるということではありません。それは、最初の仕事を見つけるのに十分な Java の知識が必要です。タイトルにあるバズ・ライトイヤーのモットーは、厳密には冗談ではありません。あなたは本当に、Java やその他の言語を一生学び続けるかもしれません。その理由は、言語は常に進化しており、その範囲は変化しており、そして…朗報です、皆さん!パニックになる必要はありません。Java ミッションの学習は 3 ~ 12 か月で完了することは間違いなく可能ですが、この記事では多くのニュアンスについて説明します。ここでは、「Java を早く学ぶ方法」という質問にも答えていきます。
もちろん、時間の経過とともに問題は変化します。最初の仕事に就いた後は、ポジションを上げていく必要があります (たとえば、Java ジュニア開発者から Java ミドル/シニア開発者に)。最初のコーディング タスクの後に 2 番目のコーディング タスクが続きます。さらに、それを実行すると、いくつかの新しい目標が表示されます。質問に戻りましょう。履歴書に「Java を知っています」と書くために知っておくべきテーマは何ですか? Java の学生は通常、次のトピックを学びます。
そのサイズと分岐は、訓練を受けていない読者を怖がらせる可能性があります。落ち着いて深呼吸してください!これらのテクノロジーについては、業務中に詳しく学びます。通常、初心者のソフトウェア開発者は、これらの技術のほとんどについて一般的な知識を持っているだけで十分です (まれな例外を除きます)。
そうですね、リストには多くのポイントがありますが、Java に直接関係するものはそれほど多くありません (テスト ツールのみ、実際には Core Java)。通常、開発者は、Android プログラミングを独学で学習する方が、エンタープライズ開発よりもいくらか簡単で早いことに同意します。それでも、Java ジュニアのポジションを目指す人にとっても、プログラミング スキルを訓練するために Android プロジェクトを作成することは役立ちます。
Yuliya Deinega、独学のソフトウェア開発者。ユリアは、LinkedIn で REACH 見習いエンジニアとして働いています。また、コンピューター プログラミングを学習し、シリコン バレーで仕事を見つけた経験を共有するために、YouTube チャンネルも作成しました。
Java を学習し始める人は、次の 3 つの主なカテゴリに分類できます。
CodeGym の世論調査によると、合格した生徒の 52.3% が毎日 1 ~ 3 時間の練習をしていました。
![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 8]()
![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 9]()
グラフは平均時間を示していることを理解することが重要です各グループの回答者がテクノロジーの研究に費やした金額。実際、各グループには、はるかに早く学習に対処したチャンピオンもいましたが、数年間学習を遅らせたチャンピオンもいました。一般的な学習時間は、応募者が履歴書を送り始めた瞬間、または最初のプロジェクト (お金を稼ぎ始めたプロジェクト) を完了した瞬間を示します。私たちの調査によると、仕事を見つけるまでに平均して 1 ~ 3 か月かかります。この数カ月間の探索は、関連技術の研究の終わりから始まります。最初の履歴書を送ってから 1 週間で仕事を見つけた幸運な人もいましたが、1 年かけて探した人もいます。
PS:さて、あなたはどうですか?今のところ Java をどのくらい学習しますか? このプロセスは大変ですか?それとも、すでに最初の Java 関連の仕事を見つけているのでしょうか? 大変でしたか?それとも、ちょうど探し始めたばかりですか? ここであなたの経験を共有してください!
答えをどうやって探すか
「Java を学ぶのにどのくらい時間がかかりますか」という質問は、ちょっと難しいです。ここでは、より具体的なサブ質問に分割して回答します。より正確に言うと、CodeGym の学生へのインタビュー、オープンソース、および調査の統計を使用しました。その調査は、Java の学習プロセスと最初の仕事の検索に関するものでした。これは、地元の CodeGym ユニットの 1 つによって実施されました。調査の参加者は、初めて Java 関連の仕事を見つけたか、Java インターンシップに参加した、レベル 30 以上の CodeGym の学生でした。「Javaを知る」とはどういう意味ですか?
この質問に対する最も正確な、ただし非常に一般的な答えは、「Java を使用して問題を解決できる」ということでしょう。このような問題は「試験に合格する」「就職する」という目標かもしれません。あるいは、技術的なタスクである場合もあります。たとえば、「Play マーケットで使用できる独自のプロジェクトを作成する」などの大きなタスクでも、「必要なことを実行するコードの書き方を理解する」などの小さなタスクでも構いません。![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 2](https://codegym-cc.translate.goog/images/article/35ac624c-3cb5-433c-8298-81ba10963e18/1080.jpeg)
- コア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
![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 3](https://codegym-cc.translate.goog/images/article/b17a6c36-7bd6-4b46-b93f-d03b3ab42906/original.png)
Android開発者
Android 開発者は、企業で働くことも、独自のプロジェクトを持つこともできます。彼らは Java Core やその他のテクノロジを確実に知っている必要があります。ここには、Android 開発者の方法を示す 1 つのインフォグラフィックがあります。![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 4](https://codegym-cc.translate.goog/images/article/930162fe-0709-44ca-855a-7e8e63542c5b/original.png)
QA自動化
優れた QA オートメーションはプログラミング言語をよく知っている必要があり、プログラミング言語はこの職業にとって最も重要なスキルの 1 つです。Javaに接続しました- コア Java (特に OOP、コレクション、FileOperations)
- テストライブラリ (JUnit)
- インテリJアイデア
- Selenium RC/WebDriver フレームワーク
- ページオブジェクトモデル
- HTML/CSS
- SQL
誰が尋ねていますか?潜在的な Java 学生のポートレート
「それはあなたのバックグラウンドと勉強に費やすことができる時間次第だと思います。ソフトウェア開発者としての道を歩み始めたとき、私は週に少なくとも 40 時間は勉強に費やしていました。6 か月間フルタイムで勉強した後、どんな新しいテクノロジーも自分でマスターできるという自信がつきました。ソフトウェア エンジニアとして最初の仕事に就くには、Java を学ぶだけでなく、コンピューター サイエンス、オブジェクト指向プログラミングの基本を理解し、自分の仕事を紹介できるプロジェクトをいくつか書く必要があります。これには 9 か月から 12 か月かかると思います。大変な作業のように聞こえるかもしれませんが、落胆する必要はありません。コーディングのどの側面が自分に喜びをもたらしているのかを発見し、自分自身で遊ぶことができれば、この旅は本当に楽しいものになるでしょう。」![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 5](https://codegym-cc.translate.goog/images/article/aa931194-5bee-4ea8-b9ab-0e4b36d9de9e/original.png)
- 「ルーキーズ」。経験ゼロ。さて、ここにはプログラミングについて何も知らない人がいます。
- 「ミドル」。プログラミング経験が最小限または混沌とした学生。そういう人たちは学校や大学、講座でプログラミングを学びますが、本格的な学習ではありませんでした。
- 「プロ」。他のプログラミング言語を理解しているソフトウェア開発者 (1 つ以上)。
- 33.3% はまったくの初心者でした
- 17.6% が少なくとも 1 つのプログラミング言語を知っていた
![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 6](https://cdn.codegym.cc/images/article/d1c94ac6-649e-41a9-9289-91acf1e96b0e/1080.jpeg)
何が勉強時間にプラスの影響を与えるのでしょうか?
時間を無駄にしないためには、最初から効率的に学習に取り組む必要があります。学習プログラミングを成功させるために重要なポイントを特定しました。適切な情報源を選択する
Java に関するさまざまな情報をインターネット上で見つけることができます。迷ってしまいがちです。トピックが理解できない場合は、新しいソースを Google で検索すると便利な場合がありますが、開始する前に、メイン コースを 1 つと、Java 書籍やチュートリアルなどの補助ソースを 1 ~ 2 つ選択することをお勧めします。それらに固執してください。この場合、インターネット上を目的もなくさまよったり、何かを探したりする必要がなく、時間を節約できます。多くのことを継続的に学ぶ準備を整えてください
Java 講師兼ソフトウェア開発者の John Selawsky 氏は、自身の記事の 1 つで、時々驚くほど上手にプログラミングを行う生徒もいたが、中には学習をやめてしまった生徒もいたと述べています。彼らの問題は、自由時間、年齢、性別ではありませんでした。能力の問題じゃなかったんだ!それは一貫性に関するものでした。成功した生徒は全員、一貫したスケジュールを立てており、それを忠実に守りました。たとえそれが遅い場合でも、彼らは進歩しました。したがって、スケジュールを立て(メインコースまたはチュートリアルから受講できます)、学習時間を設定する必要があります。Java プログラミングを職業にしたいですか? その場合は、毎日 1 ~ 3 時間学習する準備をしてください。![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 7](https://cdn.codegym.cc/images/article/ac4bb0bf-43d2-452f-b592-23909aeb3ba6/1080.jpeg)
理論と実践の適切な比率
泳いでみなければ、本だけで泳ぎ方を学ぶことはできません。プログラミングでも同じ話です。コードを書かずにプログラミングを学ぶことはできません。プログラミングは実践的な活動です。できるだけ早くコードを書き始めることが重要です。特に学習の最初の数か月間は、一度に多くの理論を学ぶ必要はありません。少しずつ勉強して、すぐに実践で修正する方が良いでしょう。つまり、時間の 20% は理論の研究に、80% は実践に費やされます。ここは、「Java を知るとはどういう意味ですか」という最初の質問に立ち返り、その答えを明確にするのに最適な場所です。Java を知るということは、Java でコーディングできることを意味します。「Java についての知識」はありませんが、さまざまな複雑さのプログラムを作成でき、そのようなコーディングの経験があること。簡単なタスクと難しいタスクの適切な比率
初心者は、難しいタスクを解決しようとして、何度も何度も挑戦することがよくあります。あまりにも長くやりすぎると、悲しい結果になるかもしれません。これはモチベーションを失う道です。初心者にとっては、いくつかの複雑なタスクを解決するよりも、小さくて単純なタスクを多数解決する方が有益です。学習の最初の数か月間は、難しいタスク 1 対、簡単なタスク 10 ~ 20 の割合が適切です。そしてもう 1 つ: タスクが複雑すぎて、何度も解決しようとした場合は、勇気を出して… 詳細がわかるまで延期してください。もっと簡単な問題をいくつか解決してから、通行できない要塞に戻る方が良いでしょう。または...それでも、今が問題を解決する適切な時期であると思われる場合は、遠慮せずに質問してください。これが次のポイントです。質問できるようになる
初心者は、自分の質問が愚かである可能性があると考え、フォーラムやコミュニティで質問すべきかどうかを躊躇することがよくあります。まあ、間違いなくできるでしょう!でも大丈夫、心配する必要はありません!すべてのソフトウェア開発者はあなたの立場にあり、愚かな初心者の質問に対する答えを必要としていました。だから何?プログラミング コミュニティはある程度協力的です。ソフトウェア開発者は通常チームとして仕事をしますが、かつては全員が初心者でした。 すべての学生、そしてすべてのプロのソフトウェア開発者でさえ、時々愚かな質問をしますが、それに犯罪はありません。 したがって、何か問題が発生した場合は、フォーラムに行って質問してください。確かに、Javaranch、Stack Overflow、または CodeGym Help である可能性があります。質問したり、答えを探したりするのに最適なフォーラム:では、最初の仕事に就くには、どれくらい Java を学べばよいでしょうか?
この記事の主な質問、つまり履歴書を送り始めて最初の仕事を獲得するまでに、Java を学ぶのにどのくらい時間がかかりますか? に答えることができる段階に近づいてきました。アンケートと学生へのインタビューのデータを使用して、回答者の初期レベルと必要な 3 つのポジションの 1 つを考慮した次のグラフを作成します。各グループについて、Core Java を学習する時間間隔と、最初の仕事に就くために必要な関連テクノロジの学習に費やす時間を決定しました。 注意!グラフを読み取るための情報です。「ルーキー」はプログラミング経験ゼロの人、「ミドル」はスクールや講座でプログラミングを少し学んだ人です。Java および Android 開発者の場合、「プロ」とは、1 つ以上のプログラミング言語をよく知っている人を意味します。QA オートメーションの場合、「プロ」とは、すでに手動テストに携わっており、Java 言語を使用したオートメーションを目指す人を意味します。すべてのグラフで、月数の時間スケールを使用しました。赤い長方形は Core Java の学習に費やした時間を意味し、青い長方形は Core Java 以外に必要なテクノロジーに費やした時間を表します。![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 8](https://codegym-cc.translate.goog/images/article/6cac3507-7a82-4ebc-ba45-ab05abc24580/original.png)
![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 9](https://codegym-cc.translate.goog/images/article/c1b9fe5f-7d26-433e-955d-e07fbac21c6a/original.png)
![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 10](https://codegym-cc.translate.goog/images/article/8c8b3915-db1a-4966-998c-488027029a4f/original.png)
![無限のその先へ: Java を学ぶのにどれくらい時間がかかりますか? - 11](https://cdn.codegym.cc/images/article/09b652c0-2a0e-4ecb-895c-e8602cea7695/1080.jpeg)