プログラミングを勉強する際に候補に出てくる言語に Java があります。
最近は Java 以外の言語である、Ruby や Python の人気が高まっており、Javaを選んで勉強する人が減ってきていますが、世の中一般的には Java のお仕事がかなり多い状態です。
会社でプログラマーとして働きたい場合は、Java ができればまだまだ仕事には困らない状況が続いていくでしょう。
しかし、いざ Java を勉強しようと思っても、Java には様々なトピックがあるので、どのように勉強すればいいか分からないという方も多いと思います。
本記事では筆者が Java の仕事を7年続けた結果わかった、IT未経験者が効率よく Java を勉強するロードマップを紹介していきます。
プログラミングスクール等に通わなくても、この記事のとおりに勉強すれば Java を習得することができるので、まずは目を通していただけると幸いです。
Java 学習ロードマップ
Java はWebサイト作成から、バッチ処理、Androidアプリ作成等、できることが様々ありますが、本記事では「プログラミング未経験の状態」から求人数が多い Java による「Webサイト作成」ができるようになるためのロードマップをご紹介します。
効率よく Java の求人で求められるレベルの 「Webサイトの作成」技術が習得できるようになる勉強ロードマップはこちらです!
- プログラミングの基礎/Javaの基礎を勉強する(20時間)
- Java の資格勉強を通して、Java の文法を極める(50時間)
- HTML/JavaScript の基礎を軽く勉強する(5時間)
- SQL の基礎を勉強する(5時間)
- Spring Boot(Javaのフレームワーク) の勉強をする(10時間)
全部で約130時間ほどのコースです。
しかしながら、上記を習得した人が求人で来てくれるのであれば Java の開発案件が多い私が所属している会社なら非常に高い確率で採用します。なんならこのブログを読んで学習してきました!という人が来たら即採用します。
ここからはロードマップを1つづつ、どのように学習するのが良いか、何故この順番なのかということについて解説していきます。
プログラミングの基礎/Javaの基礎を勉強する(20時間)
まずはプログラミングの基礎とJava の基礎を勉強しましょう。
プログラミング未経験者の方はこの過程をやらずに先に進んでしまうと、何をやっているのかちんぷんかんぷんな状態になってしまい、ほとんど身につかなくなってしまうので必ず実施が必要です。
逆にプログラミングはある程度知っている(四則演算やif文や、for文レベル)のであれば、スキップしても大丈夫です。
目指すレベル
プログラミングの基礎を知る。四則演算のやり方、条件分岐(if文)、繰り返し(for文)
勉強のやり方
プログラミング、Javaの基礎を学ぶには名著が存在しているため、それを使用して学習を行います。私の会社の新人研修でもこの本を使用して研修を実施します。
使用する教材は「スッキリわかるJava入門」という本です。(個人的にはKindleではなく紙の書籍をおすすめします。)
この本をじっくり1週してください。それだけでプログラミングとJavaの基礎を習得することができます。
スッキリわかるJava入門では、プログラミングの説明と、実際にコードを書いてみるパートがあるので、説明を聞いて把握して→実際にやって理解するという工程を踏むことができます。
また、プログラミング学習を辞めてしまう要因となりうる、「環境構築」というJavaを実行できる環境を構築するという作業も、本書では「dokojava」というブラウザ上でJavaが実行できる環境を用意してくれているため、環境構築という大きなハードルがなくなり、躓かずに学習をすることができることも大きなポイントです。
1週勉強して、なんとなくプログラミングが分かってきたら、次のステップに進みましょう。
Java の資格勉強を通して、Java の文法を極める(50時間)
次は Java ができるかできないかを大きく分けるポイントとなる、「Javaの文法を極める」ということを行います。
ここでJavaの文法や、ルールなどをしっかりと学習しておかないと、最後のWebサイトを作るフェーズでJavaの基礎で躓いて全然できないという状況に陥ってしまいます。
ここでしっかりと基礎を固めていきましょう。
目指すレベル
Javaの文法を一通りマスターする。型、List、Map、class、継承、日付の扱い、例外処理
勉強のやり方
Oracle社の資格試験「Java SE Bronze/Java SE 11 Silver」の勉強をしていきます。
資格試験?と思われる方もいらっしゃるかと思いますが、Javaの基礎を習得するにはこれが一番いいです。また私の会社の話になりますが、新人研修でBronzeの資格取得を課されます。
また、Silver まで必要な理由ですが、実はBronzeとSilverでは難易度がそこまで変わらないという背景がありつつ、Silverからは実務で欠かせない「例外処理」を学ぶことができます。そのため、Bronzeを取得したら例外処理などの少し増えた部分を学習してSilverまで一気に取得してしまうことをおすすめしています。
ちなみに、弊社の採用面接でJavaのSilverを持ってますと言われると、ああこの人はJavaができるんだなと言う印象を一発で持ちます。役に立つ資格、立たない資格など世の中には沢山ありますが、OracleのJavaの資格については業界でもかなり信頼性のある資格なので、持っていて損はありません。
学習にはOracleの資格勉強の鉄板の書籍があるのでそれを使用します。それが以下の2冊です。
「オラクル認定資格教科書 Javaプログラマ Bronze SE」
「オラクル認定資格教科書 Javaプログラマ Silver SE11」
勉強の手順としては模擬試験以外の部分を2週してから、模擬試験を解くということを行います。
2週の勉強をする際には実際にコードを書いてください。各コードは参考書にサンプルとして載っているので、ここでも内容を把握して→書いて理解するの工程を踏みましょう。
このコードを書く際にも、「dokojava」を使用しましょう。まだ環境構築は必要ありません。(最後のフレームワークを学ぶときに使用する教材で、環境構築の手順が載っているので、そこまでは不要です。)
2週やって模擬試験を解くところまでできれば、Javaの文法を大まかに習得することができています。ここが一番時間を掛けるところです!Javaの文法をある程度理解できれば、残りはその応用です。逆にここで手を抜くと先で躓くことになります。しっかりと文法をマスターしましょう。
いかがでしょう、Javaの文法を覚えてなんとなくプログラミングがわかってきたんじゃないでしょうか?
ここから先はいよいよWebサイトに関連することを学んでいきます。
HTML/JavaScript の基礎を軽く勉強する(10時間)
Webサイトと言えばHTMLとJavaScriptですが、ひとまず基礎的なことだけ学ぶことができれば問題ありません。なぜなら、最後に出てくるフレームワークの学習でカバーされる内容が多いからです。
目指すレベル
HTMLの基礎を軽く勉強する。HTMLとは、タグとは、基本的なタグの使い方
JavaScriptの基礎を軽く勉強する。JavaScriptとは、if文、変数の使い方
勉強のやり方
Progateというサイトの学習コンテンツを利用して学習していきます。
基本的な事項を学ぶ場合に限っていえば、Progateによる学習は非常に効果を発揮します。
○HTML
HTMLは以下のコースを実施しましょう。
3時間50分のコースでHTMLで学んでおきたいことは一通り学ぶことができます。
○JavaScript
JavaScriptは以下のコースを実施しましょう。
約2時間のコースですが、変数の使い方と条件分岐を学ぶことができます。ひとまずこのレベルが勉強できていれば問題ありません。
ここまでやると6時間くらいなので、残りの時間はHTMLのタグを自分で色々試してみることをおすすめします。こんなタグがあるのか、ということを知っているのと知らないのとでは雲泥の差です。使いこなせる必要はないですが、是非様々なタグを知っておいてください。
SQL の基礎を勉強する(10時間)
SQLはある程度学んでおくと非常に役に立ちます。
目指すレベル
基礎的なSQLの書き方を覚える。SELECT、INSERT、UPDATE、DELETE、JOIN
勉強のやり方
ここでもProgateの学習コンテンツを利用して学習していきます。
「SQL」コースを一通り実施しましょう。約7時間です。
全て実施すると、目指すレベルである基礎的なSQLの書き方をすべて学ぶことができます。
SQLコースに含まれる道場コースは2時間と書いてありますが、実際はもっとかかるので、道場コースを全てやり遂げると大体10時間くらいの学習時間になります。
SQLの基礎的な部分を学んでおくと、Webサイトで使用するデータを扱うための技術を手にすることができます。
画面に表示するデータを取得したり、お客様が入力したデータを登録したりする際にSQLを使用します。
ここまで来たら、いよいよ最後のSpring Bootを用いたWebサイトの開発に進むことができます。
Spring Boot(Javaのフレームワーク) の勉強をする(40時間)
Webサイトを作成するにはフレームワークを使用することが多いです。
フレームワークを使用せずにWebサイトの作成をする場合、かなり複雑な処理を書かなければいけないのですが、フレームワークを使用すると決められた書き方をすれば、複雑な処理を書かなくてもWebサイトを作成することができます。
JavaのWebサイト開発では「Spring Boot」というフレームワークが現在の主流です。(2021年現在)
Spring Bootを使用すればWebサイトの作成に必要なことを、簡単な記述で実現することができてしまうのです。セキュリティ対策や通信などの複雑なこともカバーしてくれるので非常に優れたフレームワークです。
そのため、求人ではJavaとともにSpring Bootの技術を問われることが多いです。
Spring Bootを使用したWebサイト開発を学んでおけば、就職に直結で役に立つのです。
目指すレベル
Spring Boot の使い方を覚える。
勉強のやり方
基本的には参考書を使用しますが、英語が大丈夫な方には非常におすすめできる動画コンテンツがあるので、それを併用したほうがより効率的です。
まず、参考書は「Spring Boot 2 プログラミング入門」を使用します。この本ついてはサイズが大きいタイプなので、絶対に紙の参考書をおすすめします。
この参考書を1周する頃にはWebサイトが作成できるようになります。もちろん、ここまでのJavaの文法を学んだり、HTMLやSQLの基礎を学ぶ工程で培った土台が無いとだめです。
しかし、土台が整っていれば後はこの本の通りに勉強していくことで、Javaを使用したWebサイト開発ができるようになるのです。
この本の良いところは環境構築の手順から載っているので、順々にやっていけば環境を自分で作成するということもできるようになります。
また、コードは構築した環境で書くことができるので実践を積むこともできます。
基本的にはこの本をやるだけで問題ありませんが、英語に抵抗がない方はUdemyというサイトで公開されている「Spring & Hibernate for Beginners (includes Spring Boot)
」というコースを辞書的に使用することをおすすめします。
非常に細かく分かりやすく解説されているので、参考書で分からなかった点を補足的に見ると非常に効果的です。
これであなたもJava開発者になれる
ここまで学習できたあなたは、たとえ未経験で入社してきたとしても、必ず活躍することができます。
実際の開発現場でもロードマップで学習した内容を応用して、その会社のやりたいことを実現していくということがメインになります。そうです、あなたは既に現場で仕事でkリウ技術が身についているのです!自身を持ってください!
このロードマップは私の会社で用いられている研修のプランや、私が現場でWebサイトを作成する仕事を通して編み出された、実際の会社で使用されている学習のロードマップです。
是非このロードマップを信じて学習していただければ、Javaの開発者として活躍することができます。
入社先が見つからなければ、是非私にコンタクトを取ってください。TwitterのDMやこのサイト上部のお問い合わせから、声をかけてください。相談に乗ります。
終わりに
エンジニア転職をするために、エンジニアになるための勉強をしようとする方が多くなっている昨今、高額のスクールに通った挙げ句、ブラック企業に入れられてしまうといった悲しい事が起きているようです。
本記事ではスクールに通わなくても、転職に必要な力を学習することができる道筋を提示しました。自分で学習すれば、費用も抑えることができますし、就職先も自分で検討することができます。
是非、選択肢の1つとして、独学を視野に入れてみてはいかがでしょうか。
一緒に働ける日が来ることを願っております。