本記事では未経験者がJavaをゼロから習得する場合にかかる時間や効率的な勉強方法を解説していきます。
筆者は、実務経験10年程度のWEB系プログラマーです。
新卒未経験の状態でIT業界にやってきました。現在は、フリーランスとしてお仕事をしています。
経歴のほぼすべてがJava案件で主に大手企業様向けの業務システムを手掛けてきましたが、最近はスマホや人工知能関連の仕事をやってます。
本記事では、私自身の経験に基づいて好き放題書いてます 笑
あくまで一個人の経験に基づくものなので、こんな人もいるんだな、と思っていただければと思います。
Javaの学習にかかる時間を教えて欲しい
まずは、未経験者がゼロからJavaを学習する際の習得時間について私の経験も交えつつ解説します。
最終的なゴールの設定として、趣味でAndroidアプリを作るのか、企業相手に実務で使うのかによって違ってくるとは思いますが、未経験者の場合はどちらにせよしっかりしたプログラムを書けるようになるまで100時間単位で時間がかかるとは思います ^^;
目安として私の経験を挙げてみます。
私は新卒、プログラミング未経験で入社し、最初の研修で会社から教科書を与えられてJava(+データベース)の教育を受けています。
時間で言うと研修期間は3か月だったので、一か月あたり22日勤務・7.5時間労働として22*7.5*3=495時間です。
これで、Javaの基本的な概念(オブジェクト指向)は理解して、最低限の文法はどうにか理解したかな、という感じでした。
お手本になるサンプルを見つつ何とかプログラムは書けるけど、エラーが出ると解決に何時間もかかるみたいな感じです。
プログラミングは向き不向きがはっきり出ますし、個人差がありますのでセンスの良いひとならもっと短時間でハイレベルに到達する可能性がありますが、最低でも400時間程度はかかると思っておいた方がいいかな、と思います。
さらに、仕事で使えるレベルにするということであれば、座学の勉強だけでは困難ですのでそれ以上に実務経験が必要です。
Javaの効率的な勉強方法を教えて欲しい
学習方法ですが、教科書で知識を整理する⇔手を動かす、というのを往復すると効率よく勉強できます。どちらか一方では、ダメなんです。
例えば、私の経験となりますが会社の新人教育で最初の一か月は教科書を与えられて同期みんなで輪読していましたが結局よくわかりませんでした。。
ただ、実際に仕事や研修でこういうものを作ってほしいと言われて、ネットや教科書で調べたりながらプログラムを書き始めることで、以前に教科書で覚えた知識が理解できた、という経験はあります。
知識の蓄積と実践はプログラミングを学習するうえでは両輪なのです。
例えば以下のような方法だといい感じで効率よく学習できると思います。
1.簡単なもので何か作りたいものを決める。
(例えば、ブラウザ上でログイン/ログアウトができる画面を作るとか。)
2.お手本になるサンプルを見つける。
3.お手本を元にプログラムを書いてみる。
(その際、プログラムを単に書き写すのではなく、一行一行の意味を調べながら理解していく。)
4.プログラムの内容を自分なりに理解したうえで、改造してみる。
(ログイン/ログアウト画面なら、ユーザーごとに表示メッセージを変えるなど。)
5.実際に動かしてみて、不具合を直す。
6.教科書を見返して、頭の中にバラバラに入った知識を整理する。
7.さらに、機能を追加してみる。
8.実際に動かしてみて、不具合を直す。
9.教科書を見返して、頭の中にバラバラに入った知識を整理する。
・・・・(あとは機能追加と不具合修正を繰り返す。もしくは新しいものを作る。)
以上、文法知識の習得とプログラミングの実習を地道に繰り返すことがプログラミング習得への近道です!
・・・と、紹介してみましたが、イキナリ手を動かしましょう、といっても中々難しいかもしれません。
一番やっかいなのは、疑問が解消できずそのまま挫折してしまうパターンです。
教えてもらえる環境があるというのは、モチベーションを維持するうえで助けになります。
どこから手を付けていいのか、途方に暮れているアナタは通信教育などを活用するのも手かな、とは思います。
現役エンジニアの指導が受けられて、最も市場シェアが高いTechAcademy [テックアカデミー]辺りは無難ですね。
とはいえ、最近は書籍が充実していますので独学でもプロになること自体は可能です。
プログラミングスクールは、挫折防止とスキル習熟に必要な時間短縮のためにお金を払う価値があると考えられるかどうかで検討ですね。
以上です。参考にしていただけると嬉しいです ^^
なお、未経験からIT企業に入るための方法についても解説しています。
よろしければどうぞ↓
※写真:フリー写真素材ぱくたそ