フリーランスの収入見込みをチェック
プログラミングの独学は可能?
プログラミングの知識・スキルは、独学であってもある程度身につけられると考えられます。独学でどれくらいの知識・スキルを習得できるかは、勉強法や学習期間などによって異なるでしょう。
プログラミングの独学にかかる時間は?
独学する場合の学習時間はプログラミング言語によって異なりますが、少なくとも200時間はかかるといわれています。独学のために毎日1時間程度の時間を確保できる場合でも、プログラミング言語の習得に半年以上はかかると考えられるでしょう。
プログラミング初心者の勉強法やプログラマーの仕事に役立つプログラミング言語については、「プログラマーになるための勉強法|プログラミング初心者におすすめの学習内容」の記事をご確認ください。
プログラミングを独学する際の勉強法
プログラミングを独学する際の勉強法を押さえておくことで、「何から始めたら良いか分からない」という状況になるのを防ぎ、効率的に学習を進められます。プログラミングを独学する際の流れは、以下のとおりです。
- プログラミングで何を作りたいのか明確にする
- 独学するプログラミング言語を決める
- プログラミングの開発環境を整える
それぞれについて、どのような行動をとるべきか確認しましょう。
プログラミングで何を作りたいのか明確にする
アプリやWebサイトなど、プログラミング言語を習得して何を作りたいのかを考えましょう。プログラミング言語を学ぶ目的を明確にすることで、習得すべきプログラミング言語を絞れるほか、独学のモチベーションを維持しやすくなります。
独学するプログラミング言語を決める
プログラミングで作りたいものが決まったら、どのプログラミング言語を独学するべきか考えましょう。先述したアプリやWebサイトを開発する場合、使用するプログラミング言語・ツールとして以下の例が挙げられます。
・アプリ:Java、Swift、Kotlin
・Webサイト:JavaScript、HTML、CSS
どのプログラミング言語を習得すべきか迷う場合は、インターネット上で「アプリ プログラミング言語」などと検索し、Webサイトを参考にして決めるのも一つの方法です。
プログラミングの開発環境を整える
開発環境を整えるには、プログラミングをするためのパソコンやスマートホンを用意するほか、プログラムを作成・実行するためのソフトウェアを導入する必要があります。開発に必要となるツールはOSや使用するプログラミング言語によって異なるため、事前に調べたうえで準備を始めましょう。
プログラミングを独学する準備が整ったら、実際に学習を進めます。あらかじめ学習期間を決めておくと、目的意識を持ちやすくなるでしょう。
「Javaの勉強方法|独学で入門するための学習のコツとステップアップの流れ」の記事ではJavaの勉強法を解説しているので、ぜひ参考にしてください。
プログラミングの独学でありがちな挫折と対処法
プログラミングを独学していると、理想どおりのコードが書けなかったり、勉強内容が難しかったりして挫折しそうになることもあります。「プログラミングを独学するのはもう無理…」とならないよう、ありがちな挫折とその対処法について知っておきましょう。
- うまくコードが書けないときは模倣してみる
- モチベーションが低いときは学んだことをアウトプットしてみる
- 一人で続けるのが辛くなったら人に頼るのも手
それぞれについて、どのような対応をとるべきか解説します。
うまくコードが書けないときは模倣してみる
プログラミング言語を独学し、実際にコードを書いてみても、思いどおりに動作しないことがあります。エラーの原因が分からず挫折しそうなときは、コードの共有サイトで公開されているものを参考にコードを書いてみるのもおすすめです。
既存のコードを模倣する際は、単に書き写すのではなく、各コードの意味や処理内容などを考えてみましょう。「どのような書き方をすればエラーが起きないのか」を考えて模倣することで、知識・スキルを磨けます。
モチベーションが低いときは学んだことをアウトプットしてみる
書籍や学習サイトなどを活用した机上の勉強に疲れたときは、学習したことをアウトプットしてみるのも一つの方法です。一人で勉強を続けていると「本当に知識が身についているのか」と不安になりがちですが、実際にプログラミングをすることで、自身の成長度や足りない知識を確認できます。
今までできなかったことができるようになっていれば、達成感を得られてモチベーションアップにつながるでしょう。また、目的達成のために必要な知識が分かれば、重点的にその分野の勉強をすることで効率的にスキルアップを図れます。
一人で続けるのが辛くなったら人に頼るのも手
「書籍を読んでも理解できない」「コードを書いてもエラーが続く」といった状況で挫折しそうなときは、知り合いに頼るのも一つの選択肢です。友人に現役エンジニアがいる場合は、独学で困っていることを相談してみると良いでしょう。
知り合いに現役エンジニアがいないときは、プログラミングの勉強会やセミナーに参加して人脈を作る方法があります。インターネット上で「プログラミング 勉強会」などと検索すると勉強会やセミナーを紹介するWebサイトが出てくるので、日時や勉強内容、参加費用、講師などを確認して自分の目的に合うものに申し込んでみましょう。
プログラミングを独学できる無料の学習サイト12選
ここでは、プログラミングを独学で習得できる無料のサービス・Webサイトをご紹介します。
- ドットインストール
- Progate
- CODEPREP
- Progra!
- シラバス
- Codecademy
- Code School
- Code Studio
- CODECOMBAT
- AtCoder
- Rubyプログラミング少年団
- ミニツク
上記の学習サービス・Webサイトは、プログラミング初心者も勉強しやすいように学習内容や勉強法を工夫しています。「いつも3日坊主で終わってしまう…」という方も、学習サイトを活用することで勉強を継続しやすくなる可能性があるでしょう。
初心者から中級者のプログラマーへステップアップすれば、プログラミングを勉強するのがさらに楽しくなるはずなので、まずは脱3日坊主を目指しましょう。
ドットインストール
http://dotinstall.com/
ドットインストールは、3分間の動画でプログラミングを独学できるサービスです。HTMLやCSSといったWebサイト作成に必要なツールのほか、PHPやRuby、Java、Python、Perlといったプログラミング言語を学習できます。
ドットインストールには、ほかにもWordPressやiPhoneアプリ開発、Androidアプリ開発、UnityAmazon Web Servicesなど、さまざまなレッスンがあります。
各レッスンの動画は3分と短く、さくっと見ることができます。プログラミングに苦手意識がある方、プログラミングの学習が長続きしない方にも、プログラマーになるための勉強がしやすいでしょう。
Progate
https://prog-8.com/
「Progate」は2014年7月にスタートしたプログラミングの学習サイトで、イラスト中心のスライドでプログラミングを独学できます。
Progateで学習できるプログラミング言語(ライブラリ・フレームワーク)は、HTML・CSS、JavaScript、jQuery、Ruby、Ruby on Rails、PHPです。
Progateの無料の「ベーシックプラン」で受けられるレッスンには限りがあり、すべてのレッスンを受けるには有料の「プラスプラン」への登録が必要となります。
CODEPREP
https://codeprep.jp/ja
「CODEPREP」はオンラインでコーディングしながらプログラミング言語が勉強できるサービスです。HTMLやCSS / CSS3、JavaScript、JQuery、Ruby、PHP、Canvas、Animete.cssなどを学習できるレッスンが用意されています。
応用編では「JQueryでつくるタップ切り替え」「JavaScriptでつくる残り文字数表示」「PHPつくるカレンダー」など、目的に沿ってコーディングをしていきます。
書籍を読むだけではプログラミングのスキルを磨いたり楽しさを理解したりするのが難しいので、実際にコーディングして習得するなら「CODEPREP」で独学するのが良いでしょう。
Progra!
https://progra.org/
簡単な穴埋め問題でプログラミング言語を独学できるサービスです。TwitterやFacebook、Googleのアカウントがあればすぐに勉強を始められます。
学習できるプログラミング言語は、PHPとRuby、Python、VBAの4つです。
「スタンプ」を使った学習管理システムを採用していて、プログラミングの勉強の進捗状況や苦手な部分を把握しやすいのが特徴です。
シラバス
https://cyllabus.jp/
インターネット関連企業の株式会社ダラフが運営しているWebサイトです。運営会社が用意している学習コンテンツのほかに、ユーザーが作成・登録した教材を使って独学することもできます。学習サイトの会員であれば、自分でコースを作って教材化することが可能です。
「WEBアプリ編」では、パインシステムズ株式会社という架空の会社にプログラマーとして転職したという設定で、「RoRのミニアプリの開発」からスタートしてアプリ開発の知識・技術を身につけていきます。
「転職」という設定で学習を進めていくサイトは珍しく、転職のためにプログラミングの知識・スキルを身につけたい方は感情移入しやすいでしょう。
Codecademy
https://www.codecademy.com/
海外の学習サイトで、HTML・CSSやJavaScript、PHP、Python、Rubyなどを独学できます。
JavaやjQuery、Ruby on Rails、SQLも学習でき、「Make a Website(ウェブサイトをつくる」といった実践的なレッスンもあります。
英語表示なので、英語が苦手な方はハードルが高いと感じる場合もあるでしょう。プログラミングができるだけでなく、海外の英語の技術資料も読めるプログラマーになりたい方向けの学習サイトです。
Code School
https://www.codeschool.com/
動画を見ながらプログラミングを独学できるWebサービスです。コースはHTML・CSS、JavaScript、Ruby、Python、iOS、Git、Database、Electiveの8つのジャンルに分かれています。
海外の学習サイトで日本語には対応していませんが、動画で学習できるという点では先述したCodeacademyよりも独学しやすいと考えられます。
Code Studio
https://studio.code.org/
プログラミングを全米の教育カリキュラムに組み込むことを目的とする非営利団体「Code.org」が運営している、無料のプログラミング学習サイトです。
幼稚園年長から高校生を対象としたコースが用意されていて、ゲームやアプリをつくりながら楽しくプログラミングを独学できるようになっています。
「スターウォーズ」や「アナと雪の女王」といった人気の映画をモチーフにしたゲームもあるので、プログラミングの学習が続かず挫折しそうな方は、ゲームで遊ぶ感覚でチャレンジしてみると良いでしょう。
CODECOMBAT
https://codecombat.com/
「CODECOMBAT」は、RPGゲームで遊びながらJavaScriptを独学できる学習サービスです。キャラクターの進む方向などゲームを進行させるための指示が出て、JavaScriptを入力してゲームを進めていきます。
オートコンプリート機能でコード補完をしてくれるので、プログラムの命令文などを丸暗記している必要はありません。
AtCoder
http://atcoder.jp/
「AtCoder」は、定期的に初心者・中級者向けのプログラミングコンテストを開催しているWebサイトです。過去問を公開しており、初級者・中級者のプログラミング学習に活用できます。
目標がないとプログラミングの独学が捗らないという方は、コンテストへの参加を目標に勉強してみるのも一つの方法です。
Rubyプログラミング少年団
http://smalruby.jp/
Rubyプログラミング少年団は島根県松江市で活動する団体で、 青少年向けのプログラミング教材の開発、ワークショップの運営などを行っています。
Rubyプログラミング少年団の公式サイトでは、小学生でもRubyを使ってプログラミングができるように開発された「Smalruby & Smalrubot」が無料で公開されています。独学でRubyの基礎知識を身につけたい方は、活用を検討してみると良いでしょう。
ミニツク
http://www.minituku.net/
Ruby専門のプログラミング学習サイトで、「Ruby入門コース」「Ruby演習コース」「Ruby on Rails入門コース」などが無料で公開されています。
「Ruby技術者認定試験(Silver)対策コース」もあり、Rubyを独学する方だけでなく、資格取得を目指している方にも役立つ学習サイトです。
未経験からプログラマーを目指す際の成功のコツについては、「未経験からプログラマーに転職する方法|年収や勉強しておきたいおすすめの言語も紹介」の記事をご確認ください。
※本記事は2022年5月時点の情報を基に執筆しております。
最後に
簡単4ステップ!スキルや経験年数をポチポチ選ぶだけで、あなたのフリーランスとしての単価相場を算出します!
※相場算出に個人情報の取得はおこないません。