スキル

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

    • #プログラミング 独学

    更新

    プログラミングは、独学で学ぶことが可能です。
    最近では学習サイトやオンライン教材の充実により、専門学校や教室に通わなくても、自らの努力でプログラミングを習得できるようになったからです。

    • 副業からプログラミングを始めたいけど、時間もお金も限られている
    • 会社員として働きながら、将来的には独立し、自由な働き方を実現したい
    • 自分の夢のためならがんばれるかもしれない

    このように考えている方も多いと思います。

    そこで、このページではプログラミングを独学で学習できる人の特徴や独学のメリット・デメリット、学習方法などをお伝えし

    「プログラミングを独学でできるのか」という問に対して、皆さん自身で答えを導けるようにまとめ上げました。

    皆さんの参考になれば幸いです。

    わからないことや疑問点は、最後にコメントできるようになっておりますので、そちらからお願いいたします。

    監修者

    古里 栄識

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

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

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

    独学とプログラミングスクールどちらがおすすめ?

    結論からお伝えすると、プログラミングスクールでの学習がおすすめです。
    なぜなら、スクールには下記のようなメリットがあるからです。

    • 経験豊富なインストラクターによる指導を受けることができる
    • 学習を進めるための整備されたカリキュラムが用意されている
    • 学習に集中するための環境が整えられている

    とは言え、冒頭でお伝えしたようにプログラミングは独学で学ぶことも可能です。
    自分の性格や環境によって、スクールを利用するべきか、独学でも学習できるかは異なります。

    次の項目では、独学でも学習できる人の特徴ご紹介します。

    プログラミングを独学で学習できる人の特徴

    プログラミングを独学で学習できる人の特徴は、下記の通りです。

    • 自己学習意欲がある
    • 時間を捻出できる
    • 質問や相談をできる環境がある

    自己学習意欲がある

    プログラミングの独学は、自己学習意欲を持っていることが前提です。
    自分で目標を設定したり、学習サイクルを構築したりすることができるタイプであれば、独学でも習得できるでしょう。
    反対に、「やる気はあってもつい怠けてしまう」「ある程度の強制力がないと動けない」というタイプは、独学での学習は難しいと言えます。

    時間を捻出できる

    独学の場合、1つの言語を現場で使えるレベルまで習得するには、約1,000時間かかると言われています。
    1日3時間捻出できたとしても、1年近くかかることになります。
    プログラミングに限らず、何かのスキルを取得するにはある程度の時間を日常の中から捻出する必要がありますが、それが可能な人なら独学でも学習することができるでしょう。

    質問や相談をできる環境がある

    プログラミングの学習を独学で進めていくと、解決が困難な疑問が必ず生じるものです。
    その際、質問や相談ができる知人やコミュニティを持っていれば、時間や労力をかけずに解決することができるので、独学でもそれほど心配する必要はないでしょう。

    プログラミングを独学で学ぶメリット・デメリット

    プログラミングを独学で学ぶことには、下記のようなメリット・デメリットがあります。
    独学での学習を検討している方は、こちらもチェックしてみてください。

    メリット

    • 自分のペースで学習が進められる
    • 学習費用を抑えることができる
    • 学習内容を自由に選ぶことができる

    独学の場合、自分のペースで学習を進めることができるので、仕事や他のコミットメントと調整しながら、学習時間を柔軟に確保することができます。

    また、無料で学べる学習サイトや安価な教材も増えているので、学習費用を抑えられます。
    書籍やオンラインコースを購入する際も、自分の予算に合わせて選択できるのが嬉しいですね。

    さらに、独学では自分の興味や目標に合わせて学習内容を選択し、自分のペースで進めることも可能です。

    デメリット

    • 独学だと挫折しやすい
    • 学習の質や信頼性に問題がある教材も存在する
    • スキル習得の状況が曖昧になる

    独学の一番のデメリットは、自己モチベーションを保つことが難しいことではないでしょうか。
    孤独な学習環境で長期間にわたって継続するのは、難しいものがあります。

    また、適切な学習の方向性やカリキュラムを見つけるのが難しい場合もあります。
    中には、信頼性に問題のある教材も少なくないので、注意が必要です。

    さらに、独学の場合は他者からのフィードバックを受ける機会が限られてしまうので、スキルの取得状況が自己判断となり、「できているのか?いないのか?」の評価が曖昧になってしまうこともデメリットだと言えるでしょう。

    プログラミングの独学は何から始めればいい?

    独学でプログラミングを学んで稼げるようになるためには、以下の手順を参考にしてください。

    準備するもの

    独学でプログラミングを学ぶために必要なものは下記の通りです。

    • パソコン
    • ネット回線
    • 開発環境

    開発環境とは、プログラムの開発やテスト、デバッグなどを行うためのソフトウェアやツールのことです。

    学ぶ言語を決める

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

    とはいえ、プログラミング言語は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

    目指すレベルを決める

    プログラマーには経済産業省が定めたITスキルのレベル分けの指標が存在します。
    どのレベルを目指すかによっても学習プランは大きく変わりますし、得られる報酬感も大きく変わってきます。

    ぜひ、レベル7のスーパーハイを目指して学習してほしいものです!

    レベル区分

    エンジニアの人物像

    レベル1(エントリー)

    • エンジニアとして最低限の知識を習得した状態
    • 職種としては、テストエンジニア

    レベル2(ミドル)

    • 上司や同僚のサポートを受けずに作業ができる
    • 基本情報技術者試験の合格に対応している

    レベル3(ミドル)

    • エンジニアとして応用的な知識を習得した状態
    • 下位レベルのサポートもおこなう

    レベル4(ハイ)

    • エンジニアとして高度な技能を習得した状態
    • 高度情報処理技術者試験の合格に対応している

    レベル5(ハイ)

    • 高い作業遂行能力を持ち、マネジメントもできる
    • 自他ともに認める実務経験を有している状態

    レベル6(スーパーハイ)

    • 日本国内においてハイエンド技術者となる状態
    • 自分のイメージするプロジェクトを制作できる

    レベル7(スーパーハイ)

    • 海外でも通用するスキルを持った状態
    • 新しい技術を創造する力が求められる

    プログラミング学習の独学で活用すべき教材

    プログラミングの独学に役立つ教材はいくつかあります。
    自分に合った教材を選ぶことが、より早急にスキルを取得する鍵となります。

    書籍

    自分のペースで勉強できるところが、本・書籍の良いところですよね!
    1から順番に学んでいくスタイルも大切ですが、逆引き的に自分が気になるところを調べることも大切です。


    学習サイト

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

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


    動画

    動画は視覚的な情報得ることができるため、プログラミングの概念やコンセプトをより直感的に理解するのに役立ちます。
    実際のコーディング作業を見ることで、手順や技術を実践的に学ぶことができるでしょう。

    例えばyoutubeのようなプラットフォームでは、無料で様々なプログラミング言語やテクノロジーに関するコンテンツを視聴できます。
    ただし、品質の異なるコンテンツが混在していたり、正確な情報や高品質な教材を見つけたりするのが難しい場合もあります。

    プログラミングスクール主催の勉強会やセミナー

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

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

    プログラミングを独学で習得して稼ぐ方法

    プログラミングを生かしたお金の稼ぎ方は、以下のような方法があります。

    1. プログラミングスキルを活かして転職する
    2. クラウドソーシングで案件を受注する
    3. プログラミング知識を活かしてブログで稼ぐ
    4. プログラミングスクールの講師になって稼ぐ
    5. 自分でサービスを開発する

    プログラミング業界でのお金の稼ぎ方

    難易度(1→5難)

    報酬感

    1.スキルを活かして転職する

    1〜5

    年収400〜1600万円

    2.クラウドソーシングで案件を受注する

    1〜5

    1案件5〜100万円

    3.プログラミング知識を活かしてブログで稼ぐ

    3〜5

    0〜月収1,000万円

    4.プログラミングスクールの講師になって稼ぐ

    年収800〜1600万円

    5.自分でサービスを開発する

    0〜数億円

    上記について、1つ1つ解説していきます。

    1.スキルを活かして転職する

    多くの方の選択肢に「転職」が入ってると思います。

    ここで大切なのは、「会社選び」です。

    近年、短期間で学べると謳っているプログラミングスクールが多いですが、短期間で高度なプログラミング技術を身につけることは難しいです。

    短期間で得られる技術というのは、あなた以外でもできる技術です。

    その結果、たとえ転職できたとしても希望の仕事をすることができずに、「思っていたのと違った」と転職を後悔する方も中にはいます。

    また、ブラック的な会社に転職してしまい、悲惨な転職を迎える方も少なくありません。

    では、どうすれば良い会社を選択できるのか。

    それは、紹介を得ることです。

    先輩や知人・友人から紹介、プログラミングスクールに所属して紹介を得る方法があります。

    独学の場合には、知人経由になるかもしれませんが、プログラミングスクールに所属してスキルアップすることで紹介が得られます。

    高い報酬を望むのであれば、高いスキルが学べるプログラミングスクールを選ぶことをオススメします。

    2.クラウドソーシングで案件を受注する

    クラウドソーシングで案件を受注する場合、次のようなケースが考えられます。

    ( )内の数字については、ココナラ、ランサーズ、クラウドワークスなどのクラウドソーシングサービスでの相場になります。

    • LP制作(5〜50万円)
    • WordPressを使ったWebサイト制作(10〜100万円)
    • アプリケーション開発(10〜30万円)
    • システム開発(10〜100万円)

    簡単に補足します。

    LP制作やWordPressを使ったWebサイト制作については、マーケティング要素・デザイン要素も関わってきます。プログラミング要素はコーディング部分だけになるので、単価はもう少し下がります。コーディングだけの場合には、1ページあたり1から5万円が相場です。

    簡単なアプリケーション開発やシステム開発を受注することは、実際に報酬を得ながら学ぶことができるので独学の方にもオススメです。

    ただし、責任を持てる範囲で行わないと痛い目をみることになるので注意が必要です。

    3.知識を活かしてブログで稼ぐ

    プログラミングを学び、その知識をブログで公開してアフィリエイトなどで報酬を得ている方はたくさんいます。

    月に10〜100万円程度の報酬を得ているアフィリエイターもいる一方で、全く稼げないアフィリエイターも多くいます。

    ブログはマーケティングの基礎・基本ではありますが、レベルの高いマーケティング技術でもあります。

    ブログで稼ぐことを目的にプログラミングを学ぶ方は少ないかも知れませんが、プログラミングを本業にしつつ、副業でブログで稼ぐというスタイルは、自由なLife styleを望む方にはとても人気です。

    ただし、独学で学んでいることを実況中継的にブログで伝えるよりも、ある程度の知識を得た上で、先人の教えとして書いたほうが説得力もあり、ブログ収益に繋がりやすいです。

    4.プログラミングスクールの講師となって稼ぐ

    レベルの高いプログラミング技術に加えて、教えることに対してポジティブな気持ちが必要です。

    プログラミングスクールに所属し、そのままスカウトされて講師になるパターンは良く耳にします。

    独学の場合には、ブログやSNSなどで自身の考え方やポートフォリオを公開し、スカウティングを待つことなどが考えられます。

    5.自分でサービスを開発する

    難易度がかなり高いと思いますが、得られる報酬の単位は「億」になるでしょう。

    自分でビジネスを創りたいという気持ちが強い方は、その想いを言語化して、具体的なアクションプランを立てることをおすすめします。

    具体的なアクションプランがなかなか見つからない場合には、信頼できる方に聞いたり、プロからアドバイスを受けることが必要です。

    レベルの高い講師に相談できるプログラミングスクールに入ることも考えられます。

    プログラミングを学んで、何がしたいのかを明確にすることはとても大切です。

    しかし、始めてみたら楽しくなって、もっと学びたくなったという方もいます。

    もし、分野や言語を決めかねている方は、上記でお伝えした案件の例や報酬感を参考にしてみても良いと思います。

    今の段階で「私はこの道に進む!」と断定することは難しいと思います。

    上記を参考にしながら、大まかに進路を見出すと良いでしょう。

    もし、この進路に進みたいという気持ちが湧いてきたら素晴らしいことです。

    その方向に一度進んでみると良いでしょう!

    ただし、もし独学ではなく基礎から丁寧に学び、本物のスキルを身に着けたいと感じたら、ぜひRareTECHを検討材料の1つにしてください。

    希少型ITエンジニアになるための5ステップ

    「希少型ITエンジニア」とは、特定の技術や分野で高度なスキルや専門知識を持ち、市場で需要が高く供給が限られているエンジニアのことです。
    希少型エンジニアは、その希少性から通常、高い給与や待遇を享受することができます。

    ここでは、未経験から希少型ITエンジニアになるための5ステップを解説します。

    1.基礎知識の獲得

    プログラミング言語や基本的なコンピューターサイエンスの概念について学びましょう。
    動画や書籍、スクールなどを活用し、主要なプログラミング言語の基本構文やアルゴリズム、データ構造などに焦点を当てた学習を行います。

    2.実践とプロジェクトの経験

    学習した知識を実践的に活用するために、個人プロジェクトやオープンソースのプロジェクトに参加しましょう。
    他の開発者と協力して経験を積むことで、ポートフォリオを構築することもできます。

    3.業界認定資格の取得

    一定のレベルに達したら、業界認定資格を取得することを検討しましょう。
    特定の技術や分野に関する認定資格を取得することで、自分のスキルを証明し、雇用主やクライアントからの信頼を得ることができます。

    4.ネットワーキングとコミュニティ参加

    ITコミュニティやイベントに参加し、他のエンジニアと交流する機会を作りましょう。
    メンターを見つけたり、業界内の最新のトレンドやニーズを把握するために、積極的にネットワーキングを行います。

    5.継続的な成長

    IT業界は急速に変化しているため、新しい技術やツールが続々と登場し、既存の技術も進化しています。
    常に学び続け、最新のトレンドや技術に対応する姿勢が重要です。
    新しい知見を得るためには、オンラインコースや専門書籍、業界イベントなどを積極的に活用しましょう。

    以上のステップを順番に進めることで、未経験から希少型のITエンジニアになるための基盤を築くことが可能です。
    忍耐と努力が必要ですが、着実にスキルを向上させ、目標に向かって進んでいきましょう。

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

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

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

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

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

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

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

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

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

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