未経験から半年でJava Gold取得までのロードマップ

動画が望ましい方は以下を参考にしてください!

今回私の体験談に基づき未経験者から半年でJava Gold(Javaで最上位の資格)取得までのロードマップを示します。

Javaははっきり言って難しい言語ですw 別の言語としてSwiftを学んだ経験がありましたが、数倍難しいと感じました。

では、なぜここでご紹介するかと言うと、未経験者にとってJavaは最高に適している言語だからです。

なぜ未経験者にJavaがおすすめなのか

Javaはどの言語にも汎用できる

最近プログラミング言語はどんどん増えて、正直数も把握してません。

ただ風潮としては、より楽でエンジニアが何も考えずにプロダクトを開発できるかという視点です。

実際にJavaとSwiftを比べてみたときに、Swiftではロジックは良くわからないけど実装できていたものが、Javaではしっかりロジックを練って実装する必要があります。

そのため面倒だと思うかもしれませんが、未経験者にとってはこの面倒臭さが大事です。

 

なぜなら、この基礎がわかっていないと仮に応用を楽しんでいたとしても、それは趣味で終わってしまい仕事にはできないからです。

極論ですが、今どきCtrl + sCtrl + cなどのショートカットが使えない人は仕事ができないと思います。

応用から入ってしまうとこれらの基礎をすっ飛ばしてしまう可能性があるのです。

また、Javaをマスターしておけば、どの言語を学ぶときにもかなり活かせるというのは良く聞く話です。

日本語の環境・リファレンスが充実している

Javaは20年くらいの歴史があります。インターネット産業はここ50年くらいの話なので、20年もかなり歴史がある方です。

近年の言語は絶対がつくほどオブジェクト指向という考え方に基づいていますが、Javaはその中でもトップクラスに歴史があります。

とはいえ最新の技術に置いて行かれるのではないかと心配するかもしれませんが、Javaは頻繁にアップデートを繰り返していて流行である型推論などを取り入れています。

 

これだけ歴史があり、使用している人が多いので日本語環境・リファレンスが非常に充実しています。

わからなくてググったときに最新の言語では、英語しか出てこないときはよくありますが、Javaでは日本語の情報が多いです。

また、IDE(統合開発環境)はEclipseを使うと思いますが、日本語に対応していることは特に最初は非常に助かります。

最も仕事が多い

エキサイトニュース

レバテックは6月11日、プログラミング言語別新規求人案件割合ランキングを発表した。調査は2018年度、新規に発生した正社…

上記の記事にもありますが、Javaは他に比べて圧倒的に仕事が多い言語です。

やはり使用している人が多いということとweb、スマホアプリ、組み込みなどJavaはなんでも動かすことができるからです。

なので、大規模開発に向いている言語で教育環境が整っていて仕事に困ることは少ないです。

逆に最新の言語などはベンチャー企業でよく使われるので、教えてもらえる時間はありません。

Javaにすんなり入るための準備

 

私はJavaを学ぶ前にこれらの事前知識があったためすんなりとJavaを理解できたと思います。

どの言語を学ぶ上でもこれらの事前準備ができているかいないかで、今後の理解スピードが大きく変わります。

タイピングスピードを上げる・ショートカットキーをマスター

コンピュータを使って開発ということが全く初めての人はまずコンピュータの動作について学ぶ必要があります。

目指すところがインフラやハードウェア系のエンジニアではなく、ソフトウェアエンジニアであれば基本的なところまでわかっていればOKです。

最も大事なのが作業スピードの効率化を図ることです。これは、早くやっておいた方が良いです。

主にタイピングスピードを上げることとショートカットキーをマスターすることです。

これら2つははどの仕事でも活かせる非常に重要なスキルです。

タイピングはまずブラインドタッチができるようになりましょう。以下のサイトがおすすめです。

wpmというタイピングスコアが可視化できるので、最低でも200を目指しましょう。

インターネットでタイピング練習 イータイピング

ウェブ上で無料のタイピング練習ができます。基本からじっくり学びたい方、もう一度練習し直したい方、ぜひご利用ください。楽し…

 

次にショートカットキーですが、こちらは意識していないと絶対に使えるようになりません。

コピー&ペーストなどは基本ですが、Chromeでタブを閉じたりページ移動するときやWindowsで画面ロックするときなどショートカットキーは沢山用意されています。

なんかこの作業多いな面倒だなと感じたら調べてみてください。ほとんど用意されています。

拡張機能をインストールしてみたり、ショートカットを自分でカスタマイズするようになったら完璧です。

目標はマウスから手を離して作業できるようになることです。

データベースの仕組みを学ぶ

どのシステムでもデータベースは不可欠です。データベースがあるため、Twitterで5年前の投稿が見れたり、過去30年前の写真を取り出せたりと人間の限界である記憶能力を越えることができます。

つまり、データベースを学ぶことはエンジニアにとってとても重要です。

まずは基礎でも良いのでデータベースの仕組みを理解しましょう。おすすめは資格を取ってしまうことです。

最初は目標も分かりやすく、学べて箔も付けられるので一石二鳥です。以下の記事が参考になります。

関連記事

動画が望ましい方は以下を参考にしてください!https://youtu.be/nMv82aAguns 私自身プログラミング未経験からエンジニアに就職を目指して無事に内定をGETできたので、そのときに役に立ったIT系[…]

未経験おすすめ資格サムネ

Webの仕組みを学ぶ

現代でWebは生活から切り離せない存在です。そもそもJavaは、演算処理など内部のロジックを組むことに特化しています。

つまり、Java単体だけではただの電卓です。そこに、Webなど画面を組み合わせることで真価を発揮します。

なので、まず5ページくらいの簡単なWebページを作ってみることをおすすめします。

ここでは、HTML/CSSという言語を使います。ただこれらの言語はロジックを考えることは少なく非常に簡単なので心配不要です。

プログラミングを無料で学べる以下のサービスで十分事足ります。

HTML, CSS, JavaScript, PHP, Rubyをはじめ、iPhoneやAndroidアプリの作り方も学…

Progate

Progateはオンラインでプログラミングを学べるサービスです。プログラミングを学んでWEBアプリケーションを作ろう。…

プログラム開発の思考を身につける

最後にプログラム開発の思考を学びます。というのも、プログラムというのは基本的に単純で順次・反復・選択という3つの要素に分けて現実世界のことを表現しています。

なので、この表現に頭を慣れさせる必要があります。ここでは、数学が得意な理系な人は理解がスムーズだと思います。

だからと言って、文系の人も全然理解できます。私も文系ですし、

では、何をするかというとフローチャート作成をして練習をします。すごろくやじゃんけんなどの現実にあることをフローチャートに書いてプログラムでは、どう書くか考えてみましょう。

紙に書いても良いですが、以下のFlowgorithmというツールがおすすめです。

Flowgorithm

 

英語ですが、シンプルな操作で使うボタンが限られているので全然困りません。

このツールはフローチャートを書いて実際にそれをプログラムとして動かして結果を出すことができます。

さらに、そのフローチャートから各プログラミング言語に変換することができる超有能ツールです。

講師をしたときもこのツールを導入しました。やはり、プログラムが動くところを見られると面白いです。

1ヶ月目 Javaの文法をマスター・オブジェクト指向を学ぶ

 

しっかり事前準備ができたらついにJavaに入っていきます。準備の質が高いだけ理解するセンスが上がっています。

Javaの基本的な文法・仕組みをマスター

まずは、基本的な文法を学んでいきます。最初はHello Worldと出力できることを目指します。

プログラミングを学ぶ上で最も面倒なのが環境構築です。ただ、最初は0からのスタートなので自分で調べてやってみましょう。

別の言語を学ぶ際や別の環境で開発する際に毎回必要になるので、今のうちに慣れてセンスを磨くと良いです。

学ぶ中身まで触れませんが、おすすめの書籍は以下のものです。私もこのスッキリシリーズを持っていますが、Javaを学ぶ上では最も分かりやすいと思います。

ちなみにエンジニアを目指すならこういった技術書は不可欠になってきます。3千円なんて安い方です。
私はもう10万円くらいは使っていますw まあその分後が楽になります。

オブジェクト志向の基本を学ぶ

次にオブジェクト指向について学びます。オブジェクト指向はプログラム開発する上での考え方です。

最近の言語はほぼ全てこのオブジェクト指向に基づいています。なので、ここで触れておくと後々別の言語を学ぶときにかなりスムーズになります。

ただこのオブジェクト指向はただの抽象的な考え方なので、躓く人が多数出てきます。ここでは深くまで理解する必要がありませんし、それは難しいです。

個人単位の超小規模でオブジェクト指向を用いても、メリットは感じにくいです。チーム開発や大規模な開発になると真価が発揮されます。

書籍を買ってもいいと思いますし、1つ私の講師友達のブログ記事を紹介します。

大学院中退してもWEBエンジニアになれたやべっちブログ

やべっち(@yabecchi312)です!   私はプログラミング講師を仕事にしていますが、Javaを勉強する…

非常に分かりやすくまとまっていて、私も仕事で活用させて頂きましたw

簡単なAPI(Listなど)を学ぶ

この段階まできたら、Javaの基礎の基礎はわかっている状態です。

あとは、API(Application Programming Interface)を学んで実務に用いるために必要なことを学んでいきます。

APIとは簡単に言うと、誰かが便利なツールや機能を開発してパッケージ化したものを、自分のプログラムにインポートして活用するということです。

1から自分の力だけで実装なんて不可能なので、APIを積極的に使っていきます。

有名どころでいうと、Listなど集合を扱うインタフェースやDateなど日付を扱うクラスです。

APIを使いこなせるようになると、自分で開発できる成果物のレベルも上がってきます。

2ヶ月目 Java Silver取得、データベース連携をマスター

 

Java Silver

Java Silver取得

次にやるべきこととしてJava Silverという資格を取ってしまいましょう。Web上ですが、シルバーのバッジかっこいいですよねw

実はJava Silverの範囲は1ヶ月目に用いた「スッキリJava入門」でほぼ網羅できています。

ただ、このOracleの試験全般に言えると思いますが、このJava Silver「そんなコード誰が書くねん」と思うような嫌らしい問題が多いですw

 

そして気になる費用ですが、3万円です!

いや本当に高いですよね〜、ただLPICやORACLE MASTERみたいに2つ試験を受ける必要はないです。

3万円払って絶対落ちたくないですよね。なので以下の問題集は買うべきです。

私もこの通称黒本を使いましたが、8割型このまま出ますw 試験中驚くと思います。

中身は500ページくらいあって、問題が充実していて解説もしっかりついています。

私は仕事でJavaを使っていたので、2週間で合格できました。65点が合格ラインで85点くらいでした。

非常に分厚いので、4周くらいしてもういいやってなりました。3周すれば合格できると思います。

ちなみにラムダ式は捨ててもいけます!

Javaとデータベースを連携させることをマスター

Java Silverを取得できたら基本文法はほぼほぼ完璧です。

次は、Javaとデータベースを連携させてみましょう。データベース処理で用いる言語のSQLは資格で勉強済みだとスムーズにいけます。

ただ初学者はJavaとSQLやJavaとHTMLなど何かを連携させるときに躓きやすいと感じています。

なので、ここではしっかり時間をかけて理解しましょう。データベースを用いることでセーブされたデータを使ってJavaのアプリケーションが作れるようになります。

「スッキリJava入門」の範囲はもう超えているので、次のおすすめな書籍は以下です。

またまた、「スッキリJava」シリーズです。それだけ良くできている本なんです。
この実践編では入門編では扱わなかったさらに実用的なAPIを理解できます。

ここでは、全てやる必要はありません。まず、データベースとの連携を理解できたらOKです。

そしてこの本はJava Silverの次なる資格を受験するときにも活用できます。

3ヶ月目 Web連携をマスター、Webアプリを作成

 

JavaとWebを連携させることをマスター

Javaとデータベースの連携が理解できたら次は、アプリケーションの入り口・顔となるWebとJavaを連携させます。

そうすることで、入力フォームから入力された名前の情報を受け取って、遷移した次ページで名前の情報によって表示画面を変えるなどWebページを動的に作成できるようになります。

ここで用いられるのはサーブレット・JSPというものです。端的に説明すると、HTMLの中にJavaが書けたりJavaの中にHTMLが書けるものです。

データベースの時もそうでしたが、こういった複数の言語を組み合わせるときは初学者は躓きがちなのでしっかり理解してください。

ここでも「スッキリJava」シリーズで分かりやすい書籍があります。

MVCモデル(Java・データベース・Webの連携)を学ぶ

ここまで来たら、もう画面とデータベースとロジックの部分が連携できます。

最後にこれら3つを全て連携させてみましょう。この考え方はMVCモデルという概念に基づいています。

MVCモデルについては以下の記事が非常に分かりやすかったです。

MVCモデルの概念を漫画で解説してみる | hijiriworld Web…

これを理解できれば、簡単なログイン機能などデータベースへ登録・更新・削除・参照ができるWebアプリケーションを作成できます。

実際に簡単な業務用Webアプリを作成する

勤怠管理システム

上記のものは当時5人のチームで1週間で開発したポートフォリオの一部の画面です。

従業員管理システムなるものを開発しました。そこではデータベースにある従業員の登録・更新・削除・参照ができます。

当然管理者しかログインできないようにしています。また、面白い機能としては上記のような勤怠管理システムを付け加えたことです。

ログインした従業員が出勤・退勤・休憩ができて月の勤務時間を一覧表示できる機能があります。

ここまでくれば、このように実際に業務で使われるそうなWebアプリケーションを作成できるようになります。

是非一部の例として参考にして、ご自分のポートフォリオを作ってみてください。

データベースの登録・更新・削除・参照機能(通称CRUD)は必ずつけたほうが良いです。

4,5ヶ月目 人に教えて全てを身に落とし込む

 

講義中

これは私が講師という仕事に携わったので、このようなロードマップになったわけですが、今まで学んできた知識をアウトプットすることは絶対にやった方が良いです。

インプットだけしてアウトプットを怠ったら知識はすぐに記憶から消えていきます。

是非Javaを学び始めたなどの後輩を見つけて、教える経験を積んでみて下さい!

自分が分かればいいやという考えでは後に必ず苦労します。それにどの生徒より講師が最も成長できます。

出来ると教えられるのレベルは遥かに違う

講師やる1つのメリットとして知識を自分ができるというレベルから教えられるというレベルに上げられることです。

この差はかなり大きいです。なぜなら、エンジニアとして就職したとしても当たり前にITに疎いお客様は存在します。

そのときに「俺説明するの苦手だから」と避けていたら絶好のチャンスを逃してしまいます。

仮にスキルが低かったとしても、説明力・コミュニケーション力のある後輩に抜かれていきます。

現状としてエンジニアにはこれらのスキルが足りていない人が多いです。逆に今まで文系や営業職だった未経験者の方が抜いていけるかもしれません。

的確なレビューを通して見る眼を養う

2つ目のメリットとしては、自分が考えられないような沢山の成果物や考えに触れることができることです。

「これいいな」と思うこともあれば「これは違うな」と思うこともあります。

自分がそれらに対して的確にレビューすることで自分の器を広げることができます。

エンジニアでも人との関わりは絶対あります。その時にいいものはすぐに吸収できたり、悪いものは受け止めて注意できる人材であれば出世は間違い無いです。

常に教え子の1歩前を走り続ける

3つ目のメリットは常に講師は教え子の前にいなければならないということです。これが最も大きなメリットです。

つまり、教え子が講師より前に出てしまった瞬間にその人は講師ではなくなってしまうのです。

自分の専門外のことだったら話は別ですが、自分の専門であるJavaで負けてしまうことはあってはならないです。

私が持ったクラスにもプログラミング経験8年の院卒生がいましたが、Javaに関しては絶対に負けないように日々学習を続けてまいりました。

このように講師になると自分を追い込んで教え子たちの前にいようと維持するだけで大きく成長ができてしまいます。

6ヶ月目 Java Gold取得

 

Java Gold

講師の仕事が終わったら、Javaと蹴りをつけるために最上位資格のJava Goldの勉強を開始しました。

Java Silverにわりと余裕があったので、少し舐めていましたが範囲がかなり広いです。流石は最後の砦です。

ちなみにサーブレット・JSPは範囲外です。

費用は同じく3万円です。もう驚きません。

「スッキリJava実践編」を持っている人だったら結構試験範囲が被っているので参考にすると良いです。

Java Goldの書籍としては以下です。問題集の黒本だけと厳しいので、参考書として紫本もあった方が良いです。

試験の問題のレベルは黒本と紫本の丁度中間くらいです。黒本だけだと簡単すぎるし、解説が少ないです。

紫本は参考書のように解説がしっかりしていて難しめの問題があるので、これらを組み合わせると良いと思います。

私はIT資格試験で初めてがっつり動作確認をしながら勉強を進めました。それだけ範囲が広く難しいです。

業務でJavaはがっつり触りながらでしたけど、それでも2週間半くらいかかりました。

大体どちらも3周して、65%が合格ラインに対して78%でした。

大変でしたが、1つのことを極められると大変自分の自信に繋がります。

今後1人前のJavaエンジニアになるために

 

半年でJava Gold取得まで行けましたが、1人前のJava エンジニアとしてはまだまだ未熟者です。

プログラミングの世界は本当に奥深いです。日々の勉強を楽しめなかったらエンジニアとしてやっていけないと思います。

この記事が今後の道しるべの参考になると思います。

Qiita

内容以下記載のURLを参考にロードマップをJavaバージョンにしてみた。初心者から立派なJava エンジニアに…

1人前までは本当に先が長いです。ただ、全部自分1人でやる必要はありませんし困難です。

大事なのは日々学ぼうとする姿勢だと思います。その姿を見て周りの別の専門的スキルを持った人が応援してくれるものだと感じています。

私も来週からまた以下の新たなプログラミングスクールに通います。

こちらでは、プログラミングを楽しむというより稼げるプログラミングを専門に教えるスクールです。

そのため、コンテンツもJavaとAWSの2つだけに絞られているわけです。コンテンツが少ないということは自信を持って特化できている証拠なので信用できます。

こちらを運営している江並さんという方はエンジニアには珍しく教育熱心な方で、本当にこれからが楽しみです。

現役プログラミング講師が選んだのはレイズテック 

私は1年間以上主にJavaプログラミングを教えています

実際にYoutubeでも講座動画をご覧頂けます

最近プログラミングスクールが多すぎて、初学者には選び辛いと感じ実際に私も受けてみました

私も知らない現場ファーストの最新技術が盛り沢山でした、あのサイバーエージェントがこのカリキュラムならうちでも雇えると言ったそうです

講師は月80万と稼ぎまくるだけでなく、全力で向かい合ってくれる信頼出来る方々です

是非無料トライアルからでも試してみることをおすすめします


関連記事

こちらの記事はYoutubeでもご覧いただけますhttps://youtu.be/QLZ7RFbheG4🔽動画から来た方はこちら🔽レイズテック(RaiseTech)の公式サイトを見る[[…]