- 「これから会社でJavaを使うけど、何を勉強したら良いの?」
- 「Javaエンジニアはどんな順番で何を学ぶの?」
4月からJavaエンジニアとして活躍される方も多いと思います。しかし、どの順番で何を学んだら良いのかが分からないと、自分のキャリアに常に不安を感じてしまいますよね。
エンジニアは勉強が大切なので、コツコツ継続して勉強することは大切です。
そこで今回は、文系で未経験からJavaエンジニアになった私の経験も踏まえて、初心者の方に向けてJavaエンジニアのロードマップをご紹介しようと思います。
以下で紹介する流れは、文系初心者だった私が実際にJavaエンジニアになってみて、「この順番ならより効率的に学べそうだな」というものになっています。
また、私が成長するごとに記事も更新していきますので、ぜひ参考にしてみてください。
なお、必ずしもこの順番でやる必要はありません。会社によって先に学ぶべきものや、後回しにすべきものもあると思います。
1つの指標として使ってくださいね。
※なお、この記事は基本的に「独学」を対象としています。プログラミングスクールで最短でJavaを学びたい場合は以下の記事をご参照ください。
1. Javaに入門しよう
まずはJavaがどういうものなのか、何ができるのか、どうやって書くのか、などを広く触れてみましょう。
Javaの基本的な文法を学び、そのまま簡単なコンソールアプリケーションを作ることを目標とします。
step
1基本的な文法を学ぶ
- Javaの基本文法をひと通り学びます
- 同時に、オブジェクト指向やカプセル化も学びます
step
2Javaの練習をする
- ウェブサイトにあるJavaの問題を解くことで、文法知識を確実にします
- この時点でJavaの一番最初の資格に挑戦できます
step
3作品を1つ作る
- Javaを使って簡単なコンソールアプリを作ります
- 今まで学んだ知識を総動員しつつ、あなたの想像力を働かせます
これでロードマップの最初は完了です。
ここまでで、あなたはJavaを使った簡単なコンソールアプリを作れるようになります!
コンソールアプリと聞くと地味かもしれませんが、結構難しいですし、作り終わったときの達成感は最高ですよ!
このフェーズのもっと詳しい手順や内容、それぞれの具体的な勉強方法は以下の記事で紹介しているので、参考にしてみてください!
-
【まずはここから】Javaの基礎的な文法を学ぶ方法を教えます!
Javaエンジニアを目指して基礎を勉強したいけど、どうやって ...
続きを見る
-
【練習で】Javaを練習できる最高なウェブサイト2選【成長】
「Javaを勉強しているけど、本当に定着しているのだろうか」 ...
続きを見る
-
【初心者必見】Javaのコンソールアプリの作り方(超基本サンプルつき)
Javaの文法をひと通り勉強した後は、コンソールアプリを作る ...
続きを見る
ここで学びたいこと
四則計算, if, for, while, クラス, インスタンス, 型, 配列, リスト, メソッド, 変数, 例外, カプセル化, オブジェクト指向, ポリモーフィズム, インターフェース
2. Javaでウェブアプリケーションを作ろう
- 「コンソールアプリなんて物足りない」
- 「ウェブサイトで動くアプリケーションが作りたい」
ここまでJavaを学びきったあなたはそう感じるはずです。
そのため、次は簡単なウェブアプリケーションをJavaで作ることに挑戦します。
step
1ウェブの仕組みを学ぶ
- 普段使っているウェブサイトがどんな仕組みなのかを学びます
step
2HTML・CSSを学ぶ
- ウェブアプリを作るのに必須であるHTMLとCSSの基礎を学びます
step
3サーブレット・JSPを学ぶ
- Javaでウェブアプリを作るときの最も基本的な方法であるサーブレット・JSPを学びます
ここまでで、あなたはJavaを使った簡単なウェブアプリケーションを作れるようになります!
ウェブアプリが作れると、いよいよ「制作物を作り上げた」という段階になります!
このフェーズのもっと詳しい手順や内容、それぞれの具体的な勉強方法は以下の記事で紹介しているので、参考にしてみてください!
-
【初心者が知っておくべき】webの仕組み一覧と学ぶ方法
本記事では、学んでおくべきwebの仕組みと、その学ぶ方法をご ...
続きを見る
-
【文系SEが教える】初心者でも分かるJSP・サーブレットの違い
「JSP・サーブレットがいつまでたっても分からない…!」 「 ...
続きを見る
ここで学びたいこと
HTML, CSS, HTTP, サーバ, サーブレット, JSP, Eclipse, Apache, Tomcat
3. エンジニアとしての周辺知識を学ぼう
今までJavaの文法に焦点を当ててきたあなたですが、このあたりで「エンジニアのたしなみ」を学びたくなるはずです。
ここでエンジニアとして知っておくべき一般知識を身につけていきます。
なお、このフェーズはここで全て学びきらなくても問題ありませんし、むしろここで挙げているものでもまだまだ足りないくらいです。
そのため、興味があるもの・必要なものを随時勉強していく姿勢でよいと思います。
注意ポイント
- ここで挙げたものは一気に学ばなくてOK
- 興味があるものや、必要なものを随時学ぶ
step
1必須レベル
- ソースコード管理:Git, Github
- プロジェクト管理:MavenかGradle
- ミドルウェア:ApacheかNginx, Tomat, PostgreSQLとSQL文
step
2推奨レベル
- IT基礎知識:ITパスポート, 基本情報
- ネットワーク:HTTP, DNS, IPアドレス, プロキシ
- Linux:基本コマンド ※私はUbuntuを自宅PCに入れてLinuxを試していました
- 仮想化:Docker
- API: REST API, json, Javascript
- スレッド
step
3その他
- アルゴリズム
- セキュリティ、認証
- CI/CD
- キャッシュ
このフェーズのもっと詳しい手順や内容、それぞれの具体的な勉強方法は以下の記事で紹介しているので、参考にしてみてください!
-
【この順番でOK】データベース初心者向け勉強方法とおすすめ本3冊!
データベースの本はいっぱいあるけど、どの順番で勉強したらいい ...
続きを見る
その他の記事は現在執筆中です。。。
4. もっとJavaを学ぼう
よりJavaの知識を深めていき、胸を張ってJavaエンジニアを名乗れるようにまで勉強していきます。
Javaの脱初心者資格である、Java Silverを目指しながら勉強するといいと思います。
step
1資格をうまく使う
- Java Silverで新しい文法を学びつつ、今まで学んだ知識を深めます。
- CollectionやLambdaまで学べると、とてもよいです。
step
2デザインパターンを学ぶ
- GoFデザインパターンのうち、基本的なものを学んで設計の考え方に触れます。
Java Silverの資格を手にしたら、初心者は卒業です。
これからは文法だけではなく、エンジニアとして必要な周辺知識や実務で使う知識をメインで学ぶといいでしょう。
このフェーズのもっと詳しい手順や内容、それぞれの具体的な勉強方法は以下の記事で紹介しているので、参考にしてみてください!
-
【2020年5月】JavaSilverに受かったので対策を考察します!
こんにちは、まいまいです。 文系から自社パッケージを持つ会社 ...
続きを見る
ここで学びたいこと
Java Silverの知識, List, Map, GoFデザインパターンの基本
5. フレームワークを学ぼう
いよいよフレームワークにも手を出していきます。
フレームワークを使うことで開発がグッと楽になりますし、実務で通用する力を手に入れられます。
今までしっかりと基礎を身に着けてきて安易にフレームワークに走らなかった分、フレームワークの奥深さと素晴らしさを実感できると思います。
step
1フレームワークを知る
- フレームワークという概念を知ります。
step
2Spring Bootを学ぶ
- Javaの最も有名で主要なフレームワークであるSpring Bootの基礎を学びます。
- 余裕があればSpringも学ぶといいでしょう。
step
3JUnitを学ぶ
- JavaのテストフレームワークであるJUnitを学び、テストをいう概念を獲得します。
step
4ウェブアプリを作る
- Spring BootとJUnit、DBも使ったウェブアプリケーションを作り、今までの知識を総ざらいします。
この段階に来ると、もう実務で通用する立派なJavaエンジニアです。
今までわからないことだらけだったのに、急に開発に対する全体像も見えるようになってきて、エンジニアライフを楽しめるようになります。
このフェーズのもっと詳しい手順や内容、それぞれの具体的な勉強方法は以下の記事で紹介しているので、参考にしてみてください!
-
SpringBootに入門しよう【環境構築〜HelloWorldまで】
SpringBootを使ってみたいけど、そもそもどんなもの? ...
続きを見る
-
JUnit5入門!業務で必須のテストコードを学ぶ
テスト自動化にJUnitというものがあるらしいけどけど、どう ...
続きを見る
ここで学びたいこと
フレームワークとは, Spring Boot, Thymeleaf, REST API
6. フロントとインフラの基礎を学ぼう
Javaエンジニアはバックエンドエンジニアですが、開発中にフロントとインフラについて触れることもなくはないでしょう。
フロントとインフラの知識を最低限は持っておくべきです。
これにより、適切な設計が自分で組めるようにもなりますし、何より他分野のエンジニアと会話ができるようになります。
step
1モダンなフロントを学ぼう
- VueかReactを軽く学んでおきます。
step
2インフラの基礎を学ぼう
- バックエンドと相性が良いインフラは、フロントよりも少し深く学んでもいいと思います。
- AWSのCPかSAAを勉強しながら、いろいろなインフラ知識を入れるといいでしょう。
Javaと相性がいいのはインフラ側の知識だと私は感じているので、インフラを少し多めに学びました。
今のインフラはAWSが主流なので、SAAの資格を目指しながらAWSのサービスを幅広く触れるのがおすすめです。
このフェーズのもっと詳しい手順や内容、それぞれの具体的な勉強方法は以下の記事で紹介しているので、参考にしてみてください!
記事は現在執筆中です。。。
ここで学びたいこと
フロントフレームワーク(Vue, React), AWSの主要サービス, ネットワーク, サーバ
7. まだまだ学ぶ
エンジニアが学ぶことは多いです。新しい技術がどんどん出てきます。
常にアンテナを張って、勉強し続けることが大切です。
step
1学ぶものを見つける
- 自分は今、何を学ぶべきなのかを判断できるようになります。
- 将来設計によって、これから力を入れて学ぶべきものも変わってくるでしょう。
- もちろん、現在の業務によってもです。
step
2学び方を見つける
- どうやって勉強するのか、どうやって新しい情報を見つけていくのか、学び方を確立します。
終わりがない勉強を楽しめる人材こそが真のエンジニアだと信じています。
そこに文系も理系も関係ありません。
一緒に学び続けて、最高のエンジニアを目指しましょう。
まとめ
未経験・初心者の方の指標になってほしいと思い、Javaエンジニアとして成長できるロードマップをご紹介しました。
初心者のころは、「何を勉強したらいいのかわからない!」という悩みが尽きないと思います。
私もその一人でしたし、今思うとこういったロードマップがあると悩む時間も少なく成長できたのかと感じています。
そのため、今からJavaを学んでエンジニアを目指すという方は、ぜひこの記事を参考にしてください!
最後までお読みいただきありがとうございました。