プログラミングスキルは、将来性があり、さまざまな仕事をする上で役立つため、近年では学習する人が増えています。
しかし、これからプログラミングを学ぶ人の中には、「プログラミングって独学できるの?」「どうやって進めればいいの?」といった悩みを抱えている人が多いのではないでしょうか。
そこで、今回はプログラミングの独学について、独学のメリット・デメリットや具体的な勉強方法を紹介します。
独学後に稼ぐ方法についても紹介するので、この記事を読めばさっそくエンジニアとしての第一歩を踏み出せますよ!
ちなみに、プログラミングの勉強方法には、「独学」「スクール」の2つがよく挙げられます。どちらがおすすめかについては下記記事で紹介しているので、参考にしてみてくださいね。
プログラミング独学は可能なのか?
そもそも、プログラミングを独学で学習することは可能なのでしょうか?
結論から言うと「可能」です。
たしかに、プログラミングの独学には、さまざまな困難が伴います。スクールなどを活用してプロによる指導を受けた方が、最短距離かつハイレベルなスキルが身につくことは間違いありません。
とはいえ、自分に最適な学習環境を用意することさえできれば、プログラミングを独学することは可能です。ここからは、プログラミングを独学するメリット・デメリットを紹介するので、「自分には独学が向いていそう」と感じたらぜひチャレンジしてみてください。
プログラミングを独学するメリット
プログラミングを独学するメリットは、主に3つあります。
- 自分のペースで学習できる
- コストを抑えてスキルが身につく
- 場所・時間にとらわれない
それぞれ、詳しく解説します。
自分のペースで学習できる
1つ目のメリットは、自分のペースで学習できることです。
たとえば、スクールに通う場合、決まった学習カリキュラムでプログラミングを学びます。もちろん、各スクールでは受講生にスキルが身につくような学習カリキュラムを用意していますが、それが100%自分に合っているとは限りません。
具体的には、「週◯回だけ学習したい」「特定の分野だけを極めたい」といった個人的なニーズについては、満たせない可能性があるわけです。
その点、独学は自分のペースで学習を進められます。プログラミング学習に関係することすべてを自分で決定できるため、ストレスを感じることなくスキルを習得できるでしょう。
コストを抑えてスキルが身につく
2つ目のメリットは、コストを抑えてスキルを身につけられることです。
後述しますが、プログラミングの独学には、ほとんどコストがかかりません。人によってかかる費用は異なりますが、おおむね1万円程度で学習することが可能です。
対して、スクールでは最低でも10万円以上の費用が必要になるため、独学の大きな魅力と言えるでしょう。
場所・時間にとらわれない
3つ目のメリットは、場所・時間にとらわれないことです。
独学では、完全に自分のペースで学習を進められるため、好きな場所で好きな時に学習できます。
スクールの場合、校舎に通う必要があったり、決まった時間に講義を受けなければならないパターンも多いため、忙しいサラリーマンや主婦の中には参加できない人も多いハズ。
そのため、時間・場所を自由に選べる点は、独学ならではの大きなメリットといえます。
プログラミングを独学するデメリット
プログラミングを独学するデメリットは、主に3つあります。
- モチベーションを維持しにくい
- 学習スピードが遅くなりがち
- 目標・計画を立てるのが難しい
それぞれ、詳しく解説します。
モチベーションを維持しにくい
1つ目のデメリットは、モチベーションを維持しにくいことです。
独学では、何かわからないことがあっても誰かに質問することができず、自分で解決しなくてはなりません。また、同じ目標を持って努力する仲間もなく、孤独に学習を続ける必要があります。
結果的にひとりで学習することに耐えられず、挫折してしまう人は多いです。
学習スピードが遅くなりがち
2つ目のデメリットは、学習スピードが遅くなりがちなことです。
スクールでは、指定された学習カリキュラム通りに進めれば、誰でもプログラミングスキルを身につけることができます。しかし、独学の場合、0から自分で学習ルートを決めなくてはならないため、効率的に学習できないパターンが多いです。
また、独学ではわからないことを自力で解決しなくてはならないため、不明点はすべて調べる必要があります。本を読んだり、書籍を読んだりとかなりの時間が必要になることから、学習速度が遅くなる可能性が大きいです。
目標・計画を立てるのが難しい
3つ目のデメリットは、目標・計画を立てるのが難しいことです。
先述の通り、独学にはスクールと違い学習カリキュラムがありません。そのため、「何を」「どのように」「どれくらい学ぶか」といった学習目標・計画を自ら考える必要があります。
上記は、プログラミングを学んだことがない未経験者にとっては難しいことなので、独学の大きなデメリットのひとつに数えられます。
まずは独学の全体像を把握しよう
ここからは、プログラミングの具体的な独学方法について、3ステップで紹介します。
- 作りたいものを決める
- プログラミング言語を決める
- プログラミング学習を始める
それぞれ、詳しく解説します。
作りたいものを決める
まずは、プログラミングで何を作りたいのか考えてみましょう。
たとえば、プログラミングスキルを身につけることで、下記のようなものを作ることが可能になります。
- Webサイト
- アプリ
- ゲーム
- システム
- 自動化・業務効率化ツール
- AI(人工知能)
- ロボット
そして、作りたいものによって学ぶべきプログラミング言語や、稼ぐ手法も異なってきます。
たとえば、Webサイト制作はクライアントワークの案件が多く、アプリ開発は個人でビジネスを展開しやすい。AI・ロボット開発は就・転職ニーズが高いなどの特徴があるため、理想とするライフスタイルなどを考慮しながら検討してみてくださいね。
プログラミング言語を決める
作りたいものが決まったら、学ぶプログラミング言語を検討しましょう。
なぜなら、何か1つのものを作るためには、複数のプログラミング言語が必要になるパターンが多いからです。
たとえば、副業やフリーランスに人気のWeb制作では、
- HTML/CSS
- JavaScript
- PHP
- Python
といったプログラミング言語が求められます。
各言語の特徴について、簡単に下記で解説します。
HTML/CSS
HTML/CSSは、正確にはプログラミング言語ではなく、マークアップ言語と呼ばれる文章を構造化するための言語です。
- HTML:見出し・リンク・リストなど「構造」を作れる言語
- CSS:色・サイズ・レイアウトなど「装飾」を作れる言語
といったイメージで、それぞれ役割が異なります。
2つともWebサイトにおける根幹を担うことから、Web制作を始めるなら最初に学びたい言語と言えるでしょう。
JavaScript
JavaScriptとは、簡単に言うとWebサイトに動きをつけることができるプログラミング言語です。
JavaScriptを利用することで、下記のような機能をWebサイトに実装できます。
- ポップアップウィンドウ
- リアルタイムで動くグラフ
- ボタンクリック時の動作
- アニメーション
- フェードイン・フェードアウト
JavaScriptは、主にサイトの利便性や視認性向上に使用されています。世の中にあるほとんどのWebサイトで実装されており、習得することでさまざまな案件を獲得することが可能です。
PHP
PHPとは、サーバーサイドにて主にDBとのやり取りなどで使われるプログラミング言語です。
PHPを利用することで、下記のような機能をWebサイトに実装できます。
- お問い合わせフォーム
- 予約システム
- ECサイトのショッピングカート機能
- ログイン・ログアウト機能
- 検索機能
その他にも、PHPは簡単なブログを作成できることでも有名なプログラミング言語です。世界の6割のWebサイトで使用されている「WordPress」もPHPが用いられていおり、「新規記事」や「関連記事」の表示は、すべてPHPの処理により実装されています。
さらに、国内でもっとも案件数が多いことから、習得することで仕事に困ることなく、継続的に稼げるようになるでしょう。
Python
Pythonは、文法がシンプルで初心者にとってわかりやすいプログラミング言語です。PHPと同様に、主にサーバーサイドにて使用されます。
Pythonを習得することで、下記のような仕事ができるようになります。
- AI(機械学習・深層学習)の開発
- ゲーム・アプリケーション制作
- Webサイト作成
- ブロックチェーン開発
- Web上の情報収集ツール
- データ処理・分析・解析
おもに、「人工知能エンジニア」「Webアプリケーションエンジニア」「データサイエンティスト」「Webマーケター」の仕事でよく使用されるため、該当する仕事に興味がある人は学ぶ価値があるでしょう。
また、PythonはBIZREACHの2018年プログラミング別年収ランキングで3位に挙げられるほどに需要があるため、仕事に困ることがない点も大きなメリットです。
Pythonで出来ることについては、下記の記事で詳しく解説しています。
その他のプログラミング言語については以下の記事でも紹介しているので、言語選びの参考にしてみてください。
学習スタイルを選ぶ
学ぶ言語が決まったら、早速プログラミング学習を始めましょう。
具体的な独学方法については、
- 本/書籍
- 動画学習サービス
の2つを活用するのがおすすめです。
それぞれの学習方法について、詳しく解説します。
本/書籍で学ぶ
プログラミング本では、網羅的に知識を習得できます。さらに、「プログラミングの基礎知識→学びたい言語の詳細」のように、自分の学習ペースに最適な学びをすることが可能です。
また、本はコストを抑えて学べる点も大きなメリット。時間・場所にとらわれず読むことができるため、通勤時間などのスキマ時間を活用して、コツコツ学習を進めましょう。
ちなみに、私はPythonからプログラミングを学習しましたが、以下の本は特に役に立ちました。フリーランスになりたい人向けにどうすれば仕事を獲得できるかなども解説しているので、Pythonを学ばない人にもおすすめの一冊です。
また、以下の書籍は綺麗かつシンプルにコードを書くためのエンジニアの必読書といわれています。こちらも超絶オススメです。
その他、言語別のおすすめ本は、下記を参考にどうぞ。
特に、上記の表紙が動物のシリーズを出版しているオライリー社製の教科書は、どの言語でもわかりやすく書かれているので、ぜひ読んでみてくださいね。
動画学習サービスで学ぶ
本/書籍と並んでおすすめのプログラミング学習方法のひとつが、動画学習サービスを活用することです。
動画でプログラミングを学ぶ大きなメリットは「わかりやすさ」となります。テキストベースでは具体的なPCの操作方法などをイメージすることは困難ですが、動画であれば視聴しながら一緒に操作を覚えることが可能です。
特におすすめの動画学習サービスは「Udemy」です。
100,000以上の講座がある世界最大の学習プラットフォームで、プログラミングを学べる動画も多数用意されています。セールを活用すれば1動画2,000円程度で視聴できるため、コストパフォーマンスに優れている点も大きな特徴です。
下記は言語別の人気動画なので、ぜひ視聴してみてくださいね。
- HTML/CSS:【最新2021】HTML、CSS をマスターして、未経験からWEBデザイナー・エンジニアを養成 最高の実践コース
- JavaScript:【JS】ガチで学びたい人のためのJavaScriptメカニズム
- PHP:PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門
- Python:Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学ぶオンライン講座
- Ruby:はじめてのRuby on Rails入門-RubyとRailsを基礎から学びウェブアプリケーションをネットに公開しよう
- C/C++:一週間で身につくC/C++言語
- Swift:【iOS】SwiftUI 超入門 – Swift を基礎から学んで iOS (iPhone) アプリを開発しよう
Pythonのおすすめコースについては、以下の記事でタイプ別に詳しく特集しているので、是非書籍と併せて独学に役立ててみてください。
また、Pythonをおすすめする理由は以下の記事で解説しています。
プログラミング独学が難しいと感じたらスクールを活用しよう
ここまで、プログラミングの独学方法について解説してきましたが、もし「独学は難しい」と感じた方はスクールの受講を検討しましょう。
スクールでは、プロの講師から実践的なカリキュラムで指導を受けられるため、最短ルートでスキルが身につきます。わからないことを質問できたり、キャリアの悩みを相談できる環境も整っており、モチベーションの維持に不安を感じている方でも安心です。
また、プログラミングスクールによっては、案件紹介や転職サポートが用意されています。そのため、実践的なスキルを身につけた上で、スムーズに次のキャリアへ進むことが可能です。
唯一の懸念点としては、受講料金の高さが挙げられます。しかし、最近では「ProgrammerColledge」のように完全無料で学べるスクールも登場してきているので、興味のある人はぜひ挑戦してみてください。
ちなみに、おすすめのプログラミングスクールは下記記事でご紹介しています。
最近では、AIに特化したプログラミングスクールも現れているので、興味のある方は下記記事で紹介している「tech boost」の無料説明会に参加しましょう。おススメです。
プログラミング独学後に稼ぐ方法3ステップ
最後に、プログラミング独学後に稼ぐ方法を3ステップで解説します。
- ポートフォリオを作成する
- クラウドソーシング・エージェントに登録する
- 稼げる営業文で営業する
各項目について、詳しく解説します。
ポートフォリオを作成する
まずは、ポートフォリオを作成します。ポートフォリオとは、案件獲得時にクライアントに提出するもので、自身のプロフィールやスキルを表明するために使用されます。
ポートフォリオの質を高めることで、案件の受注率は高まります。クライアントの視点に立つと、ポートフォリオがあなたのスキルレベルを判断する重要な要素になるため、力を入れて作り込みましょう。
ポートフォリオを作成するときは、下記ポイントを抑えてください。
- 自己紹介・プロフィール
- 得意なプログラミング手法・できること
- 将来の目標・ビジョン
- 成果物・サンプルプログラムの紹介
需要の高い分野の制作物を載せられると、クライアントからの評価も高まりやすいです。ユーザーファーストかつ意図が明確な作品を載せると、より案件を受注しやすくなりますよ。
クラウドソーシング・エージェントに登録する
ポートフォリオが完成したら、案件を獲得したい場合はクラウドソーシングサービス、就職・転職をしたいのであれば転職エージェントに登録しましょう。
クラウドソーシングについて
クラウドソーシングとは、仕事を依頼したい人と受注したい人をマッチングさせるプラットフォームのこと。特におすすめのクラウドソーシングは下記の3つです。
CrowdWorksとLancersでは、主にクライアントが出している求人にワーカーが応募することで契約が成立します。それに対して、ココナラは出品者として依頼者を募ることで、仕事を獲得するイメージです。
登録すること自体にデメリットはないため、さまざまなクラウドソーシングサービスに登録して、案件を受注できる窓口を広げましょう。
エージェントについて
エンジニアとしての転職を志すなら、転職エージェントに登録しましょう。
転職エージェントでは、キャリアアドバイザーからあなたの実績やスキルに合った求人を紹介してもらえます。転職に関する悩みを相談できる他、書類選考・面接の対策をすることも可能です。
下記は、特におすすめの転職エージェントなので、まずはこの3社に登録しておくと良いでしょう。
どれも未経験・現役エンジニア共に可です。
最近は未経験OKの求人も増えてきているので、ぜひ自分の理想のキャリアに合った求人を探してみてくださいね。
稼げる営業文で営業する
転職を目指している方は、エージェントで書類対策をすることができます。しかし、クラウドソーシングで案件を探す場合、クライアントへの営業文は自身で考えなくてはなりません。
営業文の品質によって、クライアントからの印象やスキルの伝わり具合は大きく異なります。適切な営業文が書ければ案件の受注率をアップさせられるので、ぜひ下記テンプレートを参考にしてみてくださいね。
はじめまして。◯◯と申します。
こちらの案件に応募させていただく、ご連絡させていただきました。
前職では〇〇をしており、現在はフリーランスとして〇〇に専念しております。
自作のポートフォリオサイトは「https://◯◯」です。
こちらのサイトや、サイト内にある実績は、すべて自身でコーディングしたものです。
【アピールポイント】
・自身のスキルの特徴(〇〇の制作を得意としてます、など)
・クライアントとの関わり方の特徴(レスポンスが早い、お客様目線を持っている、など)
【経歴】
20〇〇年 〇〇大学卒業
20〇〇年 〇〇会社就職
20〇〇年 フリーランスとして独立
最高のコーディングをお届けし、貴社の事業拡大に貢献させていただけますと幸いです。
よろしくお願い致します。
ポイントとしては、「自己紹介」「ポートフォリオ」「アピールポイント」「経歴」の4点です。
自身のスキルレベルをしっかりと伝えながら、全力でクライアントへ貢献する意識をアピールしましょう。
まとめ
この記事では、プログラミングを独学するメリット・デメリットや具体的な勉強方法を解説しました。
繰り返しになりますが、プログラミングは独学のハードルが高く、挫折する人が多いのが現状です。そのため、少しでも不安を感じている人は、スクールの無料説明会などに参加して慎重に考えましょう。
しっかりとスキルが身につけば稼ぎ方・働き方の選択肢は無数にあるので、「プログラミングスキルを身につけて稼ぎたい」「理想の働き方を実現したい」と考えている方は、ぜひ目標へ向かって進んでくださいね。