スキル

    プログラミングを独学で学ぶ場合何から勉強する?ロードマップが知りたい

    • #プログラミング 独学

    更新

    独学でプログラミングを勉強しようと思っても、一体何から始めたら良いのだろうと思考が止まってしまい、行動に移せないという方が多いのではないでしょうか?

    このページでは、そんな方のために独学で学ぶための手順をロードマップ1〜4準備してみました。

    何から勉強しようか迷っている方はぜひ参考にしてください。

    また、以下のページでは独学でプログラミングを学ぶ際に注意すべき内容についても網羅しています。これからプログラミングを始めようという方はぜひ参考にしてください。

    → プログラミングは独学でもできる?スクールが必要?成功への学び方徹底解説

    監修者

    古里 栄識

    クラウドエンジニア/RareTECHメイン講師

    慶應義塾大学理工学部卒業。フリーランスエンジニアとして活動後、AWS Japanに入社。現在は、RareTECH講師としての登壇や、法人向けIT研修講師として勤務。情報処理安全確保支援士。

    仕事も、働き方も、自分で決められるエンジニアに。 希少型エンジニア育成専門ITスクールRareTECH 公式LINEで資料を受け取る

    ロードマップ1.プログラミングを学びたい理由を明確にしよう

    まずは、学ぶ目的を明確にすることが大切です。

    • 副業で稼ぎたいのか
    • 転職して今よりも収入アップしたいのか
    • 場所や時間に囚われない仕事をしたいのか

    目的が明確であるほど、強いモチベーションが働きます。

    目標やスケジュールを決めて、順序立てて進めるのがポイントです。

    ロードマップ2.目的に合ったプログラミング言語を選ぶ

    プログラミングを学ぶ理由や目的に合ったプログラミング言語を選びましょう。

    とはいえ、プログラミング言語は200種類以上ありますし、どれを学べばよいかわからない方が多いでしょう。

    もし転職が目的であれば、転職先で必要となる言語を中心に学ぶと良いです。

    特に学びたい言語が決まっていない場合、将来どんなプログラマーになりたいのかを探るのも良いでしょう。

    プログラマーには8つの種類がありますので、以下の表を参考にしてください。

    プログラマーの種類

    仕事概要

    主な使用言語

    1.Webプログラマー

    ショッピングサイトなどのWebサイトや、SNSなどWebアプリなどのプログラミングを行う

    PHP、Ruby、Perl、Java、JavaScript

    2.ゲーム系プログラマー

    プログラミング言語を用いてゲームの開発を行う

    C++、C#、JavaScript、Swift、Ruby、Objective-C、HTML5

    3.アプリケーションプログラマー

    主にパソコンやスマートフォンで使用するアプリケーションのプログラミングを行う

    Java、C、C#、Ruby、PHP、Swift、Kotlin

    4.組み込み系プログラマー

    電化製品や自動車、電子機器などを制御するために組み込まれているプログラムの開発を行う

    C、C++、C#、Java

    5.汎用系システムプログラマー

    「メインフレーム」と呼ばれる1台の大型コンピューターでさまざまな目的の情報処理作業を行う汎用系システムの開発をする

    COBOL、Java、FORTRAN、RPG、PL/SQL、C

    6.オープン系プログラマー

    ネットワーク内のすべてのコンピューターが情報にアクセスできるオープン系システムを構築する

    Java、C#、C+、PHP、Ruby、Python、JavaScript、VB.NET

    7.通信系プログラマー

    通信に関連した製品やプログラムの開発を行う

    Java、C、C++

    8.セキュリティー系プログラマー

    情報セキュリティーを主軸としたシステム設計や運用を担う

    C、C++、JavaScript

    ロードマップ3.開発の環境を整える

    次に開発環境を整えましょう。

    予め何が必要かを抑えておけば無駄なものを買う必要はありませんね!

    パソコン(キーボード、マウス、ディスプレイ)

    パソコンには、主に以下3つのOSがあります。

    • Windows
    • Mac
    • Linux

    まずは手元にあるもので構いません。

    これからパソコンを購入する方は、Macがおすすめです。

    筐体がアルミニウムということで軽量かつ剛性もあり、見た目にも人気があります。

    ネット回線

    以下の場面でネット回線を活用します。

    • 必要なツールのダウンロード
    • 開発したプログラムの実行
    • 情報収集

    スピーディに学習を進める上でも、高速のインターネットがあった方がよいです。

    コーディングツール

    開発環境でおすすめなのが「IDE」です。

    IDEは総合開発環境の意味で、テキストエディタやコンパイラ、デバッガをひとつにまとめたものです。

    以前はテキストエディタやコンパイラ、デバッガはソフトが分かれており、不便な環境でシステム開発していました。しかし、現在はIDEにより統一的に扱えます。いくつか種類があるため、今持っているパソコンに対応しているもので、初心者でも扱いやすいものを選ぶとよいでしょう。

    初心者におすすめのIDEは以下の通りです。

    Visual Studio Code(VSCode)

    マイクロソフト社によって開発された汎用IDEです。Windows, Mac, Linuxで動作し、多くの言語やフレームワークに対応しています。軽快な動作と多彩な拡張機能が特徴で、無料で利用できます。

    Eclipse

    Eclipse Foundationによって開発された汎用IDEです。Windows, Mac, Linuxで動作し、Javaを中心に多くの言語やフレームワークに対応しています。高度な機能やプラグインが多数あります。無料で利用できます。

    Xcode

    アップル社が開発したmacOS/iOS向けの専用IDEです。Macで動作し、Swift, Objective-C, C, C++などの言語に対応しています。GUIデザインやシミュレータなど開発を効率化する機能があります。無料で利用できます。

    IntelliJ IDEA

    ジェットブレインズ社が開発したJava言語向けの専用IDEです。Windows, Mac, Linuxで動作し、Java, Kotlin, Scalaなどの言語に対応しています。コード解析やリファクタリングなど高品質な機能があります。無料のCommunity Editionと有料のUltimate Editionがあります。

    ロードマップ4.プログラミングの勉強を開始する

    開発環境が整ったら、いよいよプログラミングの勉強を開始しましょう。

    無理のないように計画を立てて進めるのが挫折なく学習を進められるポイントです。

    書籍を購入したり、ネットで調べたりして、実際にコードを書きながら学ぶとよいでしょう。独学で学ぶための学習サイトも複数ありますから、上手に活用しましょう。

    また、新しい知識を身につけることも大切ですが、ブラインドタッチなどはきちんと出来ていますか?

    プログラマーとして当たり前にできることを日々練習することも忘れないでください。

    初心者がプログラミングを学ぶ手段は?

    プログラミングを勉強する方法はいくつかあります。

    独学であれば、参考書や学習サイトを上手に活用しましょう。

    とはいえ、やはり9割弱の方が挫折すると言われるほど、厳しい世界です。

    プログラミングスクールを検討することも、ポジティブに検討することをおすすめします。

    以下では、独学での学び方についてお伝えします。

    本・書籍

    自分のペースで勉強できるところが、本・書籍の良いところですよね!

    1から順番に学んでいくスタイルも大切ですが、逆引き的に自分が気になるところを調べることも大切です。

    学習サイト

    本を読んで勉強するのが苦手な方は、インターネット上で学べる学習サイトを利用するとよいでしょう。プログラミングが学べる学習サイトはさまざまで、無料と有料のサイトがあります。

    有料でも月額料金はそこまで高くないケースが多く、スクールに通うよりも安く済みます。中には、開発環境が不要で簡易的に学べるアプリもあります。ただし、学びたい内容がなかったり、独学であるためモチベーションの維持が難しかったりする点に注意が必要です。

    本・書籍や、学習サイトは独りで学ぶ勉強法です。

    しかし独学だけでは、今学んでいることが今後何の役に立つのかわからない、ロードマップ的なことがわからないというデメリットがあります。

    そんな時には、プログラミングスクールや勉強会・セミナーを活用すると良いでしょう。

    プログラミングスクール

    本格的にプログラミングを学びたい方は、プログラミングスクールに通う方法がおすすめです。講師がしっかりと教えてくれて、分からないことはすぐにサポートしてくれます。カリキュラムもきちんと組まれているため、効率的に学べます。

    ポートフォリオを作成できるスクールに通えば、転職などにも直結して効率が良いです。

    デメリットは、費用が高額であることです。ただ受講するだけでスキルが身につくわけではありません。きちんと自分から学ぶ意欲も必要です。

    ある程度学習も進み、本格的に学習をしてみたいと思った方は以下のページを参考にしてください。

    勉強会やセミナー

    実績や経験豊富な講師が教えてくれるため、実践的な知識が身につけられる点がメリットです。最新の技術に関するセミナーや自分が学びたい内容のセミナーを選べば、必要な知識をピンポイントで学べます。

    デメリットは、自分が期待した内容を学習できるかわからないことです。せっかく時間を割いたのに、自社サービスの案内がメインの内容だったりすることもよくあります。

    とはいえ、一度体験すること重要なので調べてみるとよいでしょう。

    初心者におすすめのプログラミング言語5選

    これからプログラミングを学び始める方は、どの言語から学べばよいかわからないという方もいると思います。

    以下では、代表的なプログラミング言語として6つの言語を紹介します。

    ぜひ参考にしてみてください。

    Python

    シンプルで初心者でも扱いやすく、人気もあるプログラミング言語です。AI(人工知能)やディープラーニングの統計・解析の分野で注目されていますが、Webサイト構築やアプリ開発でもPythonが利用されています。

    転職でもPythonを扱える求人募集が多いので、まずはここから学び始めるというのもアリだと考えています。

    Java

    業務系システムやスマートフォンのアプリといったさまざまな分野の開発現場で活用されています。これからプログラミングを学び、転職で生かしたい方にもおすすめです。

    Javaは処理速度が速く安定しているのがメリットです。また、一度書いたコードはJava仮想マシンを通して使用することで、プラットフォームを問わず実行できるのも大きなメリットといえるでしょう。

    Ruby

    WebサイトやSNSサイト、スマートフォンアプリでよく使用されるプログラミング言語です。料理のレシピで有名なクックパッドでも用いられています。

    日本で開発されたスクリプト言語で、シンプルで読み書きしやすく初心者が最初に勉強するプログラミング言語としてもおすすめです。日本語で書かれた参考書も多いため、独学したい方にも向いているでしょう。

    以下、Web系のプログラマーにおすすめです。

    HTML

    Webページの作成で用いられるプログラミング言語です。「ハイパーテキスト・マークアップ・ランゲージ」の略で、Webサイトに掲載する記事に利用されます。ホームページを作る際は、HTMLで文章構成の指示を出し、Webサイトに反映させます。

    プログラミング言語としては基礎的なもので、プログラマーに転職する際に有利になるわけではありません。転職活動で生かすのであれば、HTMLをマスターしたうえで、CSSやJavaScriptを身につける必要があります。ただし、プログラミング初心者であれば、まずはHTMLからスタートするとよいでしょう。

    CSS

    HTMLと組み合わせて使用するプログラミング言語です。CSSを用いることで、文章の装飾やレイアウト、サイズを指定できます。Webサイトにおいては、HTMLで文章の構造を指定し、CSSで見栄えを整えるとイメージするとよいでしょう。

    CSSもHTMLと同様に基礎的なプログラミング言語であるため、転職で有利にはなりません。ただし、「CSSは最低限必須のスキル」としている企業も多く、HTMLとセットで学習するとよいでしょう。

    初心者がプログラミングの勉強で挫折する例と対策

    独学でプログラミングを学ぶ方の9割弱が、挫折するというデータがあります。

    多くの方がいうには、「独学では今学んでいることが、どこに役立っているのかわからない」「ロードマップがわからない」などの声があります。

    学生でいうところの、「数学」「英語」「プログラミング」くらいの感覚で、存在する分野なので、短時間で学べるほど単純ではありません。

    短期間でプログラミングをマスターできるというプログラミングスクールも存在しますが、冷静に考えればわかるはずです。(そんな甘くはないぞと…)

    そのためにも、なぜプログラミングを学びたいのかを自分なりにきちんと言語化することが大切です。

    それが明確であるほど、独学でも学習は進められるはずです。

    以下、よくありがちな挫折しがちな行動パターンと対策をご紹介します。

    丸暗記を試みる

    プログラミング言語は覚えることが多いので、丸暗記はまず無理です。

    わからないことは都度調べれば解決することは多いので、そもそも暗記の必要はありません。覚えようとしなくてもよく出てくるパターンは自然と覚えてしまうでしょう。

    暗記を試みるのではなく、プログラミングの仕組みがどうなっているのか、どういった使い方をするのかなど、全体的な流れを理解するようにしましょう。

    高すぎるハードル

    プログラミングは学ぶ範囲が広く、習得するには時間がかかるため、ハードルを高くしすぎると挫折する可能性が高まります。

    スモールステップでじっくりと学ぶことが大切です。

    実践せずサンプルコードをコピー&ペーストする

    サンプルコードをコピー&ペーストすること自体は悪くありませんが、それだけで満足してしまうと、理解が浅くなりがちです。

    自分で1からコードを書くことで理解が深まり、またエラーに対する対処法も自然と身につきます。

    挫折しない学び方をするためにも、実践的な学びを心がけましょう。

    エラーに一喜一憂する

    プログラミングの学習では、エラーとの向き合い方が大切です。

    エラーは怖がるものではなく、なぜ起きたのか理解し、修正していくことでスキルが上がります。

    一喜一憂せず、冷静に原因を追及し、解決の手がかりを見つけ出す姿勢が大切です。

    空き時間ができたタイミングで学習する

    学びは計画的に進めることがポイントです。

    空き時間に学習することももちろん大切ですが、計画性をもってコツコツと継続することが成功へのカギとなります。

    毎日決まった時間を設け、少しずつでも確実にスキルアップを目指しましょう。

    プログラミングを独学で勉強する方法のまとめ

    いかがでしたか?

    具体的に何を学ぶかというのは、ゴール設定によって異なります。

    しかし、きちんとプログラミングを理解したいならば、プログラミングの基礎を理解する必要があります。

    こちらのページに、完全初心者だった私がどうやってプログラミングを学び、GAFAのエンジニアとして就職するまでのストーリーを紹介しています。

    多くの方の参考になると思いますので、ぜひご一読ください。

    また、弊社ではRareTECHというプログラミングスクールを運営しています。

    本格的なプログラミングを学び、希少型人材として高収入が期待できる転職をしたい、自分の可能性を高めていきたいという方は、RareTECHにご相談ください。

    RareTECHは、2年間という学習スケジュールの中でトップ10%のITエンジニア(=希少型人材)にすることを目指したプログラミングスクールです。

    半年〜1年で転職を成功させて、働きながら学んでいる方も多くいらっしゃいます。

    体験授業などもありますので、ぜひ一度お越しください。

    皆さまにお会いできることを楽しみにしています。

    【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

    IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

    プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

    「フリーランスエンジニア」

    近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

    「成功する人とそうでない人の違いは何か?」

    私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

    比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

    多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

    note記事3000いいね超えの殿堂記事 LINE登録で記事を見る