ITコラム

column_main27002

スキルアップ

2022.01.06

【初心者向け】プログラミング学習時間の目安と言語別の習得時間は?

この記事を書いた人
プログラマカレッジ編集部
プログラマカレッジ編集部

未経験からプログラマーになりたいと考えてる皆さまに、プログラミング言語の基礎知識や、プログラマーとしての転職ノウハウ、転職に役立つ資格、IT業界情報など、お役立ちコラムを配信しています。

ゼロからプログラミングを学ぶ方であれば、目標レベルへ到達するまでにかかる時間も気になりますよね。本記事では、未経験からエンジニアへ就職・転職を目指すのに必要な学習時間や各プログラミング言語を習得するための学習計画について元エンジニアが徹底解説。さらにプログラマカレッジの現役講師が、一人前のプログラマーになるまでに必要な学習時間と学習のコツについてもアドバイスするので、独学やスクール選びの参考にしてください。

最終更新日:2022年9月21日

目次

1. 未経験からエンジニア就職・転職を目指すのに必要な学習時間は?

プログラミング 学習時間 プログラマカレッジ
未経験からエンジニアへ就職や転職を目指すみなさんにとって、最も気になることと言えば「プログラミング言語を習得するまでの学習時間」。

そこで、まずはみなさんに大まかなイメージをつかんでもらうために、代表的なプログラミングスクールの受講期間と学習時間の目安を一覧表でまとめてみました。

スクール名 受講期間 学習時間の目安
プログラマカレッジ 2~5ヶ月
※夜間コースの場合
200時間
テックアカデミーpro 3ヶ月 300時間
tech boost 3~12ヶ月 300時間
Code Camp GATE 4ヶ月 400時間

この表からもわかるとおり、未経験者がゼロからプログラミングを習得して就職するためには、およそ300時間程度の学習時間が必要です。

でも「案外、少ないな」と思われた方も多いのではないでしょうか?

たしかに、実務で開発を任せられるレベルを目指す場合は、もっと多くの時間が必要となるでしょう。

しかし、未経験者を採用するすべての企業が、即戦力のスキルレベルを求めているわけではありません。

もちろん、目指す企業のビジネス形態によっても必要な学習時間の目安は前後しますが、エンジニアになるための基礎を習得するためには、大体300時間程度の学習時間を見積もっておけば間違いない、と言えるでしょう。

▲目次へ戻る

2. プログラミング言語を習得するための学習計画と時間配分は?

では、1日にどれだけ勉強すれば目標の300時間に到達するのでしょうか。

続いては、イメージをより具体化するため、1日あたりの学習時間を3時間5時間8時間…と3つのパターンにわけて見てみましょう。

目標とする学習時間 1日あたりの学習時間 学習期間
日数換算 月換算
300時間 3時間 100日 3ヶ月+10日
5時間 60日 2ヶ月
8時間 37.5日 1ヶ月+7.5日

まずは、独学で習得する場合で考えてみます。

もしあなたが日中フルタイムで勤務しており、「仕事を終えて帰宅したあと、毎日20~23時に3時間だけ学習する」と決めれば、100日

さらに「出勤前の朝活やスキマ時間などを活用すれば、さらに2時間プラスして学習できそう」であれば、60日…という想定ができますよね。

当然ながら、「1週間のうち、勉強時間を確保できるのは3日だけ」もしくは「平日は忙しいため、土日にまとめて8時間勉強する」というように、毎日継続して学習できない方もいるはずです。

その場合は、スケジュールの組み方次第で、学習期間も増減しますが、平日も時間に余裕がある方で、なおかつ毎日8時間勉強できる方であれば、最短で1ヶ月半程度の学習計画を組むことも可能となるでしょう。

また、独学ではなくプログラミングスクールに通う場合は、教室の開講時間やオンラインでの対応可能時間が日々の学習に影響しやすくるので、自分の生活に合ったプログラミングスクールを選ぶことが、最も効率の良い学習方法にもつながります。

ですが、プログラミングを習得する難易度は、選ぶ言語によってさまざまですし、また「プログラミングスキルの習得」と一口に言っても、何をもって「習得」とするかは、自身の目的によっても変わってくるはずです。

では、まったくの初心者からプロのエンジニアになるまでには、いったいどれぐらいの時間が必要となるのでしょうか?

▲目次へ戻る

3. 初心者からプロになるまでのプログラミング学習時間の目安は?

プログラミング 学習時間 プログラマカレッジ
たとえば、次のように目的を設定した場合。

✔ 自作アプリを作成できるようになりたい

✔ 未経験からエンジニアとして就職・転職したい

✔ 実務で開発を任されるレベルまでスキルアップしたい

 
求められるスキルレベルは目標ごとに違いますし、選択する言語によっては難易度も変わるため、当然ながら必要な学習時間も異なりますが、では、言語別の難易度と各レベルへの到達するまでの時間には、どれほどの差があるのでしょうか?

※スマホからは横スクロールしてご覧下さい。

難易度 分類 言語の例 どんな言語? 各レベルまでの到達時間
LEVEL1 LEVEL2 LEVEL3 LEVEL4

易しい
マークアップ言語 HTML/CSSなど 色や大きさ、レイアウトなどの見た目を指定するために特化した言語。用途が限られているかわりに、習得も簡単。 1~2週間 2~4週間 3~6ヶ月以上 2~3年以上
★★
普通
スクリプト言語 PHP、JavaScript、Python、Rubyなど 人間でも理解しやすい言語なのでため、初心者もとっつきやすい。ただし実行速度は遅め。 1~2週間 3~6ヶ月以上
※就職が目標なら1~2ヶ月
3~5年以上
★★★
難しい
コンパイラ言語 Java、C言語など 機械にとっては理解しやすい言語だが、人間にはとっつきにくい。ただし実行速度がかなり早い。 1~2ヶ月 6ヶ月~1年以上 3~10年以上

※上記の到達時間は、1日8時間/週5日の学習プランで計画した場合の目安です

※難易度や理解度には個人差があります



上記は、各言語の分類と特徴・言語の例・各レベルまでの到達時間をまとめた表です。

難易度別に一覧で比較すると、プログラミングを完璧にマスターしてエンジニアレベルになるまでには、年単位の時間がかかることがわかるでしょう。

とはいえ、学びやすさや理解のしやすさには個人差もありますが、ゼロからプログラミングを学ぶのであれば、もっと具体的な到達時間も知りたいですよね。

そこで今回は、プログラミング未経験者がプロのエンジニアレベルに到達するまでに必要な時間について、プログラマカレッジの現役講師にさらなるアドバイスをもらいました。

プログラミング 楽しい プログラマカレッジ

アドバイザー 
プログラマカレッジ講師 風見 顕

元々IT業界での営業や人事として採用面接を行っていた経験から、プログラミングだけではなく、IT業界の話や面接のポイントについてもお伝えできればと思っています。私自身もゼロからプログラミングを学んだので、楽しいことも辛いことも含め同じ目線でサポートさせていただきます。

ここからは各レベル別に紹介していきますが、それぞれの言語をマスターするために必要な学習時間の目安については、のちほどこちらの章で詳しく解説します。

元エンジニアである筆者からのアドバイスも、ぜひ参考にしてみてください。

▲目次へ戻る

LEVEL1 【入門】基本的な文法を理解するまで

現役講師からの入門者へのアドバイス

プログラミング入門者が、基本的な文法を理解するまでに必要な時間の目安は、以下のとおりです。

・マークアップ言語:1~2週間

・スクリプト言語:1~2週間

・コンパイラ言語:1~2ヶ月ぐらい

ここでは、「ある程度コードの流れを読むことができるまで」を入門レベルと定めたうえでお話ししますが、たとえば、最も習得が簡単なHTMLなどのマークアップ言語は、PCが得意な方であればだいたい「1~2週間ぐらい」で入門レベルまでに到達できる傾向に。

またPHPやPython、Rubyなどのスクリプト言語は、中間ぐらいの難易度ですが、マークアップ言語と同程度の学習時間さえあれば、初心者でも入門レベルまでに到達できるでしょう。

対して、習得の難易度が高いと言われているJavaなどのコンパイラ言語は、同じ学習時間でも「1~2ヶ月ぐらい」を要するイメージです。
 
元エンジニアから入門者へのアドバイス

プログラミングは「言語」と呼ばれるだけあって、初期に学ぶのは基本の文法がメインです。ただし、語学の勉強と大きく違うのは、きっちりとスペルを覚えなくても大丈夫という点です。

また、丸暗記しておく必要はまったくありません。そのため、まずは「こんな機能があるんだな」ということだけを頭の中に入れておいて、それ以上の情報が必要になったときにはじめて調べれば良いでしょう。

初心者のうちは「しっかりと全部覚えなければ」と気負いがちですが、それでは疲れてしまって長続きしません。

そのため、まずは「プログラミングってこんなことができるんだ!」ということだけを、大まかに掴みつつ気楽に始めることが挫折を防ぐコツですよ。

特に最近は、最初の数文字を打てば入力候補を予測して表示してくれる「開発環境」という便利なツールが進化しています。それを使えば、表示された候補の中から最適な機能を選べばいいだけなので、正確な英語のつづりを覚えていなくとも問題なく使いこなせるでしょう。

▲目次へ戻る

LEVEL2 【初級】簡単なアプリやWebサイトが作れるまで

現役講師からの初級者へのアドバイス

プログラミング初級者が、簡単なアプリやWebサイトが作れるまでに必要な時間の目安は、以下のとおりです。

・マークアップ言語:2~4ヶ月ぐらい

・スクリプト言語:3~6ヶ月ぐらい

・コンパイラ言語:半年~1年以上

作りたいものにもよりますが、自分一人で簡単なアプリやWebサイトが作れるまでのスキルに到達するまでには、最低でもこれぐらいの学習時間が必要です。

上記は、1日8時間/週5日間かけて継続的に学習する場合の目安ですが、難易度の高いコンパイラ言語ともなると、たとえ初級レベルであっても半年以上かかると考えておいたほうが良いでしょう。
 
元エンジニアから初級者へのアドバイス

いよいよ「初めてのサイトやアプリを作ろう!」という方におすすめなのは、サンプルプログラムの改造です。

最初から手の込んだオリジナルアプリを作ろうとすると、ほとんどの方が途中で挫折してしまいます。なぜなら、作りが複雑だとエラーが大量発生したときに「どこがダメなのかまったく分からない!」という状態になり、そこで行き詰まってしまうため。

また「改造はやりつくしたので、次はオリジナルに挑戦したい!」という場合も、初めからたくさん機能があるものを作ろうとはせず、まずは最小限の機能だけで作ることをおすすめします。

そして、とにかく一度動くところまで完成させてみることがおすすめです。

すると、さらに達成感を得られるので、スキルアップを実感しつつ満足感も味わえるはずですよ。

そのため、まずはきちんと動くサンプルを改造して、表示する文章を一部変えてみたり、色や画像をちょっとずつ変えてみたりしてみましょう。

このとき「プログラムのここを変えたらアプリのここが変わるんだな」と、一か所ずつ確認していくのがポイントです。するとこまめに成果が表れていくことを実感できるので、自ずとモチベーションも保ちやすくなるでしょう。

さらに改造する場合はエラーの発生場所が限られるので、修正ポイントを見つけやすいというのも大きなメリットです。特に初心者の場合、慣れるまではエラー(バグ)が起こっている場所の特定がとても難しいため、挫折の原因にもつながりやすい傾向に。

規模は小さくとも一本のオリジナルアプリが完成したら、あとは改造と同じです。それ以外の充実した機能は、アップデートで順次追加していけば大丈夫。

なお実際の開発現場でも、新人がいきなりイチからコードを書かされるということはまずありません。

多くの場合は、既存システムの修正や改修からスタートするパターンが基本となるため、この「改造」という経験が後の実務で必ず役立つでしょう。

▲目次へ戻る

LEVEL3 【中級】プログラマーとして就職できるまで

現役講師からの中級者へのアドバイス

プログラミング中級者が、プログラマーとして就職できるまでに必要な時間の目安は、以下のとおりです。

・マークアップ言語:3~6ヶ月ぐらい

・スクリプト言語:3~6ヶ月ぐらい

・コンパイラ言語:1~2ヶ月ぐらい

プログラマーとして就職できるレベルに到達するまでには、まずマークアップ言語で「3~6ヶ月ぐらい」です。ただしマークアップ言語だけでは求人案件がかなり限られしまうため、条件によっては就職口が見つからない場合もあるでしょう。

またスクリプト言語であれば、自力で簡単なWebサイトやアプリが作れる初級レベルになれば就職可能です。

では、最も難易度の高いコンパイラ言語はさらに時間がかかるのか……と思いきや、以外にも1〜2ヶ月で到達が可能に。なぜなら、Javaであれば基礎構文を知ってさえいればとりあえず就職が可能であるため、1〜2ヶ月ほど学習すればプログラマーになれる、というわけです。
 
元エンジニアから中級者へのアドバイス

筆者が新卒のとき、Javaはまったくの未経験だったのですが、2ヶ月の新人研修内でJavaSilver資格を取得して、そのままJavaを扱う現場に入りました。

サイトやアプリが作れるようになったら、自分の製作物を人に見せられるような形にしてみましょう。これはポートフォリオとも呼ばれ、プログラマにとっては自分の技術をアピールする名刺代わりにもなります。

その際には習得している技術を見せるだけでなはくて、他の人が読みやすいようにソースコードを整えておくことも重要です。また、プログラマーとして就職する場合、チームでひとつのものを作り上げるという場面がほとんどです。

そして完成した後は別の人が引き継いでメンテナンスする場合も多いため、実際の現場においては難しい技術を使えることよりも、誰が見ても分かりやすいコードを書けることが重要となるのです。

▲目次へ戻る

LEVEL4 【上級】エンジニアレベルのスキルになるまで

現役講師からの上級者へのアドバイス

プログラミング上級者が、エンジニアレベルのスキルになるまでに必要な時間の目安は、以下のとおりです。

・マークアップ言語:2~3年以上

・スクリプト言語:3~5年以上

・コンパイラ言語:3~10年以上

エンジニアレベルのスキルまでマークアップ言語を極めるまでには、約2~3年ほどかかります。

なぜなら、マークアップ言語だけでエンジニアとしてバリバリ活躍するというのは現実的に見ても厳しいので、実際には関連の深いスクリプト言語なども併用して習得しなくてはなりません。

スクリプト言語を学ぶときも同様に、関連性が深いHTMLなどの言語を同時に習得していくため、年単位の時間が必要ですが、いずれにせよ3~5年ぐらいかけて学べば、何も見ずにどんどんコーディングを進めていけるようになるでしょう。

コンパイラ言語については習得までに覚えるべき文法や機能が多いため、どんなプロジェクトでもゼロから対応できると自信を持って言えるようになるまでには、10年以上かかる可能性も。ただし似通ったシステムの開発案件に参加し続けるのであれば、3~5年ぐらいで一人前の業務をこなしていけるようになるでしょう。
 
元エンジニアから上級者へのアドバイス

ここまで来たら、あとは実践あるのみ。

とにかくコーディングの数をこなすことで、課題の実現に必要な処理を選択する力が上がり、確実に実力が向上します。

さらに上を目指す場合、同じプロジェクトで自分が担当している工程以外の技術も独自に学んでおくと、よりチーム開発に対する理解が深まるでしょう。

例えばWebアプリケーションの開発にて、フロントエンド担当者とサーバーサイド担当者*1 が分かれている現場のケースを考えてみましょう。

この現場にフロントエンド担当者としてチームに参加した場合、ただ与えられた業務をこなすだけだと、自分がまだ知らない担当外のスキルを現場で学ぶチャンスをみすみす逃すことにもなりかねません。

そうなってしまうと今後のキャリア形成においても非常にもったいないため、この時にサーバーサイドで使用する技術もあわせて学び、「システム全体が動く仕組み」についても深く理解できるようにしておきましょう。

特に「今後は、フルスタックエンジニアやチームリーダーへキャリアアップしていきたい」と考えている方は、全工程の作業を幅広く知っておく必要があるので、担当外の技術や知識も積極的に吸収していくことをおすすめします。

*1:フロントエンド担当者とは、主にWebサイトやアプリの目に見える部分に関する設計・構築・カスタマイズをおこなう担当者のこと。
また、サーバーサイド担当者とは、目には見えないサーバー側で動作するプログラムの開発やデータ処理などをおこなう担当者のことです。

▲目次へ戻る

4. プログラミング言語別の習得時間・学習方法・勉強するコツは?

ここまで、初心者からプロのエンジニアになるまでにかかる時間の目安を解説してきましたが、未経験者がプログラマーとして働くには、就活前にどの程度のレベルまでマスターしておくべきかも気になるもの。

たとえば、よくあるのがこんな質問です。

ゼロからコードが書けないと、プログラマーとして働くことは難しいでしょうか?

ある程度コードの流れを読むことができれば、基本的な文法を理解するレベルでも、就職を目指すことは可能です。

また未経験からIT業界へ就職する場合、職歴や学歴など、これまでの経歴も影響しますが、プログラマカレッジ卒業生の場合、在校中は流れを読むこともできずにコードを写すだけで精一杯だった方でも、ちゃんと就職できていますよ。

とはいえ、就職できるレベルのスキルはどうすれば身に付くのかも気になりますよね。

そんなみなさんに向けて、各言語を習得するときの学習のコツやポイントを、独学した場合とスクールに通った場合の2パターンにわけて、プログラマカレッジの現役講師に解説してもらいます。

学習時間の目安や主なカリキュラムのほか、各言語にまつわるQ&Aや体験談もあわせて紹介していきましょう。

なお習得に必要な日数は、毎日1日8時間学習する場合と仮定して算出しています。

▲目次へ戻る

■ HTML/CSS

プログラミング 学習時間 プログラマカレッジ

独学の場合

独学でHTMLを学ぶ場合、各レベルに到達するまでの学習時間の目安は次の通りです。

• 基本的な文法を理解するまで:1~2週間

• 簡単なアプリやWebサイトが作れるまで:2~4週間

• プログラマーとして就職できるまで:3~6ヶ月

• エンジニアとして一人前になるまで:2~3年

実際には、HTMLのみの習得で一人前のエンジニアと名乗るのは少々厳しいため、HTMLに関連する技術の習得時間込みで「2~3年」を想定しておくとよいでしょう。
 
プログラミングスクールに通った場合

プログラマカレッジの場合、約5営業日(35~40時間)でWebページ(ヘッダー、2カラム*2、フッター)を作成します。ここではある程度何をやっているかを読み解けて、過去のテキストやネットを参考にしながら書けるレベルを目指します。

*2:カラムとは「段組み」という意味。したがって「2カラム」とは、「Webページにおける段組み(文章のかたまり)が2つぶん」という意味です。

 
Q&A

未経験者がHTMLを習得する際に、気を付けるべきポイントや学習のコツはありますか?

基本的には「こう書けば、こう表示される」というルールの勉強ですので、最初のうちは覚えることがたくさん出てきます。

とはいえ、このルールを全て丸暗記する必要はありませんし、ネットにある情報を使っていかに指示通りのレイアウトを作成できるかがポイントです。

そのため、普段見ているサイトを自分で真似て作ってみたりと遊びのなかで学習を進めていくと、より一層楽しく学べるでしょう。

将来的にエンジニアになることを見据えて勉強するならば、どういうところを重点的に学んでおくべきですか?

HTML/CSSをゼロから書くことはないので、「こう書けば、こう表示される」ということを検索できる力が必要です。

したがって、もしプログラマカレッジに通う場合であれば、CSSの演習課題(ヘッダー、2カラム、フッター)のWebページを、何も見ずに作れるレベルまで重点的に学んでいただければ良いかと思います。

▲目次へ戻る

■ PHP

プログラミング 学習時間 プログラマカレッジ

独学の場合

独学でPHPを学ぶ場合、各レベルに到達するまでの学習時間の目安は次の通りです。

• 基本的な文法を理解するまで:1~2週間

• 簡単なアプリやWebサイトが作れるまで:3~6ヶ月

• プログラマーとして就職できるまで:3~6ヶ月

• エンジニアとして一人前になるまで:3~5年

実際にはPHP単独でアプリは作成できないため、HTML/CSSなどのWeb技術やデータベースに関する技術を習得する時間も含みます。そのため他言語の経験がある場合、必要な学習時間は目安より短めになるでしょう。
 
プログラミングスクールに通った場合

プログラマカレッジの場合、約5営業日(35~40時間)で「基礎構文」と「データベースに値を格納するための問い合わせフォームや掲示板」を作成します。

なおプログラマカレッジではPHPの前にJavaScriptで基礎構文を2~3営業日かけて学習しているため、あまりPHPでは基礎構文に時間をかけていません。

なぜなら、このあたりは言語が違っていても、共通する部分も多いためです。ここでは過去のテキストを参考にしながら、完成できるレベルを目指します。
 
Q&A

未経験者がPHPを習得する際に、気を付けるべきポイントや学習のコツはありますか?

基礎構文を学習する際は、「いかにロジックを考えられるか?」が重要です。

学習のコツは、例題のコードの数値や変数名を変えながら、「何をしたらどうなるのか」を常に考えることです。

データベースとの接続やオブジェクト指向を学習するためには、実際に動くものを作成することをおすすめします。

もしHTML/CSSも理解していれば、目に見える動きのある掲示板や問い合わせフォームといったWebアプリを作成しながら学習できるので、さらに楽しく勉強できると思います。

将来的にエンジニアになることまで見据えて勉強するならば、どういうところを重点的に学んでおくべきですか?

基礎構文を知っているというだけだと、現場では少々厳しいかもしれません。

そのため、データベースとの接続、オブジェクト指向、フレームワークの概念や使い方まで学んでおくと、実務のプロジェクトでもスムーズにスキルを活かせるかと思います。

とはいえ、オブジェクト指向やフレームワークの概念に対するメリットは、大規模のプロジェクトを大人数で制作したときに感じられるものです。

そのため、独学のみでスキルを会得することはなかなか難しいため、できるだけチーム開発を体験できるプログラミングスクールに通ってみることをおすすめします。

▲目次へ戻る

■ Java

プログラミング 学習時間 プログラマカレッジ

独学の場合

独学でJavaを学ぶ場合、各レベルに到達するまでの学習時間の目安は次の通りです。

• 基本的な文法を理解するまで:1~2ヶ月

• 簡単なアプリやWebサイトが作れるまで:6ヶ月~1年

• プログラマーとして就職できるまで:1~2ヶ月(基礎構文の習得)

• エンジニアとして一人前になるまで:3~5年

PHPと同様に、実際にはJava単独でアプリは作成できないため、HTML/CSSなどのWeb技術やデータベースに関する技術を習得する時間も含みます。そのため他言語の経験がある場合、必要な学習時間は目安より短めになります。
 
プログラミングスクールに通った場合

プログラマカレッジの場合、約20営業日(140~150時間)で基礎構文からフレームワーク(springboot)を使用したJavaでのWebアプリケーション作成を行います。その内訳は、次のとおり。

• 基礎構文、オブジェクト指向、データベースへの接続:10営業日
• JSP、Servlet:2営業日
• Springboot :8営業日

なおこの作成は書き写しがメインとなっており、エラーメッセージを読み解いて、自分で書き間違いを見つけることができるレベルを目標としています。

当然ながらゼロからコードを書ける人はいませんので、上記は「教材通りに書き写して行けば誰でも完成できるものを作る場合の目安」と考えてください。

とある大手プログラミングスクールで半年間(計288時間)をかけて未経験からJavaを学んだ方の話によると、「受講期間中は基本的な文法の理解に終始苦労した」そうです。

また「受講中の時点でも、独力で簡単なアプリやWebサイトを作れるようなイメージは湧かなかった」ようで、「半年である程度プログラミングの流れを読めるようにはなったものの、自分では書けないまま卒業に至った」とのことでした。

そして「何も参照せずコードを書ける状態まで至るには、少なくとも半年では無理だった」とのこと。

この方の体験談からもわかるとおり、スクールである程度のスキルを身につけたら、あとは実務の中で成長していくしかありません。

とはいえ基本さえマスターしておけば、就活サポートを受けながら就職することは十分に可能なので、最初からすべてを理解する必要はありません。筆者もそうだったように、働きながら徐々に覚えていけば良いので、心配は一切無用です。

 
Q&A

未経験者がJavaを習得する際に、気を付けるべきポイントや学習のコツはありますか?

PHPと同様に、基礎構文を学習するには「ロジックを考えられるか?」が重要です。

基本的にはEclipseという統合開発環境でのコーディングになりますので、そこに吐き出されるエラーメッセージをいかに読み解けるかがポイントに。

また、一部の英文メッセージを訳す必要もありますが、より多くの種類のエラーメッセージを読みながら、同時にプログラムの流れを追っていくことで成長に繋がります。

したがって、とにかくエラーをいっぱい出すことが学習のコツと言えるでしょう。

将来エンジニアになる事まで見据えて勉強するならば、どういうところを重点的に学んでおくべきですか?

まずは、サーバーサイドのJava(JSP、Servlet)とフレームワークの概念を理解していただきたいです。

また「Javaの基礎構文」と「サーバーサイドJava」は全くの別物です。

さらに実務では、ほぼ確実に何かしらのフレームワーク(JSP、Servletをシンプルに書ける技術)を使用しますので、ここらへんのスキルも身につけておくとなお良いですね。

もしプログラミングスクールに通ってJavaを習得した場合、資格を取得するまでにどれぐらいの学習期間が必要ですか?
最も就活で評価されやすい「JavaSilver」の資格を取得するなら、約1~2ヶ月が目安です。

▲目次へ戻る

■ Python

プログラミング 学習時間 プログラマカレッジ

独学の場合

独学でPythonを学ぶ場合、各レベルに到達するまでの学習時間の目安は次の通りです。

• 基本的な文法を理解するまで:1~2週間

• 簡単なアプリやWebサイトが作れるまで:3~6ヶ月

• プログラマーとして就職できるまで:3~6ヶ月

• エンジニアとして一人前になるまで:3~5年

PHPと同様に、実際にはPython単独でアプリは作成できないため、HTML/CSSなどのWeb技術やデータベースに関する技術を習得する時間も含みます。

そのため他言語の経験がある場合、必要な学習時間は目安よりも短めとなります。
 
プログラミングスクールに通った場合

未経験からPythonの基礎を学べる某プログラミングスクールの場合、平日夜と土曜日のオンライン講義を2ヶ月間(目安は32時間)受講し、PythonとHTML/CSS、SQL等の基礎を習得します。

そして、最終的にアプリケーション作成フレームワーク「Django」を用いてタスク管理アプリを作成します。

独自に調査したところ、現状、Python講座は他言語の経験があることを想定しているスクールが多い傾向に。

したがって、プログラミング初学者の方がPython講座に申し込む際には、初心者向けのカリキュラムになっているかどうかを事前にチェックしておくと安心です。

▲目次へ戻る

■ Ruby

プログラミング 学習時間 プログラマカレッジ

独学の場合

独学でRubyを学ぶ場合、各レベルに到達するまでの学習時間の目安は次の通りです。

• 基本的な文法を理解するまで:1~2週間

• 簡単なアプリやWebサイトが作れるまで:3~6ヶ月

• プログラマーとして就職できるまで:3~6ヶ月

• エンジニアとして一人前になるまで:3~5年

PHPと同様に、実際にはRuby単独でアプリは作成できないため、HTML/CSSなどのWeb技術やデータベースに関する技術を習得する時間も含みます。そのため他言語の経験がある場合、必要な学習時間は目安よりも短めで済むでしょう。
 
プログラミングスクールに通った場合

未経験からRubyの基礎を学べる某プログラミングスクールの場合、平日夜と土曜日のオンライン講義を4ヶ月間(目安は160時間)受講し、RubyとHTML/CSS、JavaScript等の基礎を習得します。

そして、最終的にアプリケーション作成フレームワーク「Ruby on Rails」を用いて、フリマサイトやグルメサイト、画像投稿サイト等を作成します。

Pythonよりも受講期間が長く感じられるかと思いますが、その理由はスクールにより講座のカリキュラムやボリューム感が違うため。

そのため、自習にあまり自信のない方は、たとえ時間がかかっても講義の時間数や講師のサポートが手厚いところを選びましょう。またスクールに通う場合は、予算や講座内容だけでなく、自分が学びやすい環境かどうかも加味して選ぶことをおすすめします。

失敗しないプログラミングスクールの選び方については、以下の記事も参考にしてみましょう。

▲目次へ戻る

5. プログラミング学習時に気を付けるべきポイントは?

プログラミング 学習時間 プログラマカレッジ
独学とプログラミングスクール、それぞれにメリットデメリットがありますが、どちらの方法を選択しても、エンジニアになることは可能です。

ただし、独学する方も、プログラミングスクールで学ぶ方も、学習時に気を付けるべきことは次の3つです。

▲目次へ戻る

✔    目安より学習時間がかかっても悲観しない

ここまで学習計画のイメージをつかむため、必要な時間の目安について紹介してきましたが、目安より長い時間がかかったとしても、エンジニアに向いていないというわけではありません。

プログラミングの習得にかかる時間は、「要領の良い人」ほど短くなります。

「でもそれって、他の分野の学習でも同じでしょ?」と思われるかもしれませんが、特にプログラミング言語はその影響を受けやすい傾向に。

その理由は、英語などの言語学習とは違い、人の思考によって作られた言語なので、単語を覚えながらコツコツと学ぶより、要点のみに焦点を当てながら体系的に理解できる人の方が早くマスターしやすいため。

とはいえ、いずれは要点以外の部分も覚えることになりますが、要は「細部を先に習得するか、後で習得するか」だけの違いなので、最初のうちにコツコツ学んだからと言って決して無駄になるわけではありません。

このことからも、たとえ目安として定めた時間よりオーバーしたとしても後から巻き返しが可能であるため、学び始めたばかりのうちに「エンジニアに向いていない」と考えてしまうのは非常にもったいないと言えるでしょう。

▲目次へ戻る

✔    学習時間を増やすことを目的にしない

では逆に長い時間をかければ必ずエンジニアになれるのかというと、そうではありません。

お金をかけてまで自発的にプログラミングを学びたいという方の大半は、きっと明確な目的があることでしょう。

しかし、その本来の目的を見失って「たくさんの時間を学習に費やすこと」や「プログラミングスクールに通うこと」自体が目的になってしまうと、本末転倒です。

それに、いくら数多くの教材をこなしたとしても、それだけではスキルが身に付かないため、ただひたすらに時間を浪費することにもなりかねません。

したがって、せっかく忙しい時間を割いてプログラミングの勉強に充てるのであれば、「こんなアプリが作りたい!」「あんなサービスを開発できるエンジニアになりたい!」というように、当初の目的を忘れずに的確な学習をおこなうことが重要です。

▲目次へ戻る

✔   「学習」のゴールを高く設定しすぎない

また、最初に設定するゴールのハードルが高すぎると、挫折の原因にもなります。

その理由は、なかなか目標にたどり着けないため。

そして目標が遠すぎるがゆえに、ゴールまでのイメージが漠然としてしまうだけでなく、学習の方向性にも迷いや不安を感じやすくなるためです。

また、ゴールを高く設定したがために、自分のレベルに合わない難易度の高い教材を選んでしまい、結果的に理解できず挫折してしまうケースも。

プログラミングを手早く習得するコツは、とにかく実戦経験を積むことです。

したがって、机上の学習だけでは限界があるため、ある程度の基礎が身についた時点で一度見切りをつけて、まずはエンジニアとして現場に飛び込んでしまうのが、上達への一番の近道です。

▲目次へ戻る

6. 学習を始める前に最低限準備しておくパソコンのスペックは?

プログラミング 学習時間 プログラマカレッジ
ここまで、プログラミングを習得するまでに必要な学習時間の目安や、学習時に気を付けるべきポイントについて解説してきましたが、いざ新規にパソコンを用意するとなると、「何を基準に選んで購入すればよいのかわからない」と迷ってしま方も多いのではないでしょうか?

続いては、プログラミング学習において必要なパソコンのスペックについても押さえておきましょう。

▲目次へ戻る

■ パソコンを選ぶときの基準

これから新しいパソコンを購入するのであれば、OS→予算→スペックの順に検討すると、自分に合った一台を選びやすくなります。

とはいえ、すでにパソコンをお持ちの方で、最低限のスペックを備えているマシンの用意がある場合は、すぐに買い直しを検討する必要はありません。

その場合は、今後学習をすすめていく中で、「動作が重くて使いづらい」といったような必要性を感じたときに、あらためて購入を検討すれば良いでしょう。

▲目次へ戻る

■ OSの種類とおすすめのOS

Windows(ウィンドウズ)、macOS (マックオーエス)、Linux(リナックス) 、Chrome OS(クロームオーエス)…などなど、OSにはさまざまな種類がありますが、原則として、どのOSでもプログラミングは可能です。

ですが、もしこれから新規で購入するのであれば、プログラミング学習に関連する情報を集めやすいWindowsかMacがおすすめです。

また就職後の企業においても、上記のいずれかを使用することが一般的ですが、OSごとの主なメリットは以下のとおりです。

Windows

• Macと比べ、同じスペックなら初期費用が安く済むことが多い

• ユーザー数が多いため、エラー等で困った時にネットで得られる情報が多い

Mac

• SwiftやObjective-C等、Windowsでは開発が困難なプログラミング言語を使用できる

• Windowsしか経験がない方の場合、Macも経験しておくと急にMacを使用する現場に配属されても困らない

通学式のプログラミングスクールで学ぶ場合は、ほとんどのスクールでパソコンが用意されているため、授業に使用するPCを用意する必要はありません。

しかし、オンラインで受講する場合は、あらかじめスクールよりパソコンのスペックや推奨環境が指定されるケースもあるため、新規に用意する方は、購入前に必ず確認するようにしてください。

▲目次へ戻る

■ 必要最低限のPCスペック

「PCのスペック」とは、「パソコンの仕様」という意味。

特に内部に使われる部品の性能や構造のことを指しますが、パソコンを購入する際に知っておきたい部品の名称とプログラミングを学習するために必要となる最低限のPCスペックは、以下のとおりです。

 
CPU

演算や制御など、パソコンの処理スピードに関わってくるのがCPUです。

CPUの性能が良くないと、動作が遅くなったりフリーズの原因となることも。

日々の学習をすすめるにあたりストレスなく作業するためには、インテル製のcore iシリーズであれば「i5」以上を推奨します。
 
メモリ

作業している内容を一時的に記憶にしておくのがメモリの役目です。

メモリの容量は、通常「○○GB(ギガバイト)」という単位で表示されますが、この値が大きいほど、大きなファイルを扱ったり、同時に複数のアプリケーションを実行することが可能です。

快適なプログラミングのためには「8GB」以上を推奨します。
 
ストレージ

パソコンにファイルやデータを保存する容量に関わってくるのがストレージです。

ストレージは、HDDとSSDの2種類から選びましょう。

安価なパソコンに搭載されているHDDは、容量が大きくデータの読み書きのスピードが遅いのに対し、比較的高額なパソコンに組み込まれているSSDは、容量が小さくデータの読み書きスピードが速いという特徴があります。

最近はSSDの価格が下がってきたため、もしこれから新規に購入するのであれば、処理が速く作業ストレスの少ない「SSD(256GB以上)」を推奨します。

▲目次へ戻る

【TIPS】ノートPCとデスクトップPCはどちらがおすすめ?

プログラミング 学習時間 プログラマカレッジ

ノートPCとデスクトップPCのどちらを選ぶかは、人それぞれの好みによりますが、それぞれの利点は以下のとおりです。

ノートPCのメリット

• 手軽に持ち運べるので、場所を選ぶことなくプログラミング学習を進められる

• たとえ画面が小さくても、外付けのモニターを増設すればデュアルディスプレイで使用できる

【こんな人におすすめ】

場所を問わないで使える手軽さを重視したい方や、予算に余裕がある方

 
デスクトップPCのメリット

• ノートパソコンと同価格帯のPCでも、よりスペックの高いマシンを購入できる

• モニター画面が大きく作業領域が広いため、複数ウィンドウやデータベースをストレスなく扱える

【こんな人におすすめ】

決まった場所に腰を据えてじっくりと開発したい方や、予算を抑えて購入したい方

また、毎日のプログラミング学習に重視したパソコンを購入したい初心者の方には、手軽に使えるノートPCの方がおすすめです。

なお、学習の初期から複数のモニターを準備する必要はありません。

いずれプログラミングに慣れたのち、「開発画面と実装実行画面を両方とも表示させたい」と思ったタイミングで、新たなモニターの購入を検討すれば良いでしょう。

プログラミングの勉強を始めようと思っても「何から学べば良いのかわからない…」と悩んでいる方には、以下の記事もおすすめですよ。

▲目次へ戻る

7. 結局、初心者は独学とプログラミングスクールどちらで学ぶべき?

プログラミング 学習時間 プログラマカレッジ
最近は、ネットで学べる無料オンライン教材やスマホで遊びながら学べるプログラミングゲームが豊富にあるため、「プログラミングなんて簡単に独学できそう」と思っている方もいるでしょう。

結論から言えばプログラミングを独学することは可能ですが、最後は独学した場合とプログラミングスクールに通った場合のメリットとデメリットについてもチェックしておきましょう。

▲目次へ戻る

■ 独学する場合のメリットとデメリット

独学する場合のメリットとデメリットは、次のとおりです。

プログラミングを独学した場合のメリット

• 最低限のコストで学べるので費用が安い

• スクール選びに失敗して散財するリスクもない

• 自分で教材を選べるので効率よく学べる

• 好きな時間に自分のペースで学習できる

• 自力で乗り越えていくので自信がつく

• 自分のやり方で伸び伸びと学べるので楽しい

プログラミングを独学した場合のデメリット

• 勉強の強制力がないので挫折しやすい

• カリキュラムがないので学習計画が立てづらい

• 仲間がいないのでモチベーションを保ちにくい

• 質問できないので不明点を解決できない

• 転職先や就職先も自力で探さなくてはならない

• 最先端の技術や実務に即したスキルは身につかない

各項目のくわしい内容については、こちらの記事で確認しましょう。

▲目次へ戻る

■ プログラミングスクールのメリットとデメリット

では、プログラミングスクールに通った場合のメリットとデメリットとは、いったい何でしょうか?

プログラミングスクールのメリット

• 実務で通用するプログラミングスキルが身につく

• 仲間と一緒に学べるのでモチベーションを保ちやすい

• プログラミングの学習方法とその習慣が身につく

• ポートフォリオ(成果物)を作成できる

• プログラミングを正しく学ぶことで論理的思考力が磨ける

プログラミングスクールのデメリット

• 受講費用が高額なので毎月の支払いが大変

• 卒業したからといって誰もが就職に成功するわけではない

詳細については、各リンク先と以下の記事にてご確認ください。

▲目次へ戻る

8. 最短コースでプログラミングを習得してエンジニアになるなら?

プログラミング 学習時間 プログラマカレッジ
「最短コースでプログラミングを習得して、未経験からプロのエンジニアになりたい」

もしあなたがこんなふうに考えているのなら、無料のプログラミングスクール「プログラマカレッジ」で、私たちと一緒にプログラミングの基礎を学んでみませんか?

パソコンにはじめて触る高校生や大学生、またデスクワーク経験のないフリーターの方でも大丈夫。パソコンに関する基本知識から実務に対応できるITリテラシーまで、まったくの未経験から一通りマスターできますよ。

さらに業界に精通したアドバイザーや経験豊富なプロの講師陣が就職をしっかりとサポート。上京就活生には首都圏の物件を無料で貸し出してくれるので、地元から離れても心強いのが嬉しいですね。

→ 就職支援付き無料プログラミングスクール「プログラマカレッジ

ぜひこの記事を参考にプログラミングをマスターし、エンジニアになる夢を叶えてくださいね!

▲目次へ戻る

卒業生の声

SHARE

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.